예제 #1
0
 public ActionResult ResetPassword(LoginModel model, string returnUrl = "")
 {
     try {
         //User user = _userService.GetUserByEmail(model.UserName);
         User user = _userService.GetAll().FirstOrDefault(x => x.Email == model.UserName);
         if (user != null) {
             var salt = "";
             var tempPassword = NewCommonHelper.GenerateRandomString();
             var hashedPassword = SecurityHelper.HashPassword(tempPassword, ref salt);
             user.PassWord = hashedPassword;
             user.PasswordSalt = salt;
             var user2 = new User();
             user2 = user;
             _userService.Update(user2);
             //_emailService.SendResetPasswordEmail(user2, tempPassword);
         } else {
             throw new Exception("Invalid username.");
         }
     } catch (Exception ex) {
         //ModelState.AddModelError("Error", ex.Message);
         //Error("WRONG!");
         return RedirectToAction("Login", ex.Message);
         //return Mode("_ForgotPassword",model);
     }
     return RedirectToAction("Login", "Account");
 }
예제 #2
0
        public void RegisterLogin(LoginModel loginModel)
        {
            try {
                    var user = _userService.GetUserByEmail(loginModel.UserName);

                    FormsAuthentication.SetAuthCookie(loginModel.UserName, loginModel.RememberMe);
                    SessionDataHelper.Username = user.Email;
                    SessionDataHelper.UserId = user.Id;
                    SessionDataHelper.UserRole = user.Role;
                    SessionDataHelper.Latitude = user.Location.Latitude;
                    SessionDataHelper.Longitude = user.Location.Longitude;
                    SessionDataHelper.ZipCode = user.Location.ZipCode;
                    SessionDataHelper.SessionId = System.Web.HttpContext.Current.Session.SessionID;

                    if (SessionDataHelper.UserId != 1) {
                        _loginService.LogUser(SessionDataHelper.UserId, SessionDataHelper.SessionId);
                    }

            } catch (Exception ex) {
                ModelState.AddModelError("Error", ex.Message);
            }
        }
예제 #3
0
        public ActionResult Register(string confirmPassword, User user, TeacherScheduleModel teacherUser, int subject)
        {
            try {
                if (!CommonHelper.IsValidEmail(user.Email)) {
                    throw new Exception("Username must be a valid email address");
                }
                if (confirmPassword.Equals(user.PassWord, StringComparison.Ordinal)) {
                    var salt = "";
                    var email = user.Email;
                    var hashedPassword = SecurityHelper.HashPassword(user.PassWord, ref salt);
                    user.PassWord = hashedPassword;
                    user.PasswordSalt = salt;
                    _locationService.Insert(user.Location);
                    var location = user.Location;
                    user.LocationId = location.Id;
                    user.Location = null;

                    if (teacherUser.Teacher.HourlyRate != 0 || teacherUser.Teacher.ClassRate != 0) {
                        teacherUser.Teacher.Active = false;
                        teacherUser.Teacher.User = user;
                        user = null;
                        _scheduleService.Insert(teacherUser.Schedule);
                        teacherUser.Teacher.ScheduleId = teacherUser.Schedule.Id;
                        _teacherUserService.Insert(teacherUser.Teacher);
                        //_emailService.SendNewUserEmail(teacherUser.Teacher.User, confirmPassword);
                        teacherUser.Teacher.Schedule = teacherUser.Schedule;
                        var teacherOffer = new Teacher_Offers() {
                            TeacherId = teacherUser.Teacher.Id,
                            SubjectId = subject
                        };
                        _teacherOfferService.Insert(teacherOffer);
                    } else {
                        teacherUser = null;
                        _userService.Insert(user);
                        //_emailService.SendNewUserEmail(user, confirmPassword);
                    }

                    var loginModel = new LoginModel() {
                        UserName = email,
                        Password = confirmPassword,
                        RememberMe = false
                    };

                    RegisterLogin(loginModel);
                    //return RedirectToAction("Index", "Home");
                    return Redirect("/Home/Index");
                }
                throw new Exception("Passwords do not match");
            } catch (Exception ex) {
                Error(ex.Message);
                return View(user);
            }
        }
예제 #4
0
        public ActionResult Login(LoginModel loginModel, string returnUrl)
        {
            try {
                if (_userService.ValidateLogin(loginModel.UserName, loginModel.Password)) {
                    var user = _userService.GetUserByEmail(loginModel.UserName);

                    FormsAuthentication.SetAuthCookie(loginModel.UserName, loginModel.RememberMe);
                    SessionDataHelper.Username = user.Email;
                    SessionDataHelper.UserId = user.Id;
                    SessionDataHelper.UserRole = user.Role;
                    SessionDataHelper.Latitude = user.Location.Latitude;
                    SessionDataHelper.Longitude = user.Location.Longitude;
                    SessionDataHelper.ZipCode = user.Location.ZipCode;
                    SessionDataHelper.SessionId = System.Web.HttpContext.Current.Session.SessionID;

                    if (SessionDataHelper.UserId != 1) {
                        _loginService.LogUser(SessionDataHelper.UserId, SessionDataHelper.SessionId);
                    }

                    if (Url.IsLocalUrl(returnUrl)) {
                        return Redirect(returnUrl);
                    }

                    return RedirectToAction("Index", "Home");
                }
                throw new Exception("Your username/password combination was incorrect");
            } catch (Exception ex) {
                ModelState.AddModelError("Error", ex.Message);
            }
            return View(loginModel);
        }
예제 #5
0
 public ActionResult Login(string returnUrl)
 {
     ViewBag.ReturnUrl = returnUrl;
     var model = new LoginModel();
     return View(model);
 }
예제 #6
0
 public ActionResult LoadForgotPassword()
 {
     //var model = new UserSignInModel();
     var model = new LoginModel();
     return View(model);
 }