using System; using System.Collections.Generic; using System.Linq; using System.Text; using Bowin.Common.Utility; using EMIS.DataLogic.SystemDAL; namespace EMIS.CommonLogic.SystemServices { public class ParameterServices : BaseServices, IParameterServices { public ParameterDAL ParameterDAL { get; set; } public Nullable GetParameterValue(ViewModel.CF_ParameterType parameterType) where T : struct { var parameter = ParameterDAL.ParameterRepository.GetSingle(x => x.ParameterTypeID == (int)parameterType); if (parameter == null || string.IsNullOrEmpty(parameter.Value)) return null; T result; if (parameter.Value.TryParseTo(out result)) { return result; } return null; } public string GetParameterValue(ViewModel.CF_ParameterType parameterType) { var parameter = ParameterDAL.ParameterRepository.GetSingle(x => x.ParameterTypeID == (int)parameterType); if (parameter == null || string.IsNullOrEmpty(parameter.Value)) return null; return parameter.Value; } public void SaveTo(ViewModel.CF_ParameterType parameterType, object value) { var parameter = ParameterDAL.ParameterRepository.GetSingle(x => x.ParameterTypeID == (int)parameterType); if (parameter == null) { parameter = new Entities.CF_Parameter(); parameter.ParameterID = Guid.NewGuid(); parameter.ParameterTypeID = (int)parameterType; if (value != null) { parameter.Value = value.ToString(); } else { parameter.Value = null; } this.SetNewStatus(parameter); this.UnitOfWork.Add(parameter); } else { if (value != null) { parameter.Value = value.ToString(); } else { parameter.Value = null; } this.SetModifyStatus(parameter); } this.UnitOfWork.Commit(); } } }