Fix aggiunta nuova persona di riferimento
This commit is contained in:
@@ -156,19 +156,15 @@ else
|
||||
{
|
||||
var clie = (await ManageData.GetTable<AnagClie>(x => x.CodAnag.Equals(CodContact))).Last();
|
||||
Anag = Mapper.Map<ContactDTO>(clie);
|
||||
|
||||
var pers = await ManageData.GetTable<VtbCliePersRif>(x => x.CodAnag.Equals(Anag.CodContact));
|
||||
PersRif = Mapper.Map<List<PersRifDTO>>(pers);
|
||||
}
|
||||
else
|
||||
{
|
||||
var pros = (await ManageData.GetTable<PtbPros>(x => x.CodPpro.Equals(CodContact))).Last();
|
||||
Anag = Mapper.Map<ContactDTO>(pros);
|
||||
|
||||
var pers = await ManageData.GetTable<PtbProsRif>(x => x.CodPpro.Equals(Anag.CodContact));
|
||||
PersRif = Mapper.Map<List<PersRifDTO>>(pers);
|
||||
}
|
||||
|
||||
await LoadPersRif();
|
||||
|
||||
Commesse = await ManageData.GetTable<JtbComt>(x => x.CodAnag != null && x.CodAnag.Equals(CodContact));
|
||||
|
||||
if (Anag.CodVage != null)
|
||||
@@ -180,9 +176,28 @@ else
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
private async Task LoadPersRif()
|
||||
{
|
||||
if (IsContact)
|
||||
{
|
||||
var pers = await ManageData.GetTable<VtbCliePersRif>(x => x.CodAnag.Equals(Anag.CodContact));
|
||||
PersRif = Mapper.Map<List<PersRifDTO>>(pers);
|
||||
}
|
||||
else
|
||||
{
|
||||
var pers = await ManageData.GetTable<PtbProsRif>(x => x.CodPpro.Equals(Anag.CodContact));
|
||||
PersRif = Mapper.Map<List<PersRifDTO>>(pers);
|
||||
}
|
||||
}
|
||||
|
||||
private async Task OpenPersRifForm()
|
||||
{
|
||||
var result = await ModalHelpers.OpenPersRifForm(Dialog, null);
|
||||
var result = await ModalHelpers.OpenPersRifForm(Dialog, null, Anag, PersRif);
|
||||
|
||||
if (result is { Canceled: false, Data: not null } && result.Data.GetType() == typeof(PersRifDTO))
|
||||
{
|
||||
await LoadPersRif();
|
||||
}
|
||||
}
|
||||
|
||||
private async Task OpenUserForm(ContactDTO anag)
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -4,6 +4,9 @@ namespace salesbook.Shared.Core.Dto;
|
||||
|
||||
public class CRMCreateContactRequestDTO
|
||||
{
|
||||
[JsonPropertyName("codAnag")]
|
||||
public string? CodAnag { get; set; }
|
||||
|
||||
[JsonPropertyName("codVdes")]
|
||||
public string? CodVdes { get; set; }
|
||||
|
||||
|
||||
@@ -45,13 +45,16 @@ public class ModalHelpers
|
||||
return await modal.Result;
|
||||
}
|
||||
|
||||
public static async Task<DialogResult?> OpenPersRifForm(IDialogService dialog, PersRifDTO? persRif)
|
||||
public static async Task<DialogResult?> OpenPersRifForm(IDialogService dialog, PersRifDTO? persRif,
|
||||
ContactDTO? contactModel = null, List<PersRifDTO>? persRifList = null)
|
||||
{
|
||||
var modal = await dialog.ShowAsync<PersRifForm>(
|
||||
"Pers rif form",
|
||||
new DialogParameters<PersRifForm>
|
||||
{
|
||||
{ x => x.OriginalModel, persRif }
|
||||
{ x => x.OriginalModel, persRif },
|
||||
{ x => x.ContactModel, contactModel},
|
||||
{ x => x.PersRifList, persRifList }
|
||||
},
|
||||
new DialogOptions
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user