public void CreateDirectory(CreateDirectoryModel model)
 {
     if (string.IsNullOrEmpty(model.DirectoryPath))
     {
         model.DirectoryPath = Path.Combine(FileConstants.FileManagerRootPath);
     }
     FileHelper.CreateDirectory(model.DirectoryPath, model.NewDirectoryName);
 }
Esempio n. 2
0
        public ActionResult CreateDirectory(CreateDirectoryModel model)
        {
            model.TargetUrl = "/" + model.TargetUrl;

            bool processParent = model.TargetUrl != Constants.CdnUrl;

            model.CurrentEntry = new EntryModel(model.TargetUrl, true, processParent);

            if (model.TargetUrl.Contains("..") ||
                !model.TargetUrl.StartsWith(Constants.CdnUrl))
            {
                return(NotFoundView());
            }

            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", ValidationResources.InvalidState);

                return(View(model));
            }

            string targetPath = Server.MapPath(model.TargetUrl);

            string newPath = Path.Combine(targetPath, model.Name);

            if (Directory.Exists(newPath))
            {
                ModelState.AddModelError("", ValidationResources.DuplicateDirectoryName);

                return(View(model));
            }

            bool isSaved;

            try
            {
                Directory.CreateDirectory(newPath);

                isSaved = true;
            }
            catch
            {
                isSaved = false;
            }

            if (isSaved)
            {
                Logger.SaveLog(new CreateDirectoryProvider(model));
            }
            else
            {
                TempData["Error"] = ValidationResources.CreateDirectoryFailure;
            }

            return(RedirectToAction("List", new { currentUrl = _webHelper.MapUrl(newPath) }));
        }
        public CreateDirectoryViewModel(Window view, CreateDirectoryModel model) : base(view, model)
        {
            #region Initialize Properties
            #endregion

            #region Initialize Event
            OkBtClicked = new DelegateCommand(OkBt_Clicked);
            #endregion

            this.model = model;
        }
Esempio n. 4
0
 public async Task CreateDirectoryAsync(CreateDirectoryModel input)
 {
     var dto = new CreateFileInput
     {
         FileContainerName = input.FileContainerName,
         OwnerUserId       = input.OwnerUserId,
         FileName          = input.DirectoryName,
         FileType          = FileType.Directory,
         MimeType          = null,
         ParentId          = input.ParentId,
         Content           = null
     };
     await _service.CreateAsync(dto);
 }
Esempio n. 5
0
        public async Task <IActionResult> CreateDirectory([FromBody] CreateDirectoryModel model)
        {
            try
            {
                if (await CanAccessDirectory(model.ParentId, true))
                {
                    await _documentService.CreateDirectory(model);

                    return(Ok());
                }

                return(PermissionError());
            }
            catch (Exception e)
            {
                return(HandleException(e));
            }
        }
Esempio n. 6
0
        public async Task <IActionResult> Create([FromBody] CreateDirectoryModel model)
        {
            return(await ProcessAsync(async() =>
            {
                var user = await UserService.GetUserByPrincipal(User);

                if (await _directoryService.IsAuthorised(user, model.ParentId))
                {
                    var directory = new DirectoryModel
                    {
                        ParentId = model.ParentId,
                        Name = model.Name,
                        Private = model.Private,
                        StaffOnly = model.StaffOnly
                    };

                    await _directoryService.Create(directory);

                    return Ok("Directory created successfully.");
                }

                return Unauthorized("Access denied.");
            }));
        }