@using salesbook.Shared.Core.Dto @using salesbook.Shared.Core.Entity @using salesbook.Shared.Core.Helpers.Enum @inject IDialogService Dialog
@switch (Activity.Category) { case ActivityCategoryEnum.Commessa: @Activity.Commessa break; case ActivityCategoryEnum.Interna: @Activity.Cliente break; case ActivityCategoryEnum.Memo: @Activity.ActivityDescription break; default: @("") break; }
@if (Activity.EffectiveTime is null) { @($"{Activity.EstimatedTime:t}") } else { @($"{Activity.EffectiveTime:t}") }
@if (Activity.Category != ActivityCategoryEnum.Memo) { @Activity.ActivityDescription }
@if (Durata != null && (Durata.Value.TotalHours > 0 || Durata.Value.Minutes > 0)) { var ore = (int)Durata.Value.TotalHours; var minuti = Durata.Value.Minutes; @(ore > 0 ? $"{ore}h{(minuti > 0 ? $" {minuti}m" : "")}" : $"{minuti}m") } @if (Activity.ActivityResultId != null) { @Activity.ActivityResultId } @Activity.UserName
@code { [Parameter] public ActivityDTO Activity { get; set; } = new(); [Parameter] public EventCallback ActivityChanged { get; set; } [Parameter] public EventCallback ActivityDeleted { get; set; } private TimeSpan? Durata { get; set; } protected override void OnParametersSet() { Durata = Activity switch { { EffectiveTime: not null, EffectiveEndtime: not null } => Activity.EffectiveEndtime.Value - Activity.EffectiveTime.Value, { EstimatedTime: not null, EstimatedEndtime: not null } => Activity.EstimatedEndtime.Value - Activity.EstimatedTime.Value, _ => null }; } private async Task OpenActivity() { var result = await ModalHelpers.OpenActivityForm(Dialog, null, Activity.ActivityId); switch (result) { case { Canceled: false, Data: not null } when result.Data.GetType() == typeof(StbActivity): await ActivityChanged.InvokeAsync(((StbActivity)result.Data).ActivityId); break; case { Canceled: false, Data: not null } when result.Data.GetType() == typeof(ActivityDTO): await ActivityDeleted.InvokeAsync((ActivityDTO)result.Data); break; } } }