using Hcs.Broker;
using Hcs.WebApp.Data.Hcs;

namespace Hcs.WebApp.BackgroundServices.DataParsers
{
    public class DataParserFactory
    {
        public IDataParser CreateDataParser(IServiceScope scope, Operation operation)
        {
            return operation.Type switch
            {
                Operation.OperationType.ParseHousesData_15_7_0_1 => new HousesDataParser_15_7_0_1(scope, operation),

                Operation.OperationType.NsiCommon_ExportNsiItem_15_7_0_1 or
                Operation.OperationType.Nsi_ExportNsiItem_15_7_0_1 => throw new ArgumentException($"Нельзя использовать операцию с типом {operation.Type} для парсинга")
            };
        }
    }
}
