Files
mapo-core/MP.Stats/Components/TaskEdit.razor.cs
T
2024-03-28 19:11:24 +01:00

79 lines
2.9 KiB
C#

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<bool> 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
}
}