Exemplo n.º 1
0
        /// <summary>
        /// 加密验证码
        /// </summary>
        /// <param name="text">验证码</param>
        /// <returns></returns>
        private static string EncryptVcCode(string text)
        {
            string    clientId  = Guid.NewGuid().ToString();
            string    code      = WuYao.GetMd5(text.ToUpper());
            string    plainText = clientId + "$" + code + "$" + Rand.Str_char(6);
            SqlHelper _sql      = new SqlHelper();

            _sql.OpenDb();
            _sql.Execute(string.Format("insert into tbl_loginverifycode values('{0}','{1}',{2})", clientId, text, DateTime.UtcNow.AddMinutes(3).Ticks));
            _sql.CloseDb();
            return(WuYao.AesEncrypt(plainText));
        }
Exemplo n.º 2
0
 /// <summary>
 /// DataTable转List
 /// </summary>
 /// <typeparam name="T">模板</typeparam>
 /// <param name="dt">DataTable</param>
 /// <param name="model">数据</param>
 /// <returns></returns>
 public static List <T> ToModelList <T>(this DataTable dt) where T : new ()
 {
     try
     {
         if (dt == null || dt.Rows.Count == 0)
         {
             return(new List <T>());
         }
         List <T> ts       = new List <T>();
         Type     type     = typeof(T);
         string   tempName = string.Empty;
         if (dt.Columns.IndexOf("Sno") <= -1)
         {
             dt.Columns.Add("Sno", typeof(int));
         }
         int index = 1;
         foreach (DataRow dr in dt.Rows)
         {
             dr["Sno"] = index;
             T t = new T();
             // 获得此模型的公共属性
             PropertyInfo[] propertys = t.GetType().GetProperties();
             foreach (PropertyInfo pi in propertys)
             {
                 tempName = pi.Name;
                 if (dt.Columns.Contains(tempName))
                 {
                     if (!pi.CanWrite)
                     {
                         continue;
                     }
                     object value = dr[tempName];
                     if (value is DBNull)
                     {
                         continue;
                     }
                     if (pi.PropertyType.Name.ToLower() == "string")
                     {
                         if (value.GetType().Name.ToLower() == "guid")
                         {
                             pi.SetValue(t, value.ToString(), null);
                         }
                         else if (value.GetType().Name.ToLower() == "datetime")
                         {
                             pi.SetValue(t, Convert.ToDateTime(value).ToString("yyyy-MM-dd HH:mm:ss"), null);
                         }
                         else
                         {
                             if (dt.Columns[tempName].Caption.ToLower() == tempName.ToLower())
                             {
                                 pi.SetValue(t, Convert.ToString(value), null);
                             }
                             else if (dt.Columns[tempName].Caption == Constants.EncryptColoumn)
                             {
                                 pi.SetValue(t, WuYao.AesDecrypt(Convert.ToString(value)), null);
                             }
                             else if (dt.Columns[tempName].Caption == Constants.DecryptColoumn)
                             {
                                 pi.SetValue(t, WuYao.AesEncrypt(Convert.ToString(value)), null);
                             }
                             else
                             {
                                 pi.SetValue(t, Convert.ToString(value), null);
                             }
                         }
                     }
                     else if (pi.PropertyType.Name.ToLower() == "lookupmodel")
                     {
                         if (dt.Columns.Contains(string.Concat(tempName, "Name")))
                         {
                             object      valuename = dr[string.Concat(tempName, "Name")];
                             LookUpModel lum       = new LookUpModel();
                             if (valuename != DBNull.Value)
                             {
                                 lum.Id   = Convert.ToString(value);
                                 lum.Name = Convert.ToString(valuename);
                                 pi.SetValue(t, lum, null);
                             }
                             else
                             {
                                 pi.SetValue(t, lum, null);
                                 //throw new Exception(string.Format("The value of column '{0}' is null!", string.Concat(tempName, "Name")));
                             }
                         }
                         else
                         {
                             throw new Exception(string.Format("The column '{0}' dose not exist!", string.Concat(tempName, "Name")));
                         }
                     }
                     else if (pi.PropertyType.Name.ToLower() == "int32" || pi.PropertyType.Name.ToLower() == "nullable`1")
                     {
                         pi.SetValue(t, Convert.ToInt32(value), null);
                     }
                     else if (pi.PropertyType.Name.ToLower() == "decimal")
                     {
                         pi.SetValue(t, Convert.ToDecimal(value), null);
                     }
                     else if (pi.PropertyType.Name.ToLower() == "datetime")
                     {
                         pi.SetValue(t, Convert.ToDateTime(value), null);
                     }
                     else if (pi.PropertyType.Name.ToLower() == "boolean")
                     {
                         pi.SetValue(t, Convert.ToBoolean(value), null);
                     }
                     else if (pi.PropertyType.Name.ToLower() == "guid")
                     {
                         pi.SetValue(t, Guid.Parse(value.ToString()), null);
                     }
                 }
             }
             ts.Add(t);
             index++;
         }
         return(ts);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }