using global::System; using global::System.Collections.Generic; using global::System.Linq; using global::System.Threading.Tasks; using global::Microsoft.AspNetCore.Components; using System.Net.Http; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Components.Forms; using Microsoft.AspNetCore.Components.Routing; using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Components.Web.Virtualization; using Microsoft.JSInterop; using MP_TAB_SERV; using MP_TAB_SERV.Shared; using MP_TAB_SERV.Components; using MP.Data; using MP.Data.DatabaseModels; using MP.Data.DTO; using MP.Data.Services; using Newtonsoft.Json; using NLog; namespace MP_TAB_SERV.Components { public partial class NotesEditor { #region Public Properties [Parameter] public bool CanSave { get; set; } = false; [Parameter] public EventCallback E_CommRec { get; set; } [Parameter] public EventCallback E_DateSel { get; set; } [Parameter] public EventCallback E_Updated { get; set; } [Parameter] public MappaStatoExpl? RecMSE { get; set; } = null; [Parameter] public string Title { get; set; } = "NA"; [Parameter] public EventListModel? CurrComm { //get; set { if (value != null) { DateSel = value.InizioStato ?? DateTime.Now; UserComment = value.Value; } } } #endregion Public Properties #region Protected Properties protected DateTime DateSel { get => dateSel; set { if (dateSel != value) { dateSel = value; E_DateSel.InvokeAsync(value).ConfigureAwait(false); } } } [Inject] protected MessageService MServ { get; set; } = null!; [Inject] protected SharedMemService SMServ { get; set; } = null!; [Inject] protected TabDataService TabServ { get; set; } = null!; #endregion Protected Properties #region Protected Methods protected void doCancel() { DoReset(); ToggleCtrl(); } protected async Task doSave() { // registro evento EventListModel newRec = new EventListModel() { IdxMacchina = IdxMacc, InizioStato = DateSel, IdxTipo = idxTipoCommento, CodArticolo = CodArt, Value = UserComment, MatrOpr = MatrOpr, pallet = "-" }; // elimino vecchio se c'è... await TabServ.EvListDelete(IdxMacc, DateSel); // inserisco await TabServ.EvListInsert(newRec, MP.Data.Objects.Enums.tipoInputEvento.commento); // reset DoReset(); ToggleCtrl(); await E_Updated.InvokeAsync(true); } protected override void OnInitialized() { idxTipoCommento = SMServ.GetConfInt("idxTipoCommento"); } protected void ToggleCtrl() { ShowBtn = !ShowBtn; } #endregion Protected Methods #region Private Fields private int idxTipoCommento = 0; #endregion Private Fields #region Private Properties private string CodArt { get => RecMSE != null ? RecMSE.CodArticolo : ""; } private DateTime dateSel { get; set; } = DateTime.Now; private string IdxMacc { get => RecMSE != null ? RecMSE.IdxMacchina : ""; } private int MatrOpr { get => MServ.MatrOpr; } private bool ShowBtn { get; set; } = true; private string userComment { get; set; } = ""; private string UserComment { get => userComment.Trim(); set { if (userComment != value) { userComment = value; E_CommRec.InvokeAsync(value).ConfigureAwait(false); } } } #endregion Private Properties #region Private Methods private void DoReset() { UserComment = ""; DateSel = DateTime.Now; } #endregion Private Methods } }