feat(esppOrderManager): логика изменения статусов наряда. Добавлен проект с константами, вынес в него OrderStatusEnum. (EsppApi)Обновлена модель EsppOrder, при изменении статуса наряда, добавлено поле Решение.
This commit is contained in:
@@ -18,21 +18,27 @@ namespace PARR.EsppApi
|
||||
this.esppHttpService = esppHttpService;
|
||||
}
|
||||
|
||||
public Task<EsppResultBase<EsppResponse>> SetStatusInWorkAsync(string recordId)//TODO упростить можно без RecordIdQuery
|
||||
public Task<EsppResultBase<EsppResponse>> SetStatusInWorkAsync(string recordId, string resultMsg)//TODO упростить можно без RecordIdQuery
|
||||
{
|
||||
return SetStatusAsync(recordId, "2-В работе");
|
||||
return SetStatusAsync(recordId, "2-В работе", resultMsg);
|
||||
}
|
||||
|
||||
public Task<EsppResultBase<EsppResponse>> SetStatusIsDone(string recordId)//TODO упростить можно без RecordIdQuery
|
||||
public Task<EsppResultBase<EsppResponse>> SetStatusIsDoneAsync(string recordId, string resultMsg)//TODO упростить можно без RecordIdQuery
|
||||
{
|
||||
|
||||
return SetStatusAsync(recordId, "4-Выполнен");
|
||||
return SetStatusAsync(recordId, "4-Выполнен", resultMsg);
|
||||
}
|
||||
|
||||
private async Task<EsppResultBase<EsppResponse>> SetStatusAsync(string recordId, string newStatusStr)
|
||||
private async Task<EsppResultBase<EsppResponse>> SetStatusAsync(string recordId, string newStatusStr, string resultMsg)
|
||||
{
|
||||
//TODO assignee сразу назначаем принудительно, чтобы было понятно кто менял объект
|
||||
var result = await esppHttpService.SendAsync<EsppResponse>($"<ROOT operation=\"SaveTask\" returnFormat=\"json\">{{\"recordid\":\"{recordId}\",\"status\":\"{newStatusStr}\", \"assignee\":\"{esppOrderSettings.AccountName}\"}}</ROOT>");
|
||||
var query = $"<ROOT operation=\"SaveTask\" returnFormat=\"json\">{{" +
|
||||
$"\"recordid\":\"{recordId}\"," +
|
||||
$"\"status\":\"{newStatusStr}\"," +
|
||||
$"\"assignee\":\"{esppOrderSettings.AccountName}\"" +
|
||||
$"\"resolution\":\"{resultMsg}\"," +
|
||||
$"}}</ROOT>";
|
||||
|
||||
var result = await esppHttpService.SendAsync<EsppResponse>(query);
|
||||
|
||||
if (result.Data != null && result.Data.ErrorCode != "0")
|
||||
return new EsppResultBase<EsppResponse>(null, false, new Exception(result.Data.Message));
|
||||
@@ -79,7 +85,7 @@ namespace PARR.EsppApi
|
||||
|
||||
}
|
||||
|
||||
public async Task<EsppResultBase<EsppResponse>> AddMTnk(AddMtnkQuery mtnk)
|
||||
public async Task<EsppResultBase<EsppResponse>> AddMTnkAsync(AddMtnkQuery mtnk)
|
||||
{
|
||||
var result = await esppHttpService.SendAsync<EsppResponse>(
|
||||
$"<ROOT operation=\"AddMTNK\" returnFormat=\"json\">{{\"recordid\":\"{mtnk.RecordId}\"," +
|
||||
|
||||
Reference in New Issue
Block a user