Esempio n. 1
0
        public HttpResponseMessage Post(UserCredentialsVM userCredentials)
        {
            try
            {
                #region//Email already exists
                var isExists = registrationInfo.IsEmailExist(userCredentials.Email);
                if (isExists)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.Ambiguous, "Email already Exists in please change  email"));
                }
                #endregion

                #region//Save Data to Database
                bool status = registrationInfo.InsertRegistrationInfo(userCredentials);
                #endregion
                if (status)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, "Registration successfull please verify through email"));
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Registration unsuccessfull"));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Esempio n. 2
0
        public bool InsertRegistrationInfo(UserCredentialsVM userCredentials)
        {
            try
            {
                bool status = false;
                #region//Save Data To Database
                using (TrainingAppEntities1 dc = new TrainingAppEntities1())
                {
                    User user = new User();
                    user.FirstName = userCredentials.FirstName;
                    user.LastName  = userCredentials.LastName;
                    user.IsActive  = true;
                    user.RoleId    = 1;
                    user.CreatedAt = DateTime.Now;
                    user.UpdatedAt = DateTime.Now;
                    var obj = dc.Users.Add(user);
                    dc.SaveChanges();

                    #region//Taking data fromviewmodel and assigning to database entity
                    UserCredential credentials = new UserCredential();
                    credentials.Email = userCredentials.Email;


                    #region//Generate Activation
                    credentials.ActivationCode = Guid.NewGuid();
                    #endregion

                    #region//Password Hashing
                    credentials.Password = Crypto.Hash(userCredentials.Password);
                    #endregion

                    credentials.IsActivated     = true;
                    credentials.IsEmailVerified = false;
                    credentials.UserId          = obj.UserId;
                    dc.UserCredentials.Add(credentials);
                    dc.SaveChanges();
                    #endregion

                    #region//Send Email to User
                    SendVerificationLinkEmail(userCredentials.Email, credentials.ActivationCode.ToString());
                    #endregion
                    status = true;
                }
                #endregion
                return(status);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 3
0
        private bool ValidateCredentials(UserCredentialsVM userCredentialsVM)
        {
            bool isValid = true;

            try
            {
                MailAddress email = new MailAddress(userCredentialsVM.Email);
            }
            catch (Exception)
            {
                isValid = false;
            }
            if (string.IsNullOrWhiteSpace(userCredentialsVM.Password))
            {
                isValid = false;
            }
            return(isValid);
        }
Esempio n. 4
0
        public ActionResult Index(UserCredentialsVM userCredentialsVM)
        {
            if (!ValidateCredentials(userCredentialsVM))
            {
                return(View());
            }
            User user = _userRepository.GetByCredentials(userCredentialsVM.Email, userCredentialsVM.Password);

            if (user == null)
            {
                ModelState.AddModelError("credentials", "Invalid username or password");
                return(View());
            }
            SessionManager.CurentUserContext = Mapper.Map <User, UserContext>(user);
            List <Claim> claims = new List <Claim>();

            claims.Add(new Claim(ClaimTypes.Name, user.Email));
            if (SessionManager.CurentUserContext.IsAdmin)
            {
                claims.Add(new Claim(ClaimTypes.Role, Roles.Admin));
            }
            if (SessionManager.CurentUserContext.IsActive)
            {
                claims.Add(new Claim(ClaimTypes.Role, Roles.User));
            }
            if (SessionManager.CurentUserContext.IsUploader)
            {
                claims.Add(new Claim(ClaimTypes.Role, Roles.Uploader));
            }
            var identity = new ClaimsIdentity(claims.ToArray <Claim>(), DefaultAuthenticationTypes.ApplicationCookie);

            HttpContext.GetOwinContext().Authentication.SignIn(new AuthenticationProperties {
                IsPersistent = userCredentialsVM.RememberMe
            }, identity);
            return(RedirectToAction(MVCManager.Controller.Home.Index));
        }