Files
FA_WEB/OrdersManagement/Services/EdiCustomerOrderService.cs

42 lines
1.7 KiB
C#

using FaKrosnoApi.Dtos;
using SytelineSaAppEfDataModel.Dtos;
namespace OrdersManagement.Services
{
public class EdiCustomerOrderService(HttpClient httpClient)
{
public async Task<IEnumerable<EdiCustomerOrderDto>?> GetEdiCustomerOrdersAsync()
{
return await httpClient.GetFromJsonAsync<IEnumerable<EdiCustomerOrderDto>>("api/EdiCustomerOrders");
}
public async Task<EdiCustomerOrderDto?> GetEdiCustomerOrderAsync(string customerOrderNumber)
{
return await httpClient.GetFromJsonAsync<EdiCustomerOrderDto>(
$"api/EdiCustomerOrders/by-order-number/?customerOrderNumber={Uri.EscapeDataString(customerOrderNumber)}");
}
public async Task<ResponseDto> SendOrderToSyteline(string customerOrderNumber)
{
HttpResponseMessage responseMessage = await httpClient.PostAsync(
$"api/EdiCustomerOrders/send-to-syteline?customerOrderNumber={Uri.EscapeDataString(customerOrderNumber)}", null);
if (responseMessage.IsSuccessStatusCode)
{
return new ResponseDto(1, customerOrderNumber, null, null);
}
string? errorMessage = null;
IEnumerable<ErrorLogDto>? logs = await httpClient.GetFromJsonAsync<IEnumerable<ErrorLogDto>>(
$"api/ErrorLog/by-order-number/?customerOrderNumber={Uri.EscapeDataString(customerOrderNumber)}");
if (logs != null)
{
errorMessage = string.Join("\r\n", logs.Select(x => x.ErrMsg));
}
return new ResponseDto(0, customerOrderNumber, errorMessage, null);
}
}
}