42 lines
1.6 KiB
C#
42 lines
1.6 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);
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|