@@ -55,7 +55,7 @@
private bool ShowSectionCommesse { get; set; }
private void OpenUser() =>
- NavigationManager.NavigateTo($"/User/{User.CodContact}");
+ NavigationManager.NavigateTo($"/User/{User.CodContact}/{User.IsContact}");
private async Task ShowCommesse()
{
diff --git a/salesbook.Shared/Components/SingleElements/Modal/ContactForm.razor b/salesbook.Shared/Components/SingleElements/Modal/ContactForm.razor
index f1487aa..e663947 100644
--- a/salesbook.Shared/Components/SingleElements/Modal/ContactForm.razor
+++ b/salesbook.Shared/Components/SingleElements/Modal/ContactForm.razor
@@ -37,71 +37,76 @@
@@ -147,13 +152,10 @@
@code {
[CascadingParameter] private IMudDialogInstance MudDialog { get; set; }
- [Parameter] public string? CodAnag { get; set; }
- [Parameter] public string? UserType { get; set; }
-
- private ContactDTO OriginalModel { get; set; } = new();
+ [Parameter] public ContactDTO? OriginalModel { get; set; }
private ContactDTO ContactModel { get; set; } = new();
- private bool IsNew => CodAnag.IsNullOrEmpty();
+ private bool IsNew => OriginalModel is null;
private bool IsView => !NetworkService.IsNetworkAvailable();
private string? LabelSave { get; set; }
@@ -183,7 +185,8 @@
private async Task LoadData()
{
-
+ if (!IsNew)
+ ContactModel = OriginalModel!.Clone();
}
private void OnAfterChangeValue()
diff --git a/salesbook.Shared/Components/SingleElements/Modal/PersRifForm.razor b/salesbook.Shared/Components/SingleElements/Modal/PersRifForm.razor
new file mode 100644
index 0000000..0998dca
--- /dev/null
+++ b/salesbook.Shared/Components/SingleElements/Modal/PersRifForm.razor
@@ -0,0 +1,155 @@
+@using salesbook.Shared.Core.Dto
+@using salesbook.Shared.Components.Layout
+@using salesbook.Shared.Core.Interface
+@using salesbook.Shared.Components.Layout.Overlay
+@inject IManageDataService ManageData
+@inject INetworkService NetworkService
+@inject IIntegryApiService IntegryApiService
+
+
+
+
+
+
+
+
+
+
+
+@code {
+ [CascadingParameter] private IMudDialogInstance MudDialog { get; set; }
+
+ [Parameter] public PersRifDTO? OriginalModel { get; set; }
+ private PersRifDTO PersRifModel { get; set; } = new();
+
+ private bool IsNew => OriginalModel is null;
+ private bool IsView => !NetworkService.IsNetworkAvailable();
+
+ private string? LabelSave { get; set; }
+
+ //Overlay for save
+ private bool VisibleOverlay { get; set; }
+ private bool SuccessAnimation { get; set; }
+
+ protected override async Task OnInitializedAsync()
+ {
+ Snackbar.Configuration.PositionClass = Defaults.Classes.Position.TopCenter;
+
+ _ = LoadData();
+
+ LabelSave = IsNew ? "Aggiungi" : null;
+ }
+
+ private async Task Save()
+ {
+ SuccessAnimation = true;
+ StateHasChanged();
+
+ await Task.Delay(1250);
+
+ MudDialog.Close();
+ }
+
+ private async Task LoadData()
+ {
+ if (!IsNew)
+ PersRifModel = OriginalModel!.Clone();
+ }
+
+ private void OnAfterChangeValue()
+ {
+ if (!IsNew)
+ {
+ LabelSave = !OriginalModel.Equals(PersRifModel) ? "Aggiorna" : null;
+ }
+ }
+
+ private void NewPersRif()
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/salesbook.Shared/Components/SingleElements/Modal/PersRifForm.razor.css b/salesbook.Shared/Components/SingleElements/Modal/PersRifForm.razor.css
new file mode 100644
index 0000000..cb50e2e
--- /dev/null
+++ b/salesbook.Shared/Components/SingleElements/Modal/PersRifForm.razor.css
@@ -0,0 +1,4 @@
+.container-button {
+ background: var(--mud-palette-background-gray) !important;
+ box-shadow: unset;
+}
diff --git a/salesbook.Shared/Core/Dto/ContactDTO.cs b/salesbook.Shared/Core/Dto/ContactDTO.cs
index a025ecb..4d7d272 100644
--- a/salesbook.Shared/Core/Dto/ContactDTO.cs
+++ b/salesbook.Shared/Core/Dto/ContactDTO.cs
@@ -57,4 +57,9 @@ public class ContactDTO
[JsonPropertyName("eMailPec")]
public string EMailPec { get; set; }
+
+ public ContactDTO Clone()
+ {
+ return (ContactDTO)MemberwiseClone();
+ }
}
\ No newline at end of file
diff --git a/salesbook.Shared/Core/Dto/PersRifDTO.cs b/salesbook.Shared/Core/Dto/PersRifDTO.cs
new file mode 100644
index 0000000..10ec7cc
--- /dev/null
+++ b/salesbook.Shared/Core/Dto/PersRifDTO.cs
@@ -0,0 +1,35 @@
+using System.Text.Json.Serialization;
+
+namespace salesbook.Shared.Core.Dto;
+
+public class PersRifDTO
+{
+ [JsonPropertyName("codPersRif")]
+ public string CodPersRif { get; set; }
+
+ [JsonPropertyName("idPersRif")]
+ public int IdPersRif { get; set; }
+
+ [JsonPropertyName("personaRif")]
+ public string PersonaRif { get; set; }
+
+ [JsonPropertyName("eMail")]
+ public string EMail { get; set; }
+
+ [JsonPropertyName("fax")]
+ public string Fax { get; set; }
+
+ [JsonPropertyName("mansione")]
+ public string? Mansione { get; set; }
+
+ [JsonPropertyName("numCellulare")]
+ public string NumCellulare { get; set; }
+
+ [JsonPropertyName("telefono")]
+ public string Telefono { get; set; }
+
+ public PersRifDTO Clone()
+ {
+ return (PersRifDTO)MemberwiseClone();
+ }
+}
diff --git a/salesbook.Shared/Core/Helpers/MappingProfile.cs b/salesbook.Shared/Core/Helpers/MappingProfile.cs
index ffe14ab..8ac3142 100644
--- a/salesbook.Shared/Core/Helpers/MappingProfile.cs
+++ b/salesbook.Shared/Core/Helpers/MappingProfile.cs
@@ -19,5 +19,13 @@ public class MappingProfile : Profile
CreateMap
()
.ForMember(dest => dest.CodContact, opt => opt.MapFrom(src => src.CodPpro))
.ForMember(dest => dest.IsContact, opt => opt.MapFrom(src => false));
+
+ //Mapping da VtbCliePersRif a PersRifDTO
+ CreateMap()
+ .ForMember(x => x.CodPersRif, y => y.MapFrom(z => z.CodAnag));
+
+ //Mapping da PtbProsRif a PersRifDTO
+ CreateMap()
+ .ForMember(x => x.CodPersRif, y => y.MapFrom(z => z.CodPpro));
}
}
diff --git a/salesbook.Shared/Core/Helpers/ModalHelpers.cs b/salesbook.Shared/Core/Helpers/ModalHelpers.cs
index e7be287..0a619ea 100644
--- a/salesbook.Shared/Core/Helpers/ModalHelpers.cs
+++ b/salesbook.Shared/Core/Helpers/ModalHelpers.cs
@@ -26,13 +26,32 @@ public class ModalHelpers
return await modal.Result;
}
- public static async Task OpenUserForm(IDialogService dialog, string? codAnag)
+ public static async Task OpenUserForm(IDialogService dialog, ContactDTO? anag)
{
var modal = await dialog.ShowAsync(
"User form",
new DialogParameters
{
- { x => x.CodAnag, codAnag }
+ { x => x.OriginalModel, anag }
+ },
+ new DialogOptions
+ {
+ FullScreen = true,
+ CloseButton = false,
+ NoHeader = true
+ }
+ );
+
+ return await modal.Result;
+ }
+
+ public static async Task OpenPersRifForm(IDialogService dialog, PersRifDTO? persRif)
+ {
+ var modal = await dialog.ShowAsync(
+ "Pers rif form",
+ new DialogParameters
+ {
+ { x => x.OriginalModel, persRif }
},
new DialogOptions
{
diff --git a/salesbook.Shared/salesbook.Shared.csproj b/salesbook.Shared/salesbook.Shared.csproj
index 7cf8a8b..39e5af9 100644
--- a/salesbook.Shared/salesbook.Shared.csproj
+++ b/salesbook.Shared/salesbook.Shared.csproj
@@ -1,31 +1,41 @@
-
- net9.0
- enable
- enable
-
+
+ net9.0
+ enable
+ enable
+
-
-
-
+
+ True
+ true
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+ True
+ true
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file