Fix aggiunta nuova persona di riferimento

This commit is contained in:
2025-08-06 16:00:37 +02:00
parent c93b0c9bec
commit b561405ddc
4 changed files with 69 additions and 9 deletions

View File

@@ -112,6 +112,9 @@
[CascadingParameter] private IMudDialogInstance MudDialog { get; set; }
[Parameter] public PersRifDTO? OriginalModel { get; set; }
[Parameter] public ContactDTO? ContactModel { get; set; }
[Parameter] public List<PersRifDTO>? PersRifList { get; set; }
private PersRifDTO PersRifModel { get; set; } = new();
private bool IsNew => OriginalModel is null;
@@ -137,6 +140,42 @@
VisibleOverlay = true;
StateHasChanged();
if (ContactModel != null && PersRifList != null)
{
PersRifList.Add(PersRifModel);
var requestDto = new CRMCreateContactRequestDTO
{
TipoAnag = ContactModel.IsContact ? "C" : "P",
Cliente = ContactModel,
PersRif = PersRifList,
CodVage = ContactModel.CodVage,
CodAnag = ContactModel.CodContact
};
var response = await IntegryApiService.SaveContact(requestDto);
switch (response)
{
case null:
VisibleOverlay = false;
StateHasChanged();
return;
case {AnagClie: null, PtbPros: not null}:
await ManageData.InsertOrUpdate(response.PtbPros);
await ManageData.InsertOrUpdate(response.PtbProsRif);
break;
case { AnagClie: not null, PtbPros: null }:
await ManageData.InsertOrUpdate(response.AnagClie);
await ManageData.InsertOrUpdate(response.VtbCliePersRif);
break;
default:
VisibleOverlay = false;
StateHasChanged();
return;
}
}
SuccessAnimation = true;
StateHasChanged();