feat(esppOrderManager): логика изменения статусов наряда. Добавлен проект с константами, вынес в него OrderStatusEnum. (EsppApi)Обновлена модель EsppOrder, при изменении статуса наряда, добавлено поле Решение.

This commit is contained in:
Mikhail Trubnikov
2023-11-20 12:26:33 +10:00
parent 1c02f9978a
commit 113a801060
17 changed files with 256 additions and 48 deletions

View File

@@ -1,4 +1,5 @@
using PARR.EsppApi.Settings;
using PARR.Constants;
using PARR.EsppApi.Settings;
using System.Globalization;
using System.Text.Json.Serialization;
@@ -15,6 +16,9 @@ namespace PARR.EsppApi.Models
[JsonPropertyName("assignment")]
public string? WorkGroup { get; set; }
/// <summary>
/// Статус наряда в формате строки
/// </summary>
[JsonPropertyName("status")]
public string Status { get; set; } = string.Empty;
@@ -37,6 +41,32 @@ namespace PARR.EsppApi.Models
return new DateTimeOffset(utc, new TimeSpan(0));
}
}
/// <summary>
/// Статус наряда в формате OrderStatusEnum
/// </summary>
public OrderStatusEnum StatusEnum
{
get
{
switch (Status.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;
}
}
}
}
}