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();
|
var clie = (await ManageData.GetTable<AnagClie>(x => x.CodAnag.Equals(CodContact))).Last();
|
||||||
Anag = Mapper.Map<ContactDTO>(clie);
|
Anag = Mapper.Map<ContactDTO>(clie);
|
||||||
|
|
||||||
var pers = await ManageData.GetTable<VtbCliePersRif>(x => x.CodAnag.Equals(Anag.CodContact));
|
|
||||||
PersRif = Mapper.Map<List<PersRifDTO>>(pers);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var pros = (await ManageData.GetTable<PtbPros>(x => x.CodPpro.Equals(CodContact))).Last();
|
var pros = (await ManageData.GetTable<PtbPros>(x => x.CodPpro.Equals(CodContact))).Last();
|
||||||
Anag = Mapper.Map<ContactDTO>(pros);
|
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));
|
Commesse = await ManageData.GetTable<JtbComt>(x => x.CodAnag != null && x.CodAnag.Equals(CodContact));
|
||||||
|
|
||||||
if (Anag.CodVage != null)
|
if (Anag.CodVage != null)
|
||||||
@@ -180,9 +176,28 @@ else
|
|||||||
StateHasChanged();
|
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()
|
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)
|
private async Task OpenUserForm(ContactDTO anag)
|
||||||
|
|||||||
@@ -112,6 +112,9 @@
|
|||||||
[CascadingParameter] private IMudDialogInstance MudDialog { get; set; }
|
[CascadingParameter] private IMudDialogInstance MudDialog { get; set; }
|
||||||
|
|
||||||
[Parameter] public PersRifDTO? OriginalModel { 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 PersRifDTO PersRifModel { get; set; } = new();
|
||||||
|
|
||||||
private bool IsNew => OriginalModel is null;
|
private bool IsNew => OriginalModel is null;
|
||||||
@@ -137,6 +140,42 @@
|
|||||||
VisibleOverlay = true;
|
VisibleOverlay = true;
|
||||||
StateHasChanged();
|
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;
|
SuccessAnimation = true;
|
||||||
StateHasChanged();
|
StateHasChanged();
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ namespace salesbook.Shared.Core.Dto;
|
|||||||
|
|
||||||
public class CRMCreateContactRequestDTO
|
public class CRMCreateContactRequestDTO
|
||||||
{
|
{
|
||||||
|
[JsonPropertyName("codAnag")]
|
||||||
|
public string? CodAnag { get; set; }
|
||||||
|
|
||||||
[JsonPropertyName("codVdes")]
|
[JsonPropertyName("codVdes")]
|
||||||
public string? CodVdes { get; set; }
|
public string? CodVdes { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -45,13 +45,16 @@ public class ModalHelpers
|
|||||||
return await modal.Result;
|
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>(
|
var modal = await dialog.ShowAsync<PersRifForm>(
|
||||||
"Pers rif form",
|
"Pers rif form",
|
||||||
new DialogParameters<PersRifForm>
|
new DialogParameters<PersRifForm>
|
||||||
{
|
{
|
||||||
{ x => x.OriginalModel, persRif }
|
{ x => x.OriginalModel, persRif },
|
||||||
|
{ x => x.ContactModel, contactModel},
|
||||||
|
{ x => x.PersRifList, persRifList }
|
||||||
},
|
},
|
||||||
new DialogOptions
|
new DialogOptions
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user