Files
parr_api/PARR.DAL/Services/Implementations/OrderStatusService.cs

47 lines
1.6 KiB
C#
Raw Normal View History

using Microsoft.Extensions.Logging;
using PARR.Constants;
using PARR.DAL.Context;
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<OrderStatusService> logger;
public OrderStatusService(DataContext dataContext, ILogger<OrderStatusService> logger)
{
this.dataContext = dataContext;
this.logger = logger;
}
public IQueryable<OrderStatus> Get()
{
return dataContext.OrderStatuses;
}
public OrderStatusEnum GetOrderStatusByName(string statusName)
{
switch (statusName.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;
}
}
}
}