PredefinedVersionPair.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace InitializerModel
  7. {
  8. public static class EvseVersion
  9. {
  10. public static int GetVersionIndex(string version)
  11. {
  12. if (version.StartsWith("DD"))
  13. {
  14. var dispensorIndexChar = version.Last();
  15. if (int.TryParse(dispensorIndexChar.ToString(), out var result))
  16. {
  17. return result + 1;
  18. }
  19. }
  20. return 0;
  21. }
  22. public static string GetDDApiNameFromApiName(string apiName, int index)
  23. {
  24. if (index <= 0)
  25. return apiName;
  26. return $"DD{apiName}{index - 1}";
  27. }
  28. public static string GetDDApiNameFromWebName(string webName, int index)
  29. {
  30. var apiName = PredefinedVersionPair.GetApiName(webName);
  31. return GetDDApiNameFromApiName(apiName, index);
  32. }
  33. public static string GetApiNameFromDDApiName(string apiName)
  34. {
  35. var index = GetVersionIndex(apiName);
  36. if (index == 0)
  37. {
  38. return apiName;
  39. }
  40. return apiName.Substring(2, apiName.Length -3);
  41. }
  42. }
  43. public static class PredefinedVersionPair
  44. {
  45. public static IEnumerable<string> GetWebNames()
  46. {
  47. return PreDefinedVersions.Select(x => x.WebName);
  48. }
  49. public static IEnumerable<string> GetApiNames()
  50. {
  51. return PreDefinedVersions.Select(x => x.ApiName);
  52. }
  53. public static string GetWebName(string apiName)
  54. {
  55. return PreDefinedVersions.FirstOrDefault(x => x.ApiName == apiName)?.WebName;
  56. }
  57. public static string GetApiName(string webName)
  58. {
  59. return PreDefinedVersions.FirstOrDefault(x => x.WebName == webName)?.ApiName;
  60. }
  61. private static List<VersionDefinePair> PreDefinedVersions = new List<VersionDefinePair>(){
  62. new VersionDefinePair("Csu Boot Load Fw Rev","CsuBootLoadFwRev" ),
  63. new VersionDefinePair("Csu Kernel Fw Rev" ,"CsuKernelFwRev" ),
  64. new VersionDefinePair("Csu Root Fs Fw Rev" ,"CsuRootFsFwRev" ),
  65. new VersionDefinePair("Csu Prim Fw Rev" ,"CsuPrimFwRev" ),
  66. new VersionDefinePair("Psu Prim Fw Rev(1)" ,"FwPrimaryVersion0" ),
  67. new VersionDefinePair("Psu Sec Fw Rev(1)" ,"FwSecondVersion0" ),
  68. new VersionDefinePair("Psu Prim Fw Rev(2)" ,"FwPrimaryVersion1" ),
  69. new VersionDefinePair("Psu Sec Fw Rev(2)" ,"FwSecondVersion1" ),
  70. new VersionDefinePair("Fan Module Fw Rev" ,"FanModuleFwRev" ),
  71. new VersionDefinePair("Relay Module Fw Rev" ,"RelayModuleFwRev" ),
  72. new VersionDefinePair("Relay2 Module Fw Rev","Relay2ModuleFwRev" ),
  73. new VersionDefinePair("Led Module Fw Rev" ,"LedModuleFwRev" ),
  74. new VersionDefinePair("Connector1 Fw Rev" ,"Connector1FwRev" ),
  75. new VersionDefinePair("Connector2 Fw Rev" ,"Connector2FwRev" ),
  76. };
  77. }
  78. public class VersionDefinePair
  79. {
  80. public string WebName { get; set; }
  81. public string ApiName { get; set; }
  82. public VersionDefinePair(string webName, string apiName)
  83. {
  84. WebName = webName;
  85. ApiName = apiName;
  86. }
  87. }
  88. }