DeviceManager/DeviceRepair.Utils/Enum/EnumMaintenanceTypeHelper.cs

94 lines
3.3 KiB
C#
Raw Normal View History

2024-05-28 14:36:38 +00:00
using DeviceRepair.Models;
using System.Collections.Generic;
namespace DeviceRepair.Utils
{
public class EnumMaintenanceTypeHelper
{
public static EnumMaintenanceType MatchToEnum(string value)
{
EnumMaintenanceType e = EnumMaintenanceType.None;
2024-06-10 17:33:11 +00:00
switch (value?.ToLower())
2024-05-28 14:36:38 +00:00
{
case "annual":
case "每年":
e = EnumMaintenanceType.Annual;
break;
case "奇数年":
e = EnumMaintenanceType.OddAnnual;
break;
case "偶数年":
e = EnumMaintenanceType.EvenAnnual;
break;
case "monthly":
case "月度":
e = EnumMaintenanceType.Monthly;
break;
case "quarterly":
case "季度":
e = EnumMaintenanceType.Quarterly;
break;
case "semi-an":
case "半年":
e = EnumMaintenanceType.Semian;
break;
default:
break;
}
return e;
}
public static List<EnumMaintenanceType> MatchToEnum(string value, System.DateTime CurrentDate)
{
List<EnumMaintenanceType> e = new List<EnumMaintenanceType>();
switch (value.ToLower())
{
case "annual":
case "每年":
e.Add(EnumMaintenanceType.Annual);
if (CurrentDate.Year % 2 == 1)
e.Add(EnumMaintenanceType.OddAnnual);
else
e.Add(EnumMaintenanceType.EvenAnnual);
e.Add(EnumMaintenanceType.Semian);
e.Add(EnumMaintenanceType.Quarterly);
e.Add(EnumMaintenanceType.Monthly);
break;
case "奇数年":
if (CurrentDate.Year % 2 == 1)
e.Add(EnumMaintenanceType.OddAnnual);
e.Add(EnumMaintenanceType.Semian);
e.Add(EnumMaintenanceType.Quarterly);
e.Add(EnumMaintenanceType.Monthly);
break;
case "偶数年":
if (CurrentDate.Year % 2 == 0)
e.Add(EnumMaintenanceType.EvenAnnual);
e.Add(EnumMaintenanceType.Semian);
e.Add(EnumMaintenanceType.Quarterly);
e.Add(EnumMaintenanceType.Monthly);
break;
case "semi-an":
case "半年":
e.Add(EnumMaintenanceType.Semian);
e.Add(EnumMaintenanceType.Quarterly);
e.Add(EnumMaintenanceType.Monthly);
break;
case "quarterly":
case "季度":
e.Add(EnumMaintenanceType.Quarterly);
e.Add(EnumMaintenanceType.Monthly);
break;
case "monthly":
case "月度":
e.Add(EnumMaintenanceType.Monthly);
break;
default:
break;
}
return e;
}
}
}