using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using PARR.DAL.Services.Interfaces; namespace PARR.TemplateDistributor.Services { internal class ValidatorService : IValidatorService { private readonly IServiceProvider serviceProvider; private readonly ILogger logger; public ValidatorService(IServiceProvider serviceProvider, ILogger logger ) { this.serviceProvider = serviceProvider; this.logger = logger; } public async Task IsValidApplicationAndWorksAsync(Guid applicationInWorkId) { using (var scope = serviceProvider.CreateScope()) { //TODO Migratin to Job //var service = scope.ServiceProvider.GetService(); //if (service == null) // throw new Exception($"Не найден сервис: {nameof(IApplicationsInWorkService)}"); //var appInWork = await service.Get()//TODO Migratin to Job // //.Include(aiw => aiw.EsppSchValues) // .FirstOrDefaultAsync(t => t.Id == applicationInWorkId); //if (appInWork == null) //{ // logger.LogError($"Не найдена регалментная работа {nameof(applicationInWorkId)}: {applicationInWorkId}"); // return false; //} //if (appInWork.IsAutoDistributionEnabled && appInWork.EsppSchValues.Count !=1) //{ // logger.LogError($"Регалментная работа {nameof(applicationInWorkId)}: {applicationInWorkId} должна иметь только одно значение EsppSchTypeValue" + // $", соответствующее режиму равномерного распределения по периоду"); // return false; //} return true; } } } }