Beispiel #1
0
        /// <inheritdoc />
        public void SaveFileDetails(IFileInfo file, FileDetailsRequest fileDetails)
        {
            var propertyChanged = false;

            this.assetManager.RenameFile(file.FileId, fileDetails.FileName);
            if (file.Title != fileDetails.Title)
            {
                file.Title      = fileDetails.Title;
                propertyChanged = true;
            }

            if (file.Description != fileDetails.Description)
            {
                file.Description = fileDetails.Description;
                if (!string.IsNullOrEmpty(file.Description) && file.Description.Length > MaxDescriptionLength)
                {
                    file.Description = file.Description.Substring(0, MaxDescriptionLength);
                }

                propertyChanged = true;
            }

            if (propertyChanged)
            {
                FileManager.Instance.UpdateFile(file);
            }
        }
        public HttpResponseMessage SaveFileDetails(FileDetailsRequest fileDetails)
        {
            var file = FileManager.Instance.GetFile(fileDetails.FileId);

            if (file == null)
            {
                return(this.Request.CreateResponse(HttpStatusCode.NotFound, new { message = "File doesn't exist." }));
            }

            var folder = FolderManager.Instance.GetFolder(file.FolderId);

            if (!FolderPermissionController.CanManageFolder((FolderInfo)folder))
            {
                return(this.Request.CreateResponse(
                           HttpStatusCode.InternalServerError,
                           new { message = LocalizationHelper.GetString("UserHasNoPermissionToManageFileProperties.Error") }));
            }

            ItemsManager.Instance.SaveFileDetails(file, fileDetails);

            return(this.Request.CreateResponse(HttpStatusCode.OK, new { Status = 0 }));
        }