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

            //Model Validation
            if (ModelState.IsValid)
            {
                #region //Email is already exist

                var isExist = IsEmailExist(user.EmailID);
                if (isExist)
                {
                    ModelState.AddModelError("Email Exist", "Email is 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 (RegistrationAndLoginDBEntities dc = new RegistrationAndLoginDBEntities())
                {
                    dc.Users.Add(user);
                    dc.SaveChanges();

                    //Send Email to User
                    SendVerificationLinkEmail(user.EmailID, user.ActivationCode.ToString());
                    message = "Registration successfully done. Activation link " + "has been sent to your email id:" + user.EmailID;
                    Status  = true;
                }
                #endregion
            }
            else
            {
                message = "Invalid Request";
            }
            ViewBag.Message = message;
            ViewBag.Status  = Status;
            return(View(user));
        }