public override Dictionary<string, Setting> Settings()
        {
            var settings = base.Settings();
            var storage = new Umbraco.Forms.Data.Storage.PrevalueSourceStorage();
            var prevalueSource = storage.GetPrevalueSource(new Guid("85caeb6a-7dc8-419e-a810-c4faec6c10e6"));

            // done
            return settings;
        }
Esempio n. 2
0
        public override Dictionary <string, Setting> Settings()
        {
            var settings       = base.Settings();
            var storage        = new Umbraco.Forms.Data.Storage.PrevalueSourceStorage();
            var prevalueSource = storage.GetPrevalueSource(new Guid("85caeb6a-7dc8-419e-a810-c4faec6c10e6"));

            // done
            return(settings);
        }
        public override Item HandleExtract(Item item)
        {
            var umbracoform = (UmbracoForm)item;

            //migrate workflowsettings
            if (umbracoform.WorkflowSettings.Count > 0)
            {
                using (var wfs = new Umbraco.Forms.Data.Storage.WorkflowStorage())
                {
                    foreach (var workflowSetting in umbracoform.WorkflowSettings)
                    {
                        var workflow = wfs.GetWorkflow(workflowSetting.Key);
                        if (workflow != null)
                        {
                            workflow.Settings = ReplaceSettings(workflow.Settings, workflowSetting.Value) as Dictionary <string, string>;
                            wfs.UpdateWorkflow(workflow);
                        }
                    }
                }
            }


            //migrate datasource settings
            if (umbracoform.DataSourceId != Guid.Empty)
            {
                using (var dss = new Umbraco.Forms.Data.Storage.DataSourceStorage())
                {
                    var datasource = dss.GetDataSource(umbracoform.DataSourceId);
                    if (datasource != null)
                    {
                        datasource.Settings = ReplaceSettings(datasource.Settings, umbracoform.DataSourceSettings) as Dictionary <string, string>;
                        dss.UpdateDataSource(datasource);
                    }
                }
            }


            //migrate prevaluesource settings
            if (umbracoform.PrevalueSourceSettings.Count > 0)
            {
                using (var pvs = new Umbraco.Forms.Data.Storage.PrevalueSourceStorage())
                {
                    foreach (var prevalueSettings in umbracoform.PrevalueSourceSettings)
                    {
                        var prevalueSource = pvs.GetPrevalueSource(prevalueSettings.Key);
                        if (prevalueSource != null)
                        {
                            prevalueSource.Settings = ReplaceSettings(prevalueSource.Settings, prevalueSettings.Value) as Dictionary <string, string>;
                            pvs.UpdatePreValueSource(prevalueSource);
                        }
                    }
                }
            }


            //migrate field and form settings
            using (var fs = new Umbraco.Forms.Data.Storage.FormStorage())
            {
                var form = fs.GetForm(Guid.Parse(umbracoform.ItemId.Id));
                if (form != null)
                {
                    //handle submit to node id
                    if (umbracoform.GoToPageOnSubmitId != Guid.Empty)
                    {
                        form.GoToPageOnSubmit = ExecutionContext.DatabasePersistence.GetNodeId(umbracoform.GoToPageOnSubmitId);
                    }

                    if (umbracoform.FieldSettings.Count > 0)
                    {
                        foreach (var fieldSetting in umbracoform.FieldSettings)
                        {
                            var field = form.AllFields.Where(x => x.Id == fieldSetting.Key).FirstOrDefault();
                            if (field != null)
                            {
                                field.Settings = ReplaceSettings(field.Settings, fieldSetting.Value) as Dictionary <string, string>;
                            }
                        }


                        fs.UpdateForm(form);
                    }
                }
            }

            return(item);
        }