@using salesbook.Shared.Core.Dto @using salesbook.Shared.Core.Dto.Activity @using salesbook.Shared.Core.Entity @using salesbook.Shared.Core.Interface @inject IManageDataService ManageData
Esito
Data effettiva
Inizio
Fine
Esito @foreach (var result in ActivityResult) { @result.ActivityResultId }
Salva
@code { [Parameter] public bool IsSheetVisible { get; set; } [Parameter] public EventCallback IsSheetVisibleChanged { get; set; } [Parameter] public ActivityDTO ActivityModel { get; set; } [Parameter] public EventCallback ActivityModelChanged { get; set; } private List ActivityResult { get; set; } = []; private DateTime? EffectiveDate { get; set; } = DateTime.Today; private TimeSpan EffectiveTime { get; set; } private TimeSpan EffectiveEndTime { get; set; } protected override async Task OnParametersSetAsync() { if (IsSheetVisible) await LoadData(); } private async Task LoadData() { ActivityResult = await ManageData.GetTable(); EffectiveTime = ActivityModel.EffectiveTime?.TimeOfDay ?? TimeSpan.Zero; EffectiveEndTime = ActivityModel.EffectiveEndtime?.TimeOfDay ?? TimeSpan.Zero; StateHasChanged(); } private void CloseBottomSheet(bool save) { if (save) { if (EffectiveDate != null) { ActivityModel.EffectiveTime = new DateTime(EffectiveDate!.Value.Year, EffectiveDate!.Value.Month, EffectiveDate!.Value.Day, EffectiveTime.Hours, EffectiveTime.Minutes, EffectiveTime.Seconds); ActivityModel.EffectiveEndtime = new DateTime(EffectiveDate!.Value.Year, EffectiveDate!.Value.Month, EffectiveDate!.Value.Day, EffectiveEndTime.Hours, EffectiveEndTime.Minutes, EffectiveEndTime.Seconds); } if (ActivityModel.ActivityResultId.IsNullOrEmpty()) { Snackbar.Clear(); Snackbar.Configuration.PositionClass = Defaults.Classes.Position.TopCenter; Snackbar.Add("Esito obbligatorio!", Severity.Error); return; } } IsSheetVisible = false; IsSheetVisibleChanged.InvokeAsync(IsSheetVisible); if (save) { ActivityModelChanged.InvokeAsync(ActivityModel); } } private void CloseBottomSheet() => CloseBottomSheet(false); private void OnAfterChangeTime() { if (EffectiveEndTime < EffectiveTime) EffectiveEndTime = EffectiveTime + TimeSpan.FromHours(1); } }