Ejemplo n.º 1
0
        public object Patch([FromBody] dynamic model, string id)
        {
            FileId fileId = FileId.FromUuid(id);

            IFileInfo info = _helper.GetExistingFileInfo(fileId.PhysicalPath);

            if (info == null)
            {
                return(NotFound());
            }

            dynamic result = null;

            switch (info.Type)
            {
            case FileType.File:
                result = _helper.ToJsonModel(_helper.UpdateFile(model, info));
                break;

            case FileType.Directory:
                result = _helper.ToJsonModel(_helper.UpdateDirectory(model, info));
                break;

            default:
                return(new StatusCodeResult((int)HttpStatusCode.MethodNotAllowed));
            }

            if (result.id != id)
            {
                return(LocationChanged(FilesHelper.GetLocation(result.id), result));
            }

            return(result);
        }
        private object PatchDirectory(dynamic model, FileId fileId)
        {
            var physicalPath = _helper.UpdateDirectory(model, fileId.PhysicalPath);

            return(_helper.ToJsonModel(_provider.GetDirectory(physicalPath)));
        }