Implementata gestione allegati

This commit is contained in:
2025-07-30 18:27:24 +02:00
parent 8ebc6e3b8f
commit 068723f31f
16 changed files with 422 additions and 53 deletions

View File

@@ -1,9 +1,10 @@
using System.Xml;
using IntegryApiClient.Core.Domain.Abstraction.Contracts.Account;
using IntegryApiClient.Core.Domain.Abstraction.Contracts.Account;
using IntegryApiClient.Core.Domain.RestClient.Contacts;
using salesbook.Shared.Core.Dto;
using salesbook.Shared.Core.Entity;
using salesbook.Shared.Core.Interface;
using System.Net.Http.Headers;
using System.Reflection.Metadata.Ecma335;
namespace salesbook.Shared.Core.Services;
@@ -79,8 +80,8 @@ public class IntegryApiService(IIntegryApiRestClient integryApiRestClient, IUser
{
var queryParams = new Dictionary<string, object>
{
{"address", address},
{"retrieveAll", true}
{ "address", address },
{ "retrieveAll", true }
};
return integryApiRestClient.Get<List<IndirizzoDTO>>("geocode", queryParams);
@@ -90,9 +91,9 @@ public class IntegryApiService(IIntegryApiRestClient integryApiRestClient, IUser
{
var queryParams = new Dictionary<string, object>
{
{"address", address},
{"language", language},
{"uuid", uuid}
{ "address", address },
{ "language", language },
{ "uuid", uuid }
};
return integryApiRestClient.Get<List<AutoCompleteAddressDTO>>("google/places/autoCompleteAddress", queryParams);
@@ -108,4 +109,26 @@ public class IntegryApiService(IIntegryApiRestClient integryApiRestClient, IUser
return integryApiRestClient.Get<IndirizzoDTO>("google/places/placeDetails", queryParams);
}
public Task UploadFile(string activityId, byte[] file, string fileName)
{
var queryParams = new Dictionary<string, object> { { "activityId", activityId } };
using var content = new MultipartFormDataContent();
var fileContent = new ByteArrayContent(file);
fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data");
content.Add(fileContent, "files", fileName);
return integryApiRestClient.Post<object>($"uploadStbActivityFileAttachment", content, queryParams);
}
public Task<PositionDTO> SavePosition(PositionDTO position) =>
integryApiRestClient.Post<PositionDTO>("savePosition", position)!;
public Task<PositionDTO> RetrievePosition(string id)
{
var queryParams = new Dictionary<string, object> { { "id", id } };
return integryApiRestClient.Get<PositionDTO>("retrievePosition", queryParams)!;
}
}