generated from Integry/Template_NetMauiBlazorHybrid
111 lines
3.7 KiB
C#
111 lines
3.7 KiB
C#
using System.Xml;
|
|
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;
|
|
|
|
namespace salesbook.Shared.Core.Services;
|
|
|
|
public class IntegryApiService(IIntegryApiRestClient integryApiRestClient, IUserSession userSession)
|
|
: IIntegryApiService
|
|
{
|
|
public Task<List<StbActivity>?> RetrieveActivity(string? dateFilter)
|
|
{
|
|
var queryParams = new Dictionary<string, object> { { "dateFilter", dateFilter ?? "2020-01-01" } };
|
|
|
|
return integryApiRestClient.AuthorizedGet<List<StbActivity>?>("crm/retrieveActivity", queryParams);
|
|
}
|
|
|
|
public Task<List<JtbComt>?> RetrieveAllCommesse(string? dateFilter)
|
|
{
|
|
var queryParams = new Dictionary<string, object>();
|
|
|
|
if (dateFilter != null)
|
|
{
|
|
queryParams.Add("dateFilter", dateFilter);
|
|
}
|
|
|
|
return integryApiRestClient.AuthorizedGet<List<JtbComt>?>("crm/retrieveCommesse", queryParams);
|
|
}
|
|
|
|
public Task<TaskSyncResponseDTO> RetrieveAnagClie(string? dateFilter)
|
|
{
|
|
var queryParams = new Dictionary<string, object>();
|
|
|
|
if (dateFilter != null)
|
|
{
|
|
queryParams.Add("dateFilter", dateFilter);
|
|
}
|
|
|
|
return integryApiRestClient.AuthorizedGet<TaskSyncResponseDTO>("crm/retrieveClienti", queryParams)!;
|
|
}
|
|
|
|
public Task<TaskSyncResponseDTO> RetrieveProspect(string? dateFilter)
|
|
{
|
|
var queryParams = new Dictionary<string, object>();
|
|
|
|
if (dateFilter != null)
|
|
{
|
|
queryParams.Add("dateFilter", dateFilter);
|
|
}
|
|
|
|
return integryApiRestClient.AuthorizedGet<TaskSyncResponseDTO>("crm/retrieveProspect", queryParams)!;
|
|
}
|
|
|
|
public Task<SettingsResponseDTO> RetrieveSettings() =>
|
|
integryApiRestClient.AuthorizedGet<SettingsResponseDTO>("crm/retrieveSettings")!;
|
|
|
|
public Task DeleteActivity(string activityId)
|
|
{
|
|
var queryParams = new Dictionary<string, object>
|
|
{
|
|
{ "activityId", activityId }
|
|
};
|
|
|
|
return integryApiRestClient.AuthorizedGet<object>($"activity/delete", queryParams);
|
|
}
|
|
|
|
public Task<List<StbActivity>?> SaveActivity(ActivityDTO activity) =>
|
|
integryApiRestClient.AuthorizedPost<List<StbActivity>?>("crm/saveActivity", activity);
|
|
|
|
public Task SaveContact(CRMCreateContactRequestDTO request) =>
|
|
integryApiRestClient.AuthorizedPost<object>("crm/createContact", request);
|
|
|
|
public Task<CheckVatResponseDTO> CheckVat(CheckVatRequestDTO request) =>
|
|
integryApiRestClient.Post<CheckVatResponseDTO>("checkPartitaIva", request)!;
|
|
|
|
public Task<List<IndirizzoDTO>?> Geocode(string address)
|
|
{
|
|
var queryParams = new Dictionary<string, object>
|
|
{
|
|
{"address", address},
|
|
{"retrieveAll", true}
|
|
};
|
|
|
|
return integryApiRestClient.Get<List<IndirizzoDTO>>("geocode", queryParams);
|
|
}
|
|
|
|
public Task<List<AutoCompleteAddressDTO>?> AutoCompleteAddress(string address, string language, string uuid)
|
|
{
|
|
var queryParams = new Dictionary<string, object>
|
|
{
|
|
{"address", address},
|
|
{"language", language},
|
|
{"uuid", uuid}
|
|
};
|
|
|
|
return integryApiRestClient.Get<List<AutoCompleteAddressDTO>>("google/places/autoCompleteAddress", queryParams);
|
|
}
|
|
|
|
public Task<IndirizzoDTO?> PlaceDetails(string placeId, string uuid)
|
|
{
|
|
var queryParams = new Dictionary<string, object>
|
|
{
|
|
{ "placeId", placeId },
|
|
{ "uuid", uuid }
|
|
};
|
|
|
|
return integryApiRestClient.Get<IndirizzoDTO>("google/places/placeDetails", queryParams);
|
|
}
|
|
} |