Ejemplo n.º 1
0
        /// <summary>
        /// 从数据库中获取对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public T GetSetting <T>() where T : class
        {
            try
            {
                SystemParameterBll             bll    = new SystemParameterBll(_RepoUri);
                SysparameterInfo               para   = null;
                QueryResult <SysparameterInfo> result = null;

                Type t = typeof(T);
                result = bll.GetSysParameterByID(t.Name);

                if (result.Result == ResultCode.Successful)
                {
                    para = result.QueryObject;
                    string value = para.ParameterValue;
                    if (!string.IsNullOrEmpty(value))
                    {
                        byte[] data = Encoding.UTF8.GetBytes(value);
                        using (MemoryStream stream = new MemoryStream(data))
                        {
                            stream.Position = 0;
                            DataContractSerializer ser = new DataContractSerializer(t);
                            return(ser.ReadObject(stream) as T);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionPolicy.HandleException(ex);
            }
            return(null);
        }
Ejemplo n.º 2
0
 /// <summary>
 ///保存到数据库
 /// </summary>
 /// <param name="info"></param>
 public CommandResult SaveSetting <T>(T info) where T : class
 {
     try
     {
         SystemParameterBll bll = new SystemParameterBll(_RepoUri);
         Type             t     = typeof(T);
         SysparameterInfo para;
         if (info != null)
         {
             DataContractSerializer ser = new DataContractSerializer(t);
             using (MemoryStream stream = new MemoryStream())
             {
                 ser.WriteObject(stream, info);
                 stream.Position = 0;
                 byte[] data = new byte[stream.Length];
                 stream.Read(data, 0, (int)stream.Length);
                 string value = Encoding.UTF8.GetString(data);
                 para = new SysparameterInfo(t.Name, value, string.Empty);
             }
         }
         else
         {
             para = new SysparameterInfo(t.Name, string.Empty, string.Empty);
         }
         return(bll.Insert(para));
     }
     catch (Exception ex)
     {
         ExceptionPolicy.HandleException(ex);
         return(new CommandResult(ResultCode.Fail, ex.Message));
     }
 }