using Microsoft.Extensions.Logging; using PARR.DAL.Context; using PARR.DAL.Contracts; using PARR.DAL.Models; using PARR.DAL.Services.Interfaces; namespace PARR.DAL.Services.Implementations { internal class OrderStatusService : IOrderStatusService { private readonly DataContext dataContext; private readonly ILogger logger; public OrderStatusService(DataContext dataContext, ILogger logger) { this.dataContext = dataContext; this.logger = logger; } public IQueryable Get() { return dataContext.OrderStatuses; } public OrderStatusEnum GetOrderStatusByName(string statusName) { switch (statusName.ToLower().Trim()) { case "1-Направлен в группу": return OrderStatusEnum.New; case "2-В работе": return OrderStatusEnum.InWork; case "3-Приостановлен": return OrderStatusEnum.Stop; case "4-Выполнен": return OrderStatusEnum.Complete; case "5-Закрыт": return OrderStatusEnum.Closed; default: logger.LogWarning($"Не смог распознать статус наряда, вернул значение по умполчанию: {OrderStatusEnum.New.ToString()}, входящее значение: {statusName}"); return OrderStatusEnum.New; } } } }