This commit is contained in:
2021-07-29 20:30:24 +00:00
parent b22769a585
commit 31d72715e5

View File

@@ -429,68 +429,35 @@ namespace AyaNova.Biz
/// </summary> /// </summary>
internal static void SetGenerateDate(PM p) internal static void SetGenerateDate(PM p)
{ {
if (p.GenerateBeforeInterval == 0) p.GenerateDate = CalculateNewDateFromSpanAndUnit(p.NextServiceDate, p.GenerateBeforeUnit, -System.Math.Abs(p.GenerateBeforeInterval));
{
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) internal static DateTime CalculateNewDateFromSpanAndUnit(DateTime StartDate, PMTimeUnit unit, int interval)
{ {
if(interval==0) return StartDate;
switch (unit) switch (unit)
{ {
case PMTimeUnit.Minutes: case PMTimeUnit.Minutes:
return StartDate.AddMinutes(multiple); return StartDate.AddMinutes(interval);
case PMTimeUnit.Hours: case PMTimeUnit.Hours:
return StartDate.AddHours(multiple); return StartDate.AddHours(interval);
case PMTimeUnit.Days: case PMTimeUnit.Days:
return StartDate.AddDays(multiple); return StartDate.AddDays(interval);
case PMTimeUnit.Months: case PMTimeUnit.Months:
return StartDate.AddMonths(multiple); return StartDate.AddMonths(interval);
case PMTimeUnit.Years: case PMTimeUnit.Years:
return StartDate.AddYears(multiple); return StartDate.AddYears(interval);
} }
//default //default
return StartDate; return StartDate;
} }
// //Takes an AyaNova day of week and returns
// //a System.DayOfWeek
// //Assumes that AyaDayOfWeek is NOT "AnyDay"
// internal static System.DayOfWeek AyaToSystemDayOfWeek(AyaDayOfWeek day)
// {
// switch (day)
// {
// case AyaDayOfWeek.Monday:
// return DayOfWeek.Monday;
// case AyaDayOfWeek.Tuesday:
// return DayOfWeek.Tuesday;
// case AyaDayOfWeek.Wednesday:
// return DayOfWeek.Wednesday;
// case AyaDayOfWeek.Thursday:
// return DayOfWeek.Thursday;
// case AyaDayOfWeek.Friday:
// return DayOfWeek.Friday;
// case AyaDayOfWeek.Saturday:
// return DayOfWeek.Saturday;
// case AyaDayOfWeek.Sunday:
// return DayOfWeek.Sunday;
// }
// throw new System.ArgumentOutOfRangeException("DayOfWeekConverter: AyaDayOfWeek.AnyDayOfWeek is not supported");
// }
private async Task AutoSetAddressAsync(PM newObj) private async Task AutoSetAddressAsync(PM newObj)
@@ -5258,7 +5225,7 @@ namespace AyaNova.Biz
//make new workorder //make new workorder
if (await NewServiceWorkOrderFromPMAsync(p, ct, log)) if (await NewServiceWorkOrderFromPMAsync(p, ct, log))
{ {
//Success
//fixup dates and update pm //fixup dates and update pm
//note p is ready to modify and save here as it's tracked //note p is ready to modify and save here as it's tracked
} }
@@ -5269,11 +5236,6 @@ namespace AyaNova.Biz
internal static async Task<bool> NewServiceWorkOrderFromPMAsync(PM p, AyContext ct, ILogger log) internal static async Task<bool> NewServiceWorkOrderFromPMAsync(PM p, AyContext ct, ILogger log)
{ {
//todo: copy dates over after all, the pm will have it's dates moved forward so we should definitely
//copy dates over as they should be refreshed and ready to accept
//need to pick through this and find those dates and possibly other items
//if user doesn't want dates set then they can leave them blank
WorkOrder wo = new WorkOrder(); WorkOrder wo = new WorkOrder();
wo.Address = p.Address; wo.Address = p.Address;