ParameterServices.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Bowin.Common.Utility;
  6. using EMIS.DataLogic.SystemDAL;
  7. namespace EMIS.CommonLogic.SystemServices
  8. {
  9. public class ParameterServices : BaseServices, IParameterServices
  10. {
  11. public ParameterDAL ParameterDAL { get; set; }
  12. public Nullable<T> GetParameterValue<T>(ViewModel.CF_ParameterType parameterType) where T : struct
  13. {
  14. var parameter = ParameterDAL.ParameterRepository.GetSingle(x => x.ParameterTypeID == (int)parameterType);
  15. if (parameter == null || string.IsNullOrEmpty(parameter.Value)) return null;
  16. T result;
  17. if (parameter.Value.TryParseTo(out result))
  18. {
  19. return result;
  20. }
  21. return null;
  22. }
  23. public string GetParameterValue(ViewModel.CF_ParameterType parameterType)
  24. {
  25. var parameter = ParameterDAL.ParameterRepository.GetSingle(x => x.ParameterTypeID == (int)parameterType);
  26. if (parameter == null || string.IsNullOrEmpty(parameter.Value)) return null;
  27. return parameter.Value;
  28. }
  29. public void SaveTo(ViewModel.CF_ParameterType parameterType, object value)
  30. {
  31. var parameter = ParameterDAL.ParameterRepository.GetSingle(x => x.ParameterTypeID == (int)parameterType);
  32. if (parameter == null)
  33. {
  34. parameter = new Entities.CF_Parameter();
  35. parameter.ParameterID = Guid.NewGuid();
  36. parameter.ParameterTypeID = (int)parameterType;
  37. if (value != null)
  38. {
  39. parameter.Value = value.ToString();
  40. }
  41. else
  42. {
  43. parameter.Value = null;
  44. }
  45. this.SetNewStatus(parameter);
  46. this.UnitOfWork.Add(parameter);
  47. }
  48. else
  49. {
  50. if (value != null)
  51. {
  52. parameter.Value = value.ToString();
  53. }
  54. else
  55. {
  56. parameter.Value = null;
  57. }
  58. this.SetModifyStatus(parameter);
  59. }
  60. this.UnitOfWork.Commit();
  61. }
  62. }
  63. }