public ActionResult CreateBook(BookAuthorClassification bookAuthorClassification, string[] authorChecklist, int?classificationRadio) { AuthorizeAndRedirect(); Tuple <Book, BookValidation> bookTuple = _Manager.CreateBook(bookAuthorClassification, authorChecklist, classificationRadio); if (bookTuple.Item2.IsValid) { ModelState.Clear(); return(RedirectToAction("ListBookDetails", "Book", new { id = bookTuple.Item1.ISBN })); } ValidationMessages.ConvertCodeToMsg(ModelState, bookTuple.Item2.ErrorDict); return(RedirectToAction("CreateBook", "BookAuthorClassification")); }
public ActionResult CreateAuthor(Author author) { AuthorizeAndRedirect(); Tuple <Author, AuthorValidation> authorTuple = _Manager.CreateAuthor(author); if (authorTuple.Item1 != null) { ModelState.Clear(); return(RedirectToAction("ListAuthorDetails", "Author", new { id = Convert.ToInt32(authorTuple.Item1.Aid) })); } ValidationMessages.ConvertCodeToMsg(ModelState, authorTuple.Item2.ErrorDict); return(RedirectToAction("CreateAuthor", "Author")); }
public ActionResult CreateAdmin(Admin admin) { AuthorizeAndRedirect(Rank.SuperAdmin); AdminValidation valid = _Manager.SignUp(admin); if (valid.IsValid) { ViewData.ModelState.Clear(); return(RedirectToAction("AdminPanel", "Admin")); } ValidationMessages.ConvertCodeToMsg(ModelState, valid.ErrorDict); return(RedirectToAction("CreateAdmin", "Admin", null)); }
public ActionResult EditAdminPost(Admin admin) { if (!(admin.Username == Session["authentication"].ToString())) //Allow the user to change their own password even if not admin or higher { AuthorizeAndRedirect(Rank.Admin); } Admin oldAdmin = _Manager.GetAdmin(admin.Username); if ((Rank)Session["Level"] < Rank.SuperAdmin) //Don't allow changing of admin level or classification access if admin who edited is not superadmin { admin.PermissionLevel = oldAdmin.PermissionLevel; admin.CanEditClassifications = oldAdmin.CanEditClassifications; } if (admin.Password == null) { admin.PasswordHash = oldAdmin.PasswordHash; admin.Salt = oldAdmin.Salt; AdminValidation validation = _Manager.EditAdmin(admin, true); if (validation.IsValid) { ViewData.ModelState.Clear(); return(RedirectToAction("AdminPanel", "Admin", null)); } ValidationMessages.ConvertCodeToMsg(ModelState, validation.ErrorDict); } else { Hashing hashing = new Hashing(admin.Password); admin.PasswordHash = hashing.Hash; admin.Salt = hashing.Salt; AdminValidation validation = _Manager.EditAdmin(admin); if (validation.IsValid) { ViewData.ModelState.Clear(); return(RedirectToAction("AdminPanel", "Admin", null)); } ValidationMessages.ConvertCodeToMsg(ModelState, validation.ErrorDict); } return(RedirectToAction("EditAdmin", new { id = admin.Username })); }
public ActionResult Login(Admin admin, string returnBackTo = null) { Tuple <Admin, AdminValidation> validation = _Manager.Login(admin); if (validation.Item2.IsValid) { ViewData.ModelState.Clear(); Session["authentication"] = admin.Username; Session["level"] = _Manager.GetPermissionLevel(admin.Username); Session["classificationEditor"] = validation.Item1.CanEditClassifications; if (String.IsNullOrEmpty(returnBackTo)) { return(RedirectToAction("index", "Home")); } return(Redirect(returnBackTo)); } else { ValidationMessages.ConvertCodeToMsg(ModelState, validation.Item2.ErrorDict); return(RedirectToAction("Login", new { returnBackTo })); } }