generated from Integry/Template_NetMauiBlazorHybrid
103 lines
3.6 KiB
C#
103 lines
3.6 KiB
C#
using System.Text;
|
|
using System.Text.Json;
|
|
using ConSegna.Shared.Core.Dto;
|
|
using ConSegna.Shared.Core.Helpers;
|
|
using ConSegna.Shared.Core.Interfaces;
|
|
using IntegryApiClient.Core.Domain.Abstraction.Contracts.Account;
|
|
using IntegryApiClient.Core.Domain.RestClient.Contacts;
|
|
|
|
namespace ConSegna.Shared.Core.Services;
|
|
|
|
public class IntegryApiService(
|
|
IIntegryApiRestClient integryApiRestClient,
|
|
IUserSession userSession,
|
|
IGenericSystemService systemService
|
|
) : IIntegryApiService
|
|
{
|
|
public Task<List<DatiClientiDTO>> GetDatiConsegne()
|
|
{
|
|
var requestDataDto = new RequestDataDTO
|
|
{
|
|
Username = userSession.User.Username,
|
|
DataDoc = systemService.DataApp
|
|
};
|
|
|
|
return integryApiRestClient.AuthorizedPost<List<DatiClientiDTO>>("consegna/getDatiConsegne", requestDataDto)!;
|
|
}
|
|
|
|
public Task<FilesAttachedDTO> GetCertificate() =>
|
|
integryApiRestClient.AuthorizedGet<FilesAttachedDTO>("consegna/getCertificato")!;
|
|
|
|
public Task<Stream> DownloadCertificate(FilesAttachedDTO file) =>
|
|
integryApiRestClient.Download($"downloadStbFileAttachment/{file.IdAttach}/{file.FileName}")!;
|
|
|
|
public Task<Stream> DownloadReport(JasperDTO jasperDto)
|
|
{
|
|
var dto = Convert.ToBase64String(Encoding.UTF8.GetBytes(JsonSerializer.Serialize(jasperDto)));
|
|
var queryParams = new Dictionary<string, object> { { "dto", dto } };
|
|
|
|
return integryApiRestClient.Download("processReportDownload", queryParams)!;
|
|
}
|
|
|
|
public Task SyncSospesi(List<SospesiClienteDTO> sospesi)
|
|
{
|
|
var body = sospesi.Where(x => x.Pagato).ToList();
|
|
|
|
var queryParams = new Dictionary<string, object>
|
|
{
|
|
{ "username", userSession.User.Username }
|
|
};
|
|
|
|
return integryApiRestClient.AuthorizedPost<object>("consegna/syncSospesi", body, queryParams!);
|
|
}
|
|
|
|
public Task SyncDocument(DatiConsegneDTO bolla)
|
|
{
|
|
var queryParams = new Dictionary<string, object>
|
|
{
|
|
{ "username", userSession.User.Username }
|
|
};
|
|
|
|
return integryApiRestClient.AuthorizedPost<object>("consegna/syncDocumenti", bolla, queryParams!);
|
|
}
|
|
|
|
public async Task Upload(FileStream file, DatiConsegneDTO consegna)
|
|
{
|
|
var queryParams = new Dictionary<string, object>
|
|
{
|
|
{ "dataDoc", consegna.DataDoc.ToString("d") },
|
|
{ "serDoc", consegna.SerDoc },
|
|
{ "numDoc", consegna.NumDoc },
|
|
{ "codAnag", consegna.CodAnag },
|
|
{ "codDtip", consegna.CodDtip }
|
|
};
|
|
|
|
var multipart = new MultipartFormDataContent();
|
|
multipart.Add(new StreamContent(file), "files", $"SIGNED_{consegna.FileName}");
|
|
|
|
await integryApiRestClient.AuthorizedPost<object>("uploadDtbDocPdfFileContent", multipart, queryParams!);
|
|
await integryApiRestClient.AuthorizedPost<object>("consegna/notifyUser", consegna);
|
|
}
|
|
|
|
public Task<List<string>> GetAvailablePrinters(string? codMdep, string? printerType)
|
|
{
|
|
var queryParams = new Dictionary<string, object>
|
|
{
|
|
{ "codMdep", codMdep },
|
|
{ "printerType", printerType }
|
|
};
|
|
|
|
return integryApiRestClient.AuthorizedPost<List<string>>("getAvailablePrinters", null, queryParams!)!;
|
|
}
|
|
|
|
public Task PrintReport(JasperDTO jasperDto, string printerName, int numberOfCopies)
|
|
{
|
|
var queryParams = new Dictionary<string, object>
|
|
{
|
|
{ "printerName", printerName },
|
|
{ "numberOfCopies", numberOfCopies }
|
|
};
|
|
|
|
return integryApiRestClient.AuthorizedPost<object>("processPrintReport", jasperDto, queryParams!);
|
|
}
|
|
} |