This commit is contained in:
2021-07-29 18:07:07 +00:00
parent f00c081cda
commit 36f95981f8
2 changed files with 31 additions and 27 deletions

2
.vscode/launch.json vendored
View File

@@ -53,7 +53,7 @@
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
"AYANOVA_SERVER_TEST_MODE": "true",
"AYANOVA_SERVER_TEST_MODE": "false",
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"

View File

@@ -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)