Compare commits
2 Commits
569005ec94
...
bfff69fb47
| Author | SHA1 | Date | |
|---|---|---|---|
| bfff69fb47 | |||
| 49f5a259a0 |
@ -269,8 +269,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExportarExcel()
|
private async Task ExportarExcel()
|
||||||
{
|
{
|
||||||
toastService.ShowInfo("La exportación a Excel se implementará en una próxima story.");
|
Filters.Page = 1;
|
||||||
|
Filters.PageSize = int.MaxValue; // Exportar todos los resultados
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await deliveryNoteService.ExportFilteredAsync(Filters);
|
||||||
|
toastService.ShowSuccess("Exportación completada.");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
toastService.ShowError($"Error: {ex.Message}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,8 @@ using Domain.Dtos.Sales;
|
|||||||
using Domain.Generics;
|
using Domain.Generics;
|
||||||
using Microsoft.JSInterop;
|
using Microsoft.JSInterop;
|
||||||
using System.Net.Http.Json;
|
using System.Net.Http.Json;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.Json;
|
||||||
|
|
||||||
namespace phronCare.UIBlazor.Services.Sales.DeliveryNotes
|
namespace phronCare.UIBlazor.Services.Sales.DeliveryNotes
|
||||||
{
|
{
|
||||||
@ -121,5 +123,25 @@ namespace phronCare.UIBlazor.Services.Sales.DeliveryNotes
|
|||||||
throw new Exception($"ExportPdfAsync: {ex.Message}", ex);
|
throw new Exception($"ExportPdfAsync: {ex.Message}", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task ExportFilteredAsync(DeliveryNoteSearchParams searchParams)
|
||||||
|
{
|
||||||
|
var content = new StringContent(JsonSerializer.Serialize(searchParams), Encoding.UTF8, "application/json");
|
||||||
|
var response = await _http.PostAsync("/api/deliverynote/exportfiltered", content);
|
||||||
|
|
||||||
|
if (!response.IsSuccessStatusCode)
|
||||||
|
{
|
||||||
|
var serverMessage = await response.Content.ReadAsStringAsync();
|
||||||
|
throw new Exception(string.IsNullOrWhiteSpace(serverMessage)
|
||||||
|
? "No se pudo exportar el Excel de remitos."
|
||||||
|
: serverMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
var bytes = await response.Content.ReadAsByteArrayAsync();
|
||||||
|
var base64 = Convert.ToBase64String(bytes);
|
||||||
|
var fileName = $"{DateTime.Now:yyyyMMddHHmm}_deliverynotes.xlsx";
|
||||||
|
|
||||||
|
await _js.InvokeVoidAsync("saveAsFile", fileName, base64);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,5 +11,6 @@ namespace phronCare.UIBlazor.Services.Sales.DeliveryNotes
|
|||||||
Task<IEnumerable<DeliveryNoteDto>> GetByQuoteIdAsync(int quoteId);
|
Task<IEnumerable<DeliveryNoteDto>> GetByQuoteIdAsync(int quoteId);
|
||||||
Task<DeliveryNoteCreateResponse> CreateAndIssueAsync(DeliveryNoteCreateRequest request);
|
Task<DeliveryNoteCreateResponse> CreateAndIssueAsync(DeliveryNoteCreateRequest request);
|
||||||
Task ExportPdfAsync(int deliveryNoteId, string deliveryNoteNumber);
|
Task ExportPdfAsync(int deliveryNoteId, string deliveryNoteNumber);
|
||||||
|
Task ExportFilteredAsync(DeliveryNoteSearchParams searchParams);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user