Translator.cs 1.4 KB

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