This commit is contained in:
@@ -394,15 +394,18 @@ namespace AyaNova.Biz
|
||||
//CREATED OR MODIFIED
|
||||
if (ayaEvent == AyaEvent.Created || ayaEvent == AyaEvent.Modified)
|
||||
{
|
||||
|
||||
//no db query required, just set regardless if anything relevant has changed or not as it's less
|
||||
//time consuming to do it than to do all the checks to see if it is relevant to do it or not
|
||||
SetGenerateDate(newObj);
|
||||
}
|
||||
|
||||
|
||||
//CREATION ACTIONS
|
||||
if (ayaEvent == AyaEvent.Created)
|
||||
{
|
||||
await AutoSetContractAsync(newObj);
|
||||
|
||||
|
||||
await AutoSetContractAsync(newObj);
|
||||
await AutoSetAddressAsync(newObj);
|
||||
}
|
||||
|
||||
@@ -426,14 +429,37 @@ namespace AyaNova.Biz
|
||||
/// </summary>
|
||||
internal static void SetGenerateDate(PM p)
|
||||
{
|
||||
|
||||
if (p.GenerateBeforeInterval == 0)
|
||||
{
|
||||
p.GenerateDate = p.NextServiceDate;
|
||||
return;
|
||||
}
|
||||
p.GenerateDate = GetDateFromSpanAndUnit(p.NextServiceDate, p.GenerateBeforeUnit, -System.Math.Abs(p.GenerateBeforeInterval));
|
||||
}
|
||||
|
||||
|
||||
|
||||
internal static DateTime GetDateFromSpanAndUnit(DateTime StartDate, PMTimeUnit unit, int multiple)
|
||||
{
|
||||
switch (unit)
|
||||
{
|
||||
case PMTimeUnit.Minutes:
|
||||
return StartDate.AddMinutes(multiple);
|
||||
|
||||
case PMTimeUnit.Hours:
|
||||
return StartDate.AddHours(multiple);
|
||||
|
||||
case PMTimeUnit.Days:
|
||||
return StartDate.AddDays(multiple);
|
||||
|
||||
case PMTimeUnit.Months:
|
||||
return StartDate.AddMonths(multiple);
|
||||
|
||||
case PMTimeUnit.Years:
|
||||
return StartDate.AddYears(multiple);
|
||||
}
|
||||
//default
|
||||
return StartDate;
|
||||
}
|
||||
|
||||
// //Takes an AyaNova day of week and returns
|
||||
@@ -466,28 +492,6 @@ namespace AyaNova.Biz
|
||||
// }
|
||||
|
||||
|
||||
internal static DateTime GetDateFromSpanAndUnit(DateTime StartDate, PMTimeUnit unit, int multiple)
|
||||
{
|
||||
switch (unit)
|
||||
{
|
||||
case PMTimeUnit.Minutes:
|
||||
return StartDate.AddMinutes(multiple);
|
||||
|
||||
case PMTimeUnit.Hours:
|
||||
return StartDate.AddHours(multiple);
|
||||
|
||||
case PMTimeUnit.Days:
|
||||
return StartDate.AddDays(multiple);
|
||||
|
||||
case PMTimeUnit.Months:
|
||||
return StartDate.AddMonths(multiple);
|
||||
|
||||
case PMTimeUnit.Years:
|
||||
return StartDate.AddYears(multiple);
|
||||
}
|
||||
//default
|
||||
return StartDate;
|
||||
}
|
||||
|
||||
private async Task AutoSetAddressAsync(PM newObj)
|
||||
{
|
||||
@@ -5232,7 +5236,7 @@ namespace AyaNova.Biz
|
||||
#endif
|
||||
//Get a list of PM id's ready for conversion now
|
||||
var l = await ct.PM.AsNoTracking()
|
||||
.Where(z => z.GenerateDate > DateTime.UtcNow && (z.StopGeneratingDate == null || z.StopGeneratingDate > DateTime.UtcNow) && z.Active == true)
|
||||
.Where(z => z.GenerateDate < DateTime.UtcNow && (z.StopGeneratingDate == null || z.StopGeneratingDate > DateTime.UtcNow) && z.Active == true)
|
||||
.Select(z => z.Id)
|
||||
.ToListAsync();
|
||||
#if (DEBUG)
|
||||
|
||||
Reference in New Issue
Block a user