using global::Microsoft.AspNetCore.Components; using MP.Data.DatabaseModels; using MP.Data.Services; namespace MP_TAB3.Pages { public partial class WorkShift { #region Protected Properties protected MappaStatoExpl? CurrMSE { get; set; } = null; protected TurniMaccModel currTurni { get; set; } = new TurniMaccModel(); protected string IdxMacc { get; set; } = ""; [Inject] protected MessageService MsgServ { get; set; } = null!; protected bool T1 { get => currTurni.T1; set { if (currTurni.T1 != value) { currTurni.T1 = value; TabServ.TurnoMacchinaToggle(IdxMacc, 1); } } } protected bool T2 { get => currTurni.T2; set { if (currTurni.T2 != value) { currTurni.T2 = value; TabServ.TurnoMacchinaToggle(IdxMacc, 2); } } } protected bool T3 { get => currTurni.T3; set { if (currTurni.T3 != value) { currTurni.T3 = value; TabServ.TurnoMacchinaToggle(IdxMacc, 3); } } } [Inject] protected TabDataService TabServ { get; set; } = null!; #endregion Protected Properties #region Protected Methods protected string cssByState(bool isActive) { return isActive ? "bg-success text-warning" : "bg-secondary"; } protected override async Task OnInitializedAsync() { await ReloadData(); } protected async Task RefreshData(List newList) { var ListMSE = newList; if (!string.IsNullOrEmpty(IdxMacc)) { var rawData = ListMSE.Find(x => x.IdxMacchina == IdxMacc); if (rawData != null) { CurrMSE = rawData; } else { await ReloadData(); } } await InvokeAsync(StateHasChanged); } #endregion Protected Methods #region Private Methods private async Task ReloadData() { if (string.IsNullOrEmpty(IdxMacc)) { IdxMacc = await MsgServ.IdxMaccGet(); // recupero MSE macchina.... if (!string.IsNullOrEmpty(IdxMacc)) { CurrMSE = await MsgServ.GetMachineMse(IdxMacc); // recupero turni currTurni = await TabServ.TurnoMacchinaGet(IdxMacc); } } } #endregion Private Methods } }