79 lines
2.9 KiB
C#
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
|
|
}
|
|
} |