feat(esppApi): код закрытия вынес в параметры метода

This commit is contained in:
Mikhail Trubnikov
2023-11-28 15:33:59 +10:00
parent 00e034edf5
commit 8192cbd373
6 changed files with 60 additions and 9 deletions

View File

@@ -0,0 +1,25 @@
namespace PARR.EsppApi.Constants
{
/// <summary>
/// Код закрытия наряда
/// </summary>
public enum EsppOrderClosingCodeEnum
{
/// <summary>
/// Выполнен
/// </summary>
Complete,
/// <summary>
/// Прекращен
/// </summary>
Breake,
/// <summary>
/// Выполнен при помощи средств автоматизации
/// </summary>
Auto
}
}

View File

@@ -30,13 +30,13 @@ namespace PARR.EsppApi
}
public Task<EsppResultBase<EsppResponse>> SetStatusIsDoneAsync(string recordId, string resultMsg)//TODO упростить можно без RecordIdQuery
public Task<EsppResultBase<EsppResponse>> SetStatusIsDoneAsync(string recordId, string resultMsg, EsppOrderClosingCodeEnum closingCode)//TODO упростить можно без RecordIdQuery
{
return SetStatusAsync(recordId, "4-Выполнен", resultMsg);
return SetStatusAsync(recordId, "4-Выполнен", resultMsg, closingCode);
}
private async Task<EsppResultBase<EsppResponse>> SetStatusAsync(string recordId, string newStatusStr, string resultMsg)
private async Task<EsppResultBase<EsppResponse>> SetStatusAsync(string recordId, string newStatusStr, string resultMsg, EsppOrderClosingCodeEnum? closingCode = null)
{
//TODO assignee сразу назначаем принудительно, чтобы было понятно кто менял объект
//var query = $"<ROOT operation=\"SaveTask\" returnFormat=\"json\">{{" +
@@ -48,7 +48,7 @@ namespace PARR.EsppApi
//var result = await esppHttpService.SendAsync<EsppResponse>(QuerySanitize(query));
var request = new SetStatusRequest
var request = new SetStatusRequest(closingCode ?? EsppOrderClosingCodeEnum.Complete)
{
recordid = recordId,
status = newStatusStr,

View File

@@ -1,4 +1,5 @@
using PARR.EsppApi.Models;
using PARR.EsppApi.Constants;
using PARR.EsppApi.Models;
using PARR.EsppApi.Models.Query;
namespace PARR.EsppApi
@@ -27,7 +28,7 @@ namespace PARR.EsppApi
/// Установить статус наряда как выполнен
/// </summary>
/// <returns></returns>
Task<EsppResultBase<EsppResponse>> SetStatusIsDoneAsync(string recordId, string resultMsg);
Task<EsppResultBase<EsppResponse>> SetStatusIsDoneAsync(string recordId, string resultMsg, EsppOrderClosingCodeEnum closingCode);
/// <summary>
/// Списание трудозатрат по модульным ТНК

View File

@@ -1,10 +1,31 @@
namespace PARR.EsppApi.Requests
using PARR.EsppApi.Constants;
namespace PARR.EsppApi.Requests
{
/// <summary>
/// Изменить статус наряда
/// </summary>
internal class SetStatusRequest
{
public SetStatusRequest(EsppOrderClosingCodeEnum closingCode)
{
switch (closingCode)
{
case EsppOrderClosingCodeEnum.Complete:
resolutionCode = "выполнен";
break;
case EsppOrderClosingCodeEnum.Breake:
resolutionCode = "прекращен";
break;
case EsppOrderClosingCodeEnum.Auto:
resolutionCode = "выполнен при помощи средств автоматизации";
break;
default:
resolutionCode = "выполнен";
break;
}
}
public required string recordid { get; set; }
public required string status { get; set; }
@@ -12,5 +33,7 @@
public required string assignee { get; set; }
public required string resolution { get; set; }
public string resolutionCode { get; private set; }
}
}