@if (Attivita is not null) {
@Attivita.PuntoVendita
}
@if (Attivita is not null) {
@if (_tab == "chiudi") {
Operatori
@for (int i = 0; i < _operatori.Count; i++) { int idx = i;
@if (_operatori.Count > 1) { }
} Aggiungi operatore
Firma Capo Negozio * @if (_validato && string.IsNullOrWhiteSpace(_firma)) { Firma obbligatoria }
Foto lavoro svolto @if (_fotoNomi.Any()) {
@foreach (var nome in _fotoNomi) { @nome }
}
Chiudi Attivita } else { Nessuna @foreach (var az in _aziendeTerme) { @az } @if (_aziendaTerza == "Altro") { }
Foto KO * @if (_fotoRimandoNomi.Any()) {
@foreach (var nome in _fotoRimandoNomi) { @nome }
} @if (_validato && !_fotoRimandoNomi.Any()) { Almeno una foto e obbligatoria }
Rimanda Attivita }
}
@code { [Parameter] public AttivitaItem? Attivita { get; set; } [Parameter] public bool Visible { get; set; } [Parameter] public EventCallback OnClosed { get; set; } [Parameter] public EventCallback<(AttivitaItem, StatoAttivita)> OnConferma { get; set; } string _tab = "chiudi"; bool _validato; static readonly DialogOptions BottomSheetOptions = new() { Position = DialogPosition.BottomCenter, FullWidth = true, MaxWidth = MaxWidth.Medium, CloseButton = false, BackdropClick = true, CloseOnEscapeKey = true }; async Task OnVisibleChanged(bool visible) { if (!visible) await Annulla(); } TimeSpan? _oraIngresso = DateTime.Now.TimeOfDay; TimeSpan? _oraFine = DateTime.Now.TimeOfDay; List _operatori = ["Marco Esposito"]; string _descrizioneIntervento = string.Empty; string _firma = string.Empty; string _commentoFoto = string.Empty; List _fotoNomi = []; string _motivoRimando = string.Empty; string _aziendaTerza = string.Empty; string _aziendaAltra = string.Empty; List _fotoRimandoNomi = []; readonly List _aziendeTerme = ["Arneg", "Desich", "Idracol", "Carrier", "Danfoss", "Alfa Laval", "Altro"]; void OnFotoChiusura(InputFileChangeEventArgs e) => _fotoNomi = e.GetMultipleFiles().Select(f => f.Name).ToList(); void OnFotoRimando(InputFileChangeEventArgs e) => _fotoRimandoNomi = e.GetMultipleFiles().Select(f => f.Name).ToList(); async Task ConfermaChiusura() { _validato = true; if (string.IsNullOrWhiteSpace(_descrizioneIntervento) || string.IsNullOrWhiteSpace(_firma)) return; if (Attivita is not null) await OnConferma.InvokeAsync((Attivita, StatoAttivita.Chiusa)); Reset(); } async Task ConfermaRimando() { _validato = true; if (string.IsNullOrWhiteSpace(_motivoRimando) || !_fotoRimandoNomi.Any()) return; if (Attivita is not null) await OnConferma.InvokeAsync((Attivita, StatoAttivita.Rimandata)); Reset(); } Task Annulla() { Reset(); return OnClosed.InvokeAsync(); } void Reset() { _validato = false; _tab = "chiudi"; _descrizioneIntervento = string.Empty; _firma = string.Empty; _commentoFoto = string.Empty; _fotoNomi = []; _motivoRimando = string.Empty; _aziendaTerza = string.Empty; _aziendaAltra = string.Empty; _fotoRimandoNomi = []; _operatori = ["Marco Esposito"]; } }