private bool IsUserAuthorizedToEdit(Skizone skizone) { bool isAdmin = this.User.IsInRole("Admin"); bool isAuthor = skizone.IsAuthor(this.User.Identity.GetUserId()); return(isAdmin || isAuthor); }
public ActionResult Create(SkizoneViewModel model, HttpPostedFileBase image) { if (ModelState.IsValid) { using (var db = new BlogDbContext()) { var authorId = User.Identity.GetUserId(); model.AuthorId = authorId; if (image != null) { var allowedContentTypes = new[] { "image/jpeg", "image/jpg", "image/png" }; if (allowedContentTypes.Contains(image.ContentType)) { var imagesPath = "/Content/Images/"; var filename = image.FileName; var uploadPath = imagesPath + filename; var physicalPath = Server.MapPath(uploadPath); image.SaveAs(physicalPath); model.ImagePath = uploadPath; } } var skizone = new Skizone(authorId, model.Name, model.ElevationInfo, model.CategoryId, model.Slopes, model.LiftTicket, model.ContentInfo, model.ImagePath); db.Skizones.Add(skizone); db.SaveChanges(); return(RedirectToAction("Index")); } } return(View(model)); }