Translator.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Configuration;
  4. using System.Linq;
  5. using System.Text;
  6. using Wayne.Lib;
  7. using Wayne.Lib.Log;
  8. namespace SinoChemFC2PosProxy
  9. {
  10. static class Translator
  11. {
  12. private readonly static Dictionary<string, string> mapping;
  13. static Translator()
  14. {
  15. mapping = new Dictionary<string, string>();
  16. if (!String.IsNullOrEmpty(
  17. ConfigurationManager.AppSettings["GradeNameRemapping"]))
  18. {
  19. var raw = ConfigurationManager.AppSettings["GradeNameRemapping"];
  20. raw.Split(';').Select(p => new KeyValuePair<string, string>(p.Split(':')[0], p.Split(':')[1])).ToList().ForEach(v => mapping.Add(v.Key, v.Value));
  21. }
  22. }
  23. /// <summary>
  24. /// Get the translated grade name which defined in app.config file.
  25. /// </summary>
  26. /// <param rawGradeName="gradeName">like SYN 2000, DIESEL S, SYN 8000, SYN 5000</param>
  27. /// <returns>any value want to re-mapping the raw grade name to</returns>
  28. public static String GetFriendlyGradeName(string rawGradeName)
  29. {
  30. if (mapping.ContainsKey(rawGradeName))
  31. {
  32. return mapping[rawGradeName];
  33. }
  34. return rawGradeName;
  35. }
  36. //public static String GetFuelNameByRawGradeName(string rawGradeName)
  37. //{
  38. // return rawGradeName;
  39. //}
  40. }
  41. }