DeviceManager/DeviceRepair.Utils/Enum/EnumMaintenanceTypeHelper.cs
2024-06-11 01:33:11 +08:00

94 lines
3.3 KiB
C#

using DeviceRepair.Models;
using System.Collections.Generic;
namespace DeviceRepair.Utils
{
public class EnumMaintenanceTypeHelper
{
public static EnumMaintenanceType MatchToEnum(string value)
{
EnumMaintenanceType e = EnumMaintenanceType.None;
switch (value?.ToLower())
{
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;
}
}
}