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

View File

@@ -428,70 +428,37 @@ namespace AyaNova.Biz
/// generate before span and unit
/// </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));
{
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<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();
wo.Address = p.Address;