Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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 }));
        }