2023-10-24 10:38:21 +10:00
using Microsoft.Extensions.Logging ;
2023-11-20 12:26:33 +10:00
using PARR.Constants ;
2023-10-24 10:38:21 +10:00
using PARR.DAL.Context ;
2023-10-23 16:17:42 +10:00
using PARR.DAL.Models ;
using PARR.DAL.Services.Interfaces ;
namespace PARR.DAL.Services.Implementations
{
internal class OrderStatusService : IOrderStatusService
{
private readonly DataContext dataContext ;
2023-10-24 10:38:21 +10:00
private readonly ILogger < OrderStatusService > logger ;
2023-10-23 16:17:42 +10:00
2023-10-24 10:38:21 +10:00
public OrderStatusService ( DataContext dataContext , ILogger < OrderStatusService > logger )
2023-10-23 16:17:42 +10:00
{
this . dataContext = dataContext ;
2023-10-24 10:38:21 +10:00
this . logger = logger ;
2023-10-23 16:17:42 +10:00
}
public IQueryable < OrderStatus > Get ( )
{
return dataContext . OrderStatuses ;
}
2023-10-24 10:38:21 +10:00
public OrderStatusEnum GetOrderStatusByName ( string statusName )
{
2023-10-25 14:01:41 +10:00
switch ( statusName . Trim ( ) )
2023-10-24 10:38:21 +10:00
{
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 ;
}
}
2023-10-23 16:17:42 +10:00
}
}