@page "/activity" @page "/activity/{Id}" @using Template.Shared.Core.Dto @using Template.Shared.Components.Layout @using Template.Shared.Core.Interface @inject NavigationManager NavigationManager @inject IManageDataService manageData
Inizio
Fine
Avviso
Assegnata a
Tipo @foreach (var state in ActivityResult) { @state }
Esito @foreach (var state in ActivityResult) { @state }
@code { [Parameter] public string? Id { get; set; } private ActivityDTO OriginalModel { get; set; } = new(); private ActivityDTO ActivityModel { get; set; } = new(); private List ActivityResult { get; set; } = []; private bool IsNew => Id.IsNullOrEmpty(); private bool _selectEstimatedTime; private bool _selectEstimatedEndTime; private string? LabelSave { get; set; } protected override async Task OnInitializedAsync() { 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 HandleValidSubmit() { // Salva su database (qui simulato) await Task.Delay(200); NavigationManager.NavigateTo("/attivita"); } private void Annulla() { NavigationManager.NavigateTo("/attivita"); } private void OnAfterChangeValue() { if (OriginalModel.Equals(ActivityModel)) LabelSave = "Aggiorna"; StateHasChanged(); } private async Task CloseDatePicker() { await Task.Delay(150); _selectEstimatedTime = false; _selectEstimatedEndTime = false; StateHasChanged(); } }