using DnsClient.Protocol; using Microsoft.AspNetCore.Components; using MP.Data.DatabaseModels; using MP.Stats.Data; using System.Threading.Tasks; namespace MP.Stats.Components { public partial class TaskEdit { #region Public Properties [Parameter] public TaskListModel? CurrRecord { get; set; } = null; [Parameter] public EventCallback EC_update { get; set; } #endregion Public Properties #region Protected Properties [Inject] protected MpStatsService StatService { get; set; } #endregion Protected Properties #region Protected Methods protected async Task doCancel() { await EC_update.InvokeAsync(false); } protected async Task doSave() { bool fatto = false; await Task.Delay(1); if (CurrRecord != null) { // calcolo next exec da tipo... switch (CurrRecord.Freq) { case MP.Data.Objects.Enums.TaskFreqType.ND: CurrRecord.DtNextExec = CurrRecord.DtLastExec.AddDays(CurrRecord.Cad); break; case MP.Data.Objects.Enums.TaskFreqType.Sec: CurrRecord.DtNextExec = CurrRecord.DtLastExec.AddSeconds(CurrRecord.Cad); break; case MP.Data.Objects.Enums.TaskFreqType.Min: CurrRecord.DtNextExec = CurrRecord.DtLastExec.AddMinutes(CurrRecord.Cad); break; case MP.Data.Objects.Enums.TaskFreqType.Hour: CurrRecord.DtNextExec = CurrRecord.DtLastExec.AddHours(CurrRecord.Cad); break; case MP.Data.Objects.Enums.TaskFreqType.Day: CurrRecord.DtNextExec = CurrRecord.DtLastExec.AddDays( CurrRecord.Cad); break; case MP.Data.Objects.Enums.TaskFreqType.Week: CurrRecord.DtNextExec = CurrRecord.DtLastExec.AddDays(7*CurrRecord.Cad); break; case MP.Data.Objects.Enums.TaskFreqType.Month: CurrRecord.DtNextExec = CurrRecord.DtLastExec.AddMonths(CurrRecord.Cad); break; case MP.Data.Objects.Enums.TaskFreqType.Year: CurrRecord.DtNextExec = CurrRecord.DtLastExec.AddYears(CurrRecord.Cad); break; default: CurrRecord.DtNextExec = CurrRecord.DtLastExec.AddDays(CurrRecord.Cad); break; } fatto = await StatService.TaskListUpsert(CurrRecord); } await EC_update.InvokeAsync(fatto); } #endregion Protected Methods } }