예제 #1
0
 public bool IsEmailExist(string emailID)
 {
     using (CDMISWebDbEntities de = new CDMISWebDbEntities())
     {
         var v = de.Users.Where(a => a.EmailID == emailID).FirstOrDefault();
         return(v != null);
     }
 }
예제 #2
0
        public ActionResult Registration([Bind(Exclude = "IsEmailVerified,ActivationCode")] User user)
        {
            bool   Status  = false;
            string message = "";

            //Model validation

            if (ModelState.IsValid)

            {
                #region Email exists or not
                var isExist = IsEmailExist(user.EmailID);
                if (isExist)
                {
                    ModelState.AddModelError("EmailExists", "Email already exist");
                    return(View(user));
                }
                #endregion

                #region Generate activation code

                user.ActivationCode = Guid.NewGuid();
                #endregion

                #region password hashing

                user.Password        = Crypto.Hash(user.Password);
                user.ConfirmPassword = Crypto.Hash(user.ConfirmPassword);

                #endregion

                user.IsEmailVerified = false;

                #region Save to database

                using (CDMISWebDbEntities de = new CDMISWebDbEntities())
                {
                    de.Users.Add(user);
                    de.SaveChanges();

                    SendVerificationLinkEmail(user.EmailID, user.ActivationCode.ToString());
                    message = "Registration successfully done. Account activation link is sent to your email id:" +
                              user.EmailID;
                    Status = true;
                }

                #endregion



                #region MyRegion

                #endregion
            }
            else
            {
                message = "Invalid request";
            }
            ViewBag.Message = message;
            ViewBag.Status  = Status;


            return(View(user));
        }