/// <summary> /// Функция удаляет выбранного пользователя и все его доступы из базы /// </summary> /// <param name="id">Id пользователя</param> /// <returns></returns> public ActionResult Delete(int?id) { if (!User.HasPermission(Services.User, Actions.Delete)) //Проверка наличия необходимых прав доступа { return(RedirectToAction("AccessDenied", "Shared")); // Если доступа нет, перейти на страницу с ошибкой доступа } if (id == null) // Проверка наличия id в адресе запрашиваемой страницы { RedirectToAction("PageNotFound", "Shared"); // Если id не указан, перейти на страницу с сообщением о том, что запрашиваемая страница не найдена } using (DemoMVC5Entities db = new DemoMVC5Entities()) { User user = db.User.Find(id); // Выполняем запрос к базе по поиску пользователя с указанным id с указанным if (user != null) // Если пользователь найден { List <Access> Acesses = db.Access.Where(a => a.User == id).ToList(); // Получаем список доступов пользователя if (Acesses.Any()) // Если доступы есть { db.Access.RemoveRange(Acesses); // Удаляем доступы из базы } db.User.Remove(user); // Удаляем пользователя из базы db.SaveChanges(); // Сохраняем изменения return(RedirectToAction("Users")); //Возвращаемся к списку пользователей } } return(View()); }
public ActionResult Edit(int?id, int?service, EditAccessesModel model) { if (ModelState.IsValid) { using (DemoMVC5Entities db = new DemoMVC5Entities()) { User user = db.User.FirstOrDefault(u => u.Id == id); // Получаем текущего пользователя из базы List <Actions> ModelActions = model.GetActionsList(); // Получаем список доступов которые необходимо предоставить (выбранные чекбоксы в представлении) foreach (Actions action in Enum.GetValues(typeof(Actions))) // Цикл по всем видам доступов из перечисления { // Получаем строку из базы для указанного пользователя, сервиса и доступа Access access = db.Access.Where(u => u.User == id && u.Service == service && u.Action == (int)action).FirstOrDefault(); if (access == null && ModelActions.Contains(action)) // Если доступа нет, но нужно предоставить { db.Access.Add(new Access { User = (int)id, Service = (int)service, Action = (int)action }); // Добавляем строку доступа в базе } else if (access != null && !ModelActions.Contains(action)) // Если доступ есть, но предоставлять не нужно { db.Access.Remove(access); // Удаляем доступ из базы } db.SaveChanges(); // Сохраняем изменения } return(RedirectToAction("Accesses", "Access", new { id = id })); // Возвращаемся к списку доступов } } return(View()); }
public ActionResult Edit(int?id, EditProductModel model) { if (ModelState.IsValid) { using (DemoMVC5Entities db = new DemoMVC5Entities()) { User user = db.User.FirstOrDefault(u => u.Login == User.Identity.Name); // Изменение товара if (user != null) { Product product = db.Product.Find(id); // Получаем информацию о товаре if (product == null) // Если информация не найдена { RedirectToAction("PageNotFound", "Shared"); // Переходим на страницу с ошибкой } product.Name = model.Name; product.Description = model.Description; product.Count = model.Count; product.Modified = DateTime.Today; product.ModifiedBy = user.Id; db.SaveChanges(); // Заполняем информацию о товаре и сохраняем изменения в базе return(RedirectToAction("Products", "Product")); // Переходим на страницу со списком товаров } } } return(View()); }
public ActionResult Create(CreateUserModel model) { if (ModelState.IsValid) { using (DemoMVC5Entities db = new DemoMVC5Entities()) { // Добавляем нового пользователя в базу даннгых db.User.Add(new User { Login = model.Login, Password = model.Password, FIO = model.FIO, Modified = DateTime.Today }); db.SaveChanges(); // Сохраняем изменения return(RedirectToAction("Users", "Account")); // Переходим к странице со всеми пользоваетлями } } return(View(model)); }
public ActionResult Create(CreateProductModel model) { if (ModelState.IsValid) { using (DemoMVC5Entities db = new DemoMVC5Entities()) { User user = db.User.FirstOrDefault(u => u.Login == User.Identity.Name); // Получение информации о пользователе из базы // Добавление нового товара в базу db.Product.Add(new Product { Name = model.Name, Description = model.Description, Count = model.Count, Modified = DateTime.Today, ModifiedBy = user.Id }); db.SaveChanges(); // Сохранение изменений return(RedirectToAction("Products", "Product")); // Переход к списку всех товаров } } return(View(model)); }
public ActionResult Edit(int?id, EditUserModel model) { if (ModelState.IsValid) { using (DemoMVC5Entities db = new DemoMVC5Entities()) { // Получаем информацию о редактируемом пользователе из базы данных, обновляем данные из модели и сохраняем новую информацию в базе User user = db.User.FirstOrDefault(p => p.Id == id); if (user == null) // Если информация не найдена { RedirectToAction("PageNotFound", "Shared"); // Переходим на страницу с ошибкой } user.Login = model.Login; user.FIO = model.FIO; user.Password = model.Password; user.Modified = DateTime.Today; db.SaveChanges(); // Сохраняем изменения return(RedirectToAction("Users", "Account")); // Возвращаемся к списку всех пользователей } } return(View()); }
/// <summary> /// Удаление товара из базы /// </summary> /// <param name="id">Id товара</param> /// <returns></returns> public ActionResult Delete(int?id) { if (!User.HasPermission(Services.Product, Actions.Delete)) //Проверка наличия необходимых прав доступа { return(RedirectToAction("AccessDenied", "Shared")); // Если доступа нет, перейти на страницу с ошибкой доступа } if (id == null) // Проверка наличия id в адресе запрашиваемой страницы { RedirectToAction("PageNotFound", "Shared"); // Если id не указан, перейти на страницу с сообщением о том, что запрашиваемая страница не найдена } using (DemoMVC5Entities db = new DemoMVC5Entities()) { Product product = db.Product.Find(id); // Выполняем запрос к базе по поиску товара с указанным if (product != null) // Если товар найден { db.Product.Remove(product); // Удаляем товар из базы db.SaveChanges(); // Сохраняем изменения return(RedirectToAction("Products")); // Переходим к списку всех товаров } } return(View()); }