Files
FA_WEB/OrdersManagement/Services/EdiCustomerOrderService.cs

42 lines
1.6 KiB
C#

using OrdersManagement.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(Guid customerOrderNumber)
{
return await httpClient.GetFromJsonAsync<EdiCustomerOrderDto>(
$"api/EdiCustomerOrders/by-order-number/?customerOrderNumber={customerOrderNumber}");
}
public async Task<ResponseDto> SendOrderToSyteline(Guid customerOrderNumber, string orderNumber)
{
HttpResponseMessage responseMessage = await httpClient.PostAsync(
$"api/EdiCustomerOrders/send-to-syteline?customerOrderNumber={customerOrderNumber}", null);
if (responseMessage.IsSuccessStatusCode)
{
return new ResponseDto(1, orderNumber, null, null);
}
string? errorMessage = null;
IEnumerable<ErrorLogDto>? logs = await httpClient.GetFromJsonAsync<IEnumerable<ErrorLogDto>>(
$"api/ErrorLog/by-order-number/?customerOrderNumber={customerOrderNumber}");
if (logs != null)
{
errorMessage = string.Join("\r\n", logs.Select(x => x.ErrMsg));
}
return new ResponseDto(0, orderNumber, errorMessage, null);
}
}
}