protected override DriverResult Editor(FileUploadPart part, dynamic shapeHelper)
        {
            var settings = part.TypePartDefinition.Settings.GetModel <FileUploadPartSettings>();

            if (settings.HideFileUploadInEditModel)
            {
                var model = new FileUpoadViewModel();
                model.Guid = part.Guid != Guid.Empty ? part.Guid.ToString() : Guid.NewGuid().ToString();

                //FileUploadHidden
                return(ContentShape("Parts_FileUploadHidden_Edit", () =>
                                    shapeHelper.EditorTemplate(TemplateName: "Parts/FileUploadHidden", Model: model, Prefix: Prefix)));
            }

            var result = new List <DriverResult>();

            result.Add(this.FileUpload(part, shapeHelper));

            if (part.Id > 0 && part.Guid != Guid.Empty)
            {
                result.Add(FilesList(part, shapeHelper));
            }
            else
            {
                result.Add(ContentShape("Parts_FilesList", () => shapeHelper.Parts_FilesList(Files: new List <FileDisplayViewModel>(), CurrentUserHasEditAccess: true)));
            }

            return(Combined(result.ToArray()));
        }
        protected override DriverResult Editor(FileUploadPart part, Orchard.ContentManagement.IUpdateModel updater, dynamic shapeHelper)
        {
            var model = new FileUpoadViewModel();

            updater.TryUpdateModel(model, Prefix, null, null);
            part.Guid = Guid.Parse(model.Guid);

            return(Editor(part, shapeHelper));
        }
        private DriverResult FileUpload(FileUploadPart part, dynamic shapeHelper)
        {
            var model = new FileUpoadViewModel();

            model.ContentId   = part.Id;
            model.ContentType = part.ContentItem.ContentType;
            model.Settings    = part.TypePartDefinition.GetFileUploadPartSettings();

            if (part.Id > 0 && part.Guid == Guid.Empty)
            {
                part.Guid = Guid.NewGuid();
            }

            model.Guid = part.Guid != Guid.Empty ? part.Guid.ToString() : Guid.NewGuid().ToString();

            return(ContentShape("Parts_FileUpload_Edit", () =>
                                shapeHelper.EditorTemplate(TemplateName: "Parts/FileUpload", Model: model, Prefix: Prefix)));
        }