@using Microsoft.VisualBasic @using Template.Shared.Core.Dto @using Template.Shared.Components.Layout @using Template.Shared.Core.Entity @using Template.Shared.Core.Interface @using Template.Shared.Components.Layout.Overlay @using Template.Shared.Components.SingleElements.BottomSheet @inject IManageDataService ManageData @inject INetworkService NetworkService @inject IIntegryApiService IntegryApiService
Inizio
Fine
Avviso
Assegnata a @foreach (var user in Users) { @user.FullName }
Tipo @foreach (var type in ActivityType) { @type.ActivityTypeId }
Esito @foreach (var result in ActivityResult) { @result.ActivityResultId }
@code { [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } [Parameter] public string? Id { get; set; } private ActivityDTO OriginalModel { get; set; } = new(); private ActivityDTO ActivityModel { get; set; } = new(); private List ActivityResult { get; set; } = []; private List ActivityType { get; set; } = []; private List Users { get; set; } = []; private bool IsNew => Id.IsNullOrEmpty(); private bool IsView => !IsNew && !NetworkService.IsNetworkAvailable(); private string? LabelSave { get; set; } //Overlay for save private bool VisibleOverlay { get; set; } private bool SuccessAnimation { get; set; } private bool OpenEsito { get; set; } = false; protected override async Task OnInitializedAsync() { _ = LoadData(); LabelSave = IsNew ? "Aggiungi" : null; if (!Id.IsNullOrEmpty()) ActivityModel = (await ManageData.GetActivity(x => x.ActivityId.Equals(Id))).Last(); if (IsNew) { ActivityModel.EstimatedTime = DateTime.Today.Add(TimeSpan.FromHours(DateTime.Now.Hour)); ActivityModel.EstimatedEndtime = DateTime.Today.Add(TimeSpan.FromHours(DateTime.Now.Hour) + TimeSpan.FromHours(1)); } OriginalModel = ActivityModel.Clone(); } private async Task Save() { VisibleOverlay = true; StateHasChanged(); var newActivity = await IntegryApiService.SaveActivity(ActivityModel); await ManageData.InsertOrUpdate(newActivity); SuccessAnimation = true; StateHasChanged(); await Task.Delay(1250); MudDialog.Close(newActivity); } private async Task LoadData() { Users = await ManageData.GetTable(); ActivityResult = await ManageData.GetTable(); ActivityType = await ManageData.GetTable(x => x.FlagTipologia.Equals("A")); } private void OnAfterChangeValue() { LabelSave = !OriginalModel.Equals(ActivityModel) ? "Aggiorna" : null; StateHasChanged(); } private void OpenSelectEsito() { OpenEsito = !OpenEsito; StateHasChanged(); } }