Ejemplo n.º 1
0
        public async Task <IActionResult> Register([FromBody] aa0001 user)
        {
            string checkUser = _context.aa0001
                               .Where(a => a.aa0001c13 == user.aa0001c13)
                               .Select(a => a.aa0001c13).FirstOrDefault();

            if (!string.IsNullOrEmpty(checkUser))
            {
                return(BadRequest(string.Format("This mail {0} is aready exist!", checkUser)));
            }
            MD5    algorithm = MD5.Create();
            string salt      = EncryptData.RandomSalt(12);
            aa0001 outUser   = new aa0001
            {
                aa0001c07 = user.aa0001c13,
                aa0001c08 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                aa0001c11 = user.aa0001c11,
                aa0001c12 = user.aa0001c12,
                aa0001c13 = user.aa0001c13,
                aa0001c14 = user.aa0001c14,
                aa0001c15 = "0",
                aa0001c16 = user.aa0001c16,
                aa0001c20 = salt,
                aa0001c21 = EncryptData.StringToHash(user.aa0001c21, salt, algorithm),
                aa0001c23 = "Not active",
                aa0001c26 = EncryptData.StringToHash(user.aa0001c13, salt, algorithm),
            };

            _context.aa0001.Add(outUser);
            await _context.SaveChangesAsync();

            MailInfo mailInfo = new MailInfo
            {
                mailTo      = outUser.aa0001c13,
                mailSubject = string.Format("Active Account From {0}", baseUrl),
                mailMessage = string.Format("{0}/Account/ActiveUser/?email={1}", baseUrl, outUser.aa0001c13)
            };

            SendMail.SendMailAuto(mailInfo);
            return(Ok("Your are registed! Please check mail and active your account!"));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Create([FromBody] aa0002 role)
        {
            MD5    algorithm = MD5.Create();
            string salt      = EncryptData.RandomSalt(12);
            string roleHash  = EncryptData.StringToHash(role.aa0002c21, salt, algorithm);
            aa0002 checkRole = _db.aa0002
                               .Where(a => a.aa0002c21 == roleHash)
                               .Select(a => a).FirstOrDefault();

            if (checkRole != null)
            {
                return(BadRequest(string.Format("This role {0} is exists!", role.aa0002c21)));
            }
            aa0002 outRole = role;

            outRole.aa0002c20 = salt;
            outRole.aa0002c21 = roleHash;
            _db.aa0002.Add(outRole);
            await _db.SaveChangesAsync();

            return(Ok(string.Format("This role {0} is created!", role.aa0002c21)));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Register([FromBody] aa0001 aa0001)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (IsExists(aa0001.aa0001c11, aa0001.aa0001c14))
            {
                return(BadRequest("This username or email is exists!"));
            }
            string salt = EncryptData.RandomSalt(12);

            aa0001.aa0001c05 = aa0001.aa0001c11;
            aa0001.aa0001c06 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            aa0001.aa0001c16 = "0";
            aa0001.aa0001c17 = "None";
            aa0001.aa0001c23 = EncryptData.StringToHash(aa0001.aa0001c23, salt, MD5.Create());
            _context.aa0001.Add(aa0001);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("Get", new { id = aa0001.aa0001c01 }, aa0001));
        }
Ejemplo n.º 4
0
 public ActionResult Register(Register inUser)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(View(inUser));
         }
         string salt        = EncryptData.RandomSalt(12);
         string ipAdress    = Request.HttpContext.Connection.RemoteIpAddress.ToString();
         string tokenActive = inUser.username.StringToHash(salt, MD5.Create());
         aa0001 regUserInfo = new aa0001
         {
             aa0001c05 = inUser.username,
             aa0001c06 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
             aa0001c11 = inUser.username,
             aa0001c12 = inUser.firstname,
             aa0001c13 = inUser.lastname,
             aa0001c14 = inUser.email,
             aa0001c15 = inUser.phone,
             aa0001c16 = "0",
             aa0001c17 = "None",
             aa0001c21 = salt,
             aa0001c22 = ipAdress,
             aa0001c23 = EncryptData.StringToHash(inUser.password, salt, MD5.Create()),
             aa0001c24 = tokenActive
         };
         HttpClientHandler clientHandler = new HttpClientHandler
         {
             ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return(true); }
         };
         using (HttpClient client = new HttpClient(clientHandler))
         {
             client.BaseAddress = new Uri(baseURI + @"/aa0001/Accounts");
             var respone = client.PostAsJsonAsync <aa0001>("accounts", regUserInfo);
             respone.Wait();
             var result = respone.Result;
             if (result.IsSuccessStatusCode)
             {
                 // Send mail
                 MailInfo mail = new MailInfo
                 {
                     mailTo      = inUser.email,
                     mailSubject = "Active your account in IFM MES",
                     mailMessage = string.Format(@"Click the link below for active your account: {0}/account/activeuser/?token={1}", baseURI, tokenActive)
                 };
                 SendMail.SendMailAuto(mail);
                 ViewData["Message"] = "Your account is registed successful! Please check mail for active it!";
                 return(RedirectToAction(nameof(Login)));
             }
             else
             {
                 ViewData["Message"] = string.Format("Register failure! \n {0}", result.Content.ReadAsStringAsync().GetAwaiter().GetResult());
                 return(View());
             }
         }
     }
     catch
     {
         return(View());
     }
 }