Exemplo n.º 1
0
        public ActionResult Rejestracja(USERS USERS)
        {
            if (ModelState.IsValid)
            {
                var arePasswordsSame = registerRepository.ArePasswordsSame(USERS);
                var arePasswordsNull = registerRepository.IsPasswordNotNull(USERS);
                var areMailsNull     = registerRepository.IsMailNotNull(USERS);
                var areTermsAccepted = registerRepository.AreTermsAccepted(USERS);
                var mail             = db.USERS.SingleOrDefault(x => x.MAIL == USERS.MAIL);
                if (mail != null)
                {
                    ModelState.AddModelError("MAIL", "Adres email jest juz zajęty");
                    return(View());
                }
                else if (areMailsNull)
                {
                    ModelState.AddModelError("MAIL", "Należy podać maila");
                    return(View());
                }
                else if (arePasswordsNull)
                {
                    ModelState.AddModelError("REGISTERPASSWORD", "Należy uzupełnić oba pola hasła");
                    ModelState.AddModelError("REPASSWORD", "Należy uzupełnić oba pola hasła");
                    return(View());
                }
                else if (arePasswordsSame)
                {
                    ModelState.AddModelError("REGISTERPASSWORD", "Hasła muszą być takie same");
                    ModelState.AddModelError("REPASSWORD", "Hasła muszą być takie same");
                    return(View());
                }
                else if (areTermsAccepted)
                {
                    ModelState.AddModelError("TERMS", "Należy zaakceptować regulamin");
                    return(View());
                }
                else
                {
                    USERS.PASSWORD          = registerRepository.Encryption(USERS.REGISTERPASSWORD);
                    USERS.REPASSWORD        = registerRepository.Encryption(USERS.REPASSWORD);
                    USERS.FNAME             = USERS.FNAME;
                    USERS.VERIFIED          = false;
                    USERS.IS_ADMIN          = false;
                    USERS.REGISTER_DATE     = DateTime.Now;
                    USERS.LASTRESETPASSDATE = DateTime.Now.AddDays(-1);

                    db.USERS.Add(USERS);
                    db.SaveChanges();
                    SendVerificationLinkEmail(USERS.MAIL, USERS.USER_ID);
                }
                ModelState.Clear();
                ViewBag.SuccessMessage = "Na maila został przesłany link aktywujący konto. Bez aktywacji nie będziesz w stanie w pełni korzystać z konta!";
                return(View());
            }
            else
            {
                return(View());
            }
        }