public ActionResult CreateDirectory(int?parentId) { CreateDbDirectoryModel model; if (parentId.HasValue) { File parent = _fileService.GetFileById(parentId.Value); if (parent == null) { return(NotFoundView()); } if (!UserIsAllowedToCrud(parent)) { return(AccessDeniedView()); } ViewBag.Parent = parent; model = new CreateDbDirectoryModel { ParentId = parent.Id }; } else { model = new CreateDbDirectoryModel(); } ViewBag.AccessModes = new SelectList(new Dictionary <short, string> { { (short)AccessMode.Any, AccessMode.Any.ToLocalizedString() }, { (short)AccessMode.None, AccessMode.None.ToLocalizedString() }, { (short)AccessMode.OnlyAuthenticated, AccessMode.OnlyAuthenticated.ToLocalizedString() } }, "Key", "Value"); return(View(model)); }
public ActionResult CreateDirectory(CreateDbDirectoryModel model) { ViewBag.AccessModes = new SelectList(new Dictionary <short, string> { { (short)AccessMode.Any, AccessMode.Any.ToLocalizedString() }, { (short)AccessMode.None, AccessMode.None.ToLocalizedString() }, { (short)AccessMode.OnlyAuthenticated, AccessMode.OnlyAuthenticated.ToLocalizedString() } }, "Key", "Value", model.AccessMode); if (!ModelState.IsValid) { ModelState.AddModelError("", ValidationResources.InvalidState); return(View(model)); } if (model.ParentId.HasValue) { File parent = _fileService.GetFileById(model.ParentId.Value); if (parent == null) { return(NotFoundView()); } if (!UserIsAllowedToCrud(parent)) { return(AccessDeniedView()); } ViewBag.Parent = parent; } var file = new File { Uploader = _webHelper.GetCurrentUser(HttpContext), AccessModeShort = model.AccessMode, CreateDate = DateTime.UtcNow, Name = model.Name, IsPublished = true, ParentId = model.ParentId }; _fileService.SaveFile(file); bool isSaved; try { isSaved = _unitOfWork.SaveChanges() > 0; } catch { isSaved = false; } if (isSaved) { Logger.SaveLog(new CreateFileProvider(file)); } else { TempData["Error"] = ValidationResources.CreateDirectoryFailure; } return(RedirectToAction("List", new { file.ParentId, page = 1 })); }