public ActionResult EditBook(EditBookViewModel form) { if (ModelState.IsValid) { Books.UpdateBook(form); Books books = new Books(); var allbooks = books.GetAllBooks(); BooksViewModel model = new BooksViewModel(); model.BookList = allbooks; return View("Index", model); } else return View(form); }
public ActionResult EditBook(int id) { var book = Books.GetBook(id); EditBookViewModel model = new EditBookViewModel(); if (book != null) { model.Description = book.Description; model.BookName = book.Name; model.ID = book.ID; model.PeopleWithAccess = Books.GetAllPeopleHasAccess(book.ID); } return View(model); }
public static bool UpdateBook(EditBookViewModel form) { try { var context = new ClanographyContext(); Book newbook = context.Books.FirstOrDefault(i => i.ID == form.ID); newbook.ModifiedDate = DateTime.Now; newbook.ModifierEmail = HttpContext.Current.User.Identity.Name; newbook.Description = form.Description; context.SaveChanges(); //Add Permissions For Others if (!string.IsNullOrWhiteSpace(form.PeopleWithAccess)) { //Clear Permissions BookPermission bp = new BookPermission(); var bplist = context.BookPermissions.Where(i => i.BookID == form.ID); foreach (var item in bplist) { context.BookPermissions.Remove(item); } //self Permission bp.BookID = form.ID; bp.EmailAddress = HttpContext.Current.User.Identity.Name; bp.PermissionFlag = 1; context.BookPermissions.Add(bp); string[] emails = form.PeopleWithAccess.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); foreach (var email in emails) { if (Helpers.Common.IsValidEmail(email)) { //Sends An Email bp = new BookPermission(); bp.BookID = form.ID; bp.EmailAddress = email; bp.PermissionFlag = 1; context.BookPermissions.Add(bp); } } context.SaveChanges(); } return true; } catch (Exception) { return false; } }