From 31d72715e5a845bf0adafcb8ec62bce284b7b59b Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 29 Jul 2021 20:30:24 +0000 Subject: [PATCH] --- server/AyaNova/biz/PMBiz.cs | 60 +++++++------------------------------ 1 file changed, 11 insertions(+), 49 deletions(-) diff --git a/server/AyaNova/biz/PMBiz.cs b/server/AyaNova/biz/PMBiz.cs index 9bc45ffc..42ba4d3e 100644 --- a/server/AyaNova/biz/PMBiz.cs +++ b/server/AyaNova/biz/PMBiz.cs @@ -428,70 +428,37 @@ namespace AyaNova.Biz /// generate before span and unit /// 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)); + { + p.GenerateDate = CalculateNewDateFromSpanAndUnit(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) { case PMTimeUnit.Minutes: - return StartDate.AddMinutes(multiple); + return StartDate.AddMinutes(interval); case PMTimeUnit.Hours: - return StartDate.AddHours(multiple); + return StartDate.AddHours(interval); case PMTimeUnit.Days: - return StartDate.AddDays(multiple); + return StartDate.AddDays(interval); case PMTimeUnit.Months: - return StartDate.AddMonths(multiple); + return StartDate.AddMonths(interval); case PMTimeUnit.Years: - return StartDate.AddYears(multiple); + return StartDate.AddYears(interval); } //default 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) { @@ -5258,7 +5225,7 @@ namespace AyaNova.Biz //make new workorder if (await NewServiceWorkOrderFromPMAsync(p, ct, log)) { - + //Success //fixup dates and update pm //note p is ready to modify and save here as it's tracked } @@ -5269,11 +5236,6 @@ namespace AyaNova.Biz internal static async Task 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(); wo.Address = p.Address;