public ActionResult Create(User user, string Password, string PasswordConfirm) { // Реп var rep = Locator.GetService<IUsersRepository>(); if (rep.ExistsUserWithLogin(user.Email)) { ShowError("Такой пользователь уже зарегистрирован"); return RedirectToAction("Index"); } // Регистрируем user.PasswordHash = PasswordUtils.GenerateMD5PasswordHash(Password); user.DateRegistred = DateTime.Now; rep.Add(user); rep.SubmitChanges(); ShowSuccess(string.Format("Успешно зарегистрирован пользователь {0} {1}. На его почту отправлено письмо с информацией о регистрации", user.GetFio(), user.Email)); // Уведомляем var notificationModel = new { FIO = user.GetFio(), Email = user.Email, Password = Password }; NotifyEmail(user, "Регистрация в системе SeoLight", new ParametrizedFileTemplate( Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Templates", "Mail", "Register.html"), notificationModel).ToString()); return RedirectToAction("Index"); }
/// <summary> /// Авторизирует текущего пользователя /// </summary> /// <param name="user">Пользователь которого установить как текущего</param> /// <param name="remember">Запомнить ли пользователя</param> public void AuthorizeUser(User user, bool remember = true) { CurrentUser = user; if (remember) { // Устанавливаем собственные авторизационные куки var authCookie = new HttpCookie("auth"); authCookie.Values["identity"] = user.Email; authCookie.Values["pass"] = user.PasswordHash; authCookie.Expires = DateTime.Now.AddDays(365); Response.Cookies.Add(authCookie); } }
public ActionResult UpdateProfile(User model) { CurrentUser.FirstName = model.FirstName; CurrentUser.LastName = model.LastName; CurrentUser.SurName = model.SurName; CurrentUser.Phone = model.Phone; CurrentUser.DateModified = model.DateModified; Locator.GetService<IUsersRepository>().SubmitChanges(); ShowSuccess("Профиль был успешно сохранен"); return RedirectToAction("Profile"); }
private void detach_Users(User entity) { this.SendPropertyChanging(); entity.Role = null; }
private void attach_Users(User entity) { this.SendPropertyChanging(); entity.Role = this; }
/// <summary> /// Уведомляет указанного пользователя посредством Email сообщения /// </summary> /// <param name="user"></param> /// <param name="title"></param> /// <param name="content"></param> public void Notify(User user, string title, string content) { Notify(user.Email,title,content); }
/// <summary> /// Уведомляем указанного пользователя Email сообщением /// </summary> /// <param name="user">Пользователь</param> /// <param name="subject">Тема сообщения</param> /// <param name="content">Содержимое</param> public void NotifyEmail(User user, string subject, string content) { Locator.GetService<IMailNotificationManager>().Notify(user,subject,content); }