Exemplo n.º 1
0
        public ActionResult Register(UserMasterBO model, string sessionID)
        {
            List <string> ErrorMessage = new List <string>();
            string        newPassword  = model.Password;
            var           userinfo     = new UserProfileBO();

            if (model.Password != model.ConfirmPassword)
            {
                ViewBag.Message   = "New Password & Confirm Password did not match. Try again.";
                ViewBag.IsSuccess = false;
                return(View(model));
            }

            newPassword.IsComplexPassword(ref ErrorMessage);
            if (ErrorMessage.Count > 0)
            {
                ViewBag.Message   = ErrorMessage.Select(k => k).Aggregate((a, b) => a + "\n" + b);
                ViewBag.IsSuccess = false;
                return(View(model));
            }
            try
            {
                userinfo = UserBusinessInstance.GetUserByLoginName(model.LoginName);
                bool IfUserExists = userinfo.UserID > 0 ? true : false;
                #region Old registration code
                //else
                //{
                //
                //    if (!IfUserExists)
                //    {

                //        model.CreatedBy = 0;
                //        model.JoiningDate = DateTime.Now;
                //        model.Email = model.LoginName;
                //        model.isDeleted = false;
                //        model.isActive = true;
                //        model.IsEmployee = false;
                //        model.AccountStatus = (int)AspectEnums.UserLoginStatus.Active;
                //        sessionID = HttpContext.Session.SessionID.ToString();
                //        int registerEmp = UserBusinessInstance.SubmitNewEmployee(model, sessionID);

                //        ViewBag.IsSuccess = true;
                //        ViewBag.ShowPopup = true;
                //        ViewBag.Message = "Congratulations for being a part of Dream Wedds family.";

                //        return View();
                //    }
                #endregion
                if (IfUserExists && userinfo.AccountStatus == (int)AspectEnums.UserAccountStatus.Pending)
                {
                    userinfo.AccountStatus = (int)AspectEnums.UserLoginStatus.Active;
                    sessionID         = HttpContext.Session.SessionID.ToString();
                    userinfo.Password = model.Password;
                    bool isUpdated = UserBusinessInstance.UpdateUserProfile(userinfo);
                    if (isUpdated)
                    {
                        ViewBag.IsSuccess = true;
                        ViewBag.ShowPopup = true;
                        ViewBag.Message   = "You have created your password. Login now.";
                        return(View("Login"));
                    }
                    else
                    {
                        ViewBag.IsSuccess = true;
                        ViewBag.ShowPopup = true;
                        ViewBag.Message   = "Something went wrong. Try again later.";
                    }
                    return(View(model));
                }
                else
                {
                    ViewBag.Message   = "User with this email address already exists. Please with your email address.";
                    ViewBag.IsSuccess = false;
                    return(View(model));
                }
            }
            catch (DbEntityValidationException ex)
            {
                ViewBag.IsSuccess = false;
                var newException = new FormattedDbEntityValidationException(ex);
                ViewBag.Message = "Error: " + ex;
            }
            catch (Exception e)
            {
                ViewBag.IsSuccess = false;
                ViewBag.Message   = "Error: " + e;
            }
            return(View(model));
        }