コード例 #1
0
ファイル: ShortUrlService.cs プロジェクト: chuxinljx/shorturl
 /// <summary>
 /// 获取短链接并插入数据库
 /// </summary>
 /// <param name="url"></param>
 /// <returns></returns>
 public static string DataBaseShortUrl(string url)
 {
     using (var db = new ShortUrldbEntities1())
     {
         string sql  = $"select * from t_ShortUrl where Url COLLATE Chinese_PRC_CS_AS = '{url}'";
         var    turl = db.Database.SqlQuery <t_ShortUrl>(sql).FirstOrDefault();
         if (turl != null)
         {
             return(turl.Code);
         }
         else
         {
             var shorUrlList = UntilHelper.GetShortUrl(url);
             foreach (var item in shorUrlList)
             {
                 sql = $"select * from t_ShortUrl where Code COLLATE Chinese_PRC_CS_AS = '{url}'";
                 var code = db.Database.SqlQuery <t_ShortUrl>(sql).FirstOrDefault();
                 if (code == null)
                 {
                     db.t_ShortUrl.Add(new t_ShortUrl
                     {
                         Code = item,
                         Url  = url
                     });
                     db.SaveChanges();
                     return(item);
                 }
             }
             return("短链接冲突");
         }
     }
 }
コード例 #2
0
 public ActionResult GetValidateCode(string time)
 {
     try
     {
         string code = UntilHelper.CreateRandomCode(4);
         Session["VerifyCode"] = code;
         byte[] bytes = UntilHelper.CreateImage(code);
         return(File(bytes, @"image/jpeg"));
     }
     catch (Exception ex)
     {
         LogHelper.Instance.WriteError(ex, GetType(), MethodBase.GetCurrentMethod().Name);
         throw;
     }
 }
コード例 #3
0
        private async Task <bool> AddAccount(RegisterViewModel model)
        {
            var entity = new Account();

            entity.Id             = Guid.NewGuid();
            entity.Email          = model.Email;
            entity.Name           = model.AccountName;
            entity.Phone          = model.Phone;
            entity.CreateDateTime = DateTime.Now;
            entity.Salt           = Guid.NewGuid().ToString().Replace("-", "");
            entity.Password       = UntilHelper.GetMd5HashCode(model.Password + entity.Salt);
            DataSource.Accounts.Add(entity);
            await DataSource.SaveChangesAsync();

            return(true);
        }
コード例 #4
0
        public async Task <bool> CheckLogin(LoginViewModel model)
        {
            var account = await DataSource.Accounts.FirstOrDefaultAsync(t => t.Name == model.Email || t.Email == model.Email || t.Phone == model.Email);

            if (account == null)
            {
                return(false);
            }
            var password = UntilHelper.GetMd5HashCode(model.Password + account.Salt);

            if (password == account.Password)
            {
                Config.SaveUserId(account.Id);
                return(true);
            }
            return(false);
        }