public ActionResult Create(User user, string Password, string PasswordConfirm, FormCollection collection) { // Реп if (DataContext.Users.Any(u => u.Email.ToLower() == user.Email.ToLower())) { ShowError("Такой пользователь уже зарегистрирован"); return RedirectToAction("Index"); } // Регистрируем user.PasswordHash = PasswordUtils.GenerateMD5PasswordHash(Password); user.DateRegistred = DateTime.Now; // Устанавливаем допуски для пользователя foreach (var projectId in collection.AllKeys.Where(k => k.StartsWith("project_")).Select(key => Convert.ToInt64(key.Split('_')[1]))) { user.ProjectUsers.Add(new ProjectUser() { ProjectId = projectId, User = user, DateCreated = DateTime.Now }); } foreach (var warehouseId in collection.AllKeys.Where(k => k.StartsWith("warehouse_")).Select(key => Convert.ToInt64(key.Split('_')[1]))) { user.WarehouseKeepers.Add(new WarehouseKeeper() { WarehouseId = warehouseId, User = user, DateCreated = DateTime.Now }); } DataContext.Users.InsertOnSubmit(user); DataContext.SubmitChanges(); ShowSuccess(string.Format("Успешно зарегистрирован пользователь {0} {1}. На его почту отправлено письмо с информацией о регистрации", user.GetFio(), user.Email)); // Уведомляем var notificationModel = new { FIO = user.GetFio(), Email = user.Email, Password = Password }; NotifyEmail(user, "Регистрация в системе LeadControl", new ParametrizedFileTemplate( Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Templates", "Mail", "Register.html"), notificationModel).ToString()); return RedirectToAction("Index"); }
public bool CanChangeStatus(User user) { if (user.IsAdmin()) { return true; } if (user.Id == AssignedUserId || (LeadOrderChangements.Count > 0 && LeadOrderChangements.First().AuthorId == user.Id)) { return true; } return false; }
/// <summary> /// Проверяет, может ли указанный пользователь изменять статус заявки /// </summary> /// <param name="user"></param> /// <returns></returns> public bool CanChangeStatus(User user) { if (user.IsAdmin()) { return true; } if (ManagerId == user.Id && Status != (short) FEAOrderStatus.Completed) { return true; } return false; }
/// <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); }
/// <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); } }
/// <summary> /// Нотифицирует указанного пользователя сообщением по электронной почте /// </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> /// Нотифицирует указанного пользователя указанным сообщением по смс /// </summary> /// <param name="user">Пользователь</param> /// <param name="message">сообщение</param> public void Notify(User user, string message) { Notify(user.Phone,message); }
public ActionResult UpdateProfile(User model) { CurrentUser.FirstName = model.FirstName; CurrentUser.LastName = model.LastName; CurrentUser.SurName = model.SurName; CurrentUser.Phone = model.Phone; DataContext.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; }