public void DeliverFormData(Guid instanceId, string containerLabel, IFlowUiContainerType containerType, IFormMarkupProvider formMarkupProvider, Dictionary<string, object> bindings)
        {
            FormData formData;

            if (WorkflowFacade.TryGetFormData(instanceId, out formData) == false)
            {
                formData = new FormData();
                WorkflowFacade.AddFormData(instanceId, formData);
            }

            formData.ContainerLabel = containerLabel;
            formData.ContainerType = containerType;
            formData.FormDefinition = null;
            formData.FormMarkupProvider = formMarkupProvider;
            formData.Bindings = bindings;
        }
Exemplo n.º 2
0
        /// <exclude />
        public static FormData Deserialize(XElement serializedData)
        {
            using (var cultureInvariant = new ThreadCultureScope(CultureInfo.InvariantCulture))
            {
                IXmlSerializer xmlSerializer = new XmlSerializer(new IValueXmlSerializer[] {
                new SystemPrimitivValueXmlSerializer(),
                new SystemCollectionValueXmlSerializer(),
                new SystemTypesValueXmlSerializer(),
                new CompositeCollectionValueXmlSerializer(),
                new DataFieldDescriptorValueXmlSerializer(),
                new DataTypeDescriptorValueXmlSerializer(),
                new NamedFunctionCallValueXmlSerializer(),
                new SerializerHandlerValueXmlSerializer(),
                new SystemSerializableValueXmlSerializer()});


                FormData formData = new FormData();

                XElement containerLabelElement = serializedData.Elements("ContainerLabel").Single();
                XAttribute containerLabelValueAttribute = containerLabelElement.Attribute("value");
                if (containerLabelValueAttribute != null)
                {
                    formData.ContainerLabel = containerLabelValueAttribute.Value;
                }

                XElement formDefinitionElement = serializedData.Elements("FormDefinition").Single();
                XAttribute formDefinitionValueAttribute = formDefinitionElement.Attribute("value");
                if (formDefinitionValueAttribute != null)
                {
                    formData.FormDefinition = formDefinitionValueAttribute.Value;
                    formData.FormMarkupProvider = new StringBasedFormMarkupProvider(formDefinitionValueAttribute.Value);
                }

                XElement customToolbarDefinitionElement = serializedData.Elements("CustomToolbarDefinition").Single();
                XAttribute customToolbarDefinitionValueAttribute = customToolbarDefinitionElement.Attribute("value");
                if (customToolbarDefinitionValueAttribute != null)
                {
                    formData.CustomToolbarDefinition = customToolbarDefinitionValueAttribute.Value;
                    formData.CustomToolbarMarkupProvider = new StringBasedFormMarkupProvider(customToolbarDefinitionValueAttribute.Value);
                }

                XElement containerTypeElement = serializedData.Elements("ContainerType").Single();
                object containerType = xmlSerializer.Deserialize(containerTypeElement.Elements().Single());
                formData.ContainerType = (IFlowUiContainerType)containerType;

                XElement bindingsElement = serializedData.Elements("Bindings").Single();
                object bindings = xmlSerializer.Deserialize(bindingsElement.Elements().Single());
                formData.Bindings = (Dictionary<string, object>)bindings;

                XElement bindingsValidationRulesElement = serializedData.Elements("BindingsValidationRules").Single();
                object bindingsValidationRules = xmlSerializer.Deserialize(bindingsValidationRulesElement.Elements().Single());
                formData.BindingsValidationRules = (Dictionary<string, List<ClientValidationRule>>)bindingsValidationRules;

                XElement eventHandleFilterTypeElement = serializedData.Elements("EventHandleFilterType").SingleOrDefault();
                if (eventHandleFilterTypeElement != null)
                {
                    Type eventHandleFilterType = TypeManager.GetType(eventHandleFilterTypeElement.Attribute("type").Value);
                    formData.EventHandleFilterType = eventHandleFilterType;
                }

                XElement excludedEventsElement = serializedData.Elements("ExcludedEvents").SingleOrDefault();
                if (excludedEventsElement != null)
                {
                    object excludedEvents = xmlSerializer.Deserialize(excludedEventsElement.Elements().Single());
                    formData.ExcludedEvents = (List<string>)excludedEvents;
                }

                return formData;
            }
        }
        public void DeliverCustomToolbarDefinition(Guid instanceId, string customToolbarDefinition)
        {
            if (string.IsNullOrEmpty(customToolbarDefinition)) throw new ArgumentNullException("customToolbarDefinition");
            FormData formData;

            if (WorkflowFacade.TryGetFormData(instanceId, out formData) == false)
            {
                formData = new FormData();
                WorkflowFacade.AddFormData(instanceId, formData);
            }

            formData.CustomToolbarDefinition = customToolbarDefinition;
        }
Exemplo n.º 4
0
        /// <exclude />
        public static FormData Deserialize(XElement serializedData)
        {
            using (var cultureInvariant = new ThreadCultureScope(CultureInfo.InvariantCulture))
            {
                IXmlSerializer xmlSerializer = new XmlSerializer(new IValueXmlSerializer[] {
                    new SystemPrimitivValueXmlSerializer(),
                    new SystemCollectionValueXmlSerializer(),
                    new SystemTypesValueXmlSerializer(),
                    new CompositeCollectionValueXmlSerializer(),
                    new DataFieldDescriptorValueXmlSerializer(),
                    new DataTypeDescriptorValueXmlSerializer(),
                    new NamedFunctionCallValueXmlSerializer(),
                    new SerializerHandlerValueXmlSerializer(),
                    new SystemSerializableValueXmlSerializer()
                });


                FormData formData = new FormData();

                XElement   containerLabelElement        = serializedData.Elements("ContainerLabel").Single();
                XAttribute containerLabelValueAttribute = containerLabelElement.Attribute("value");
                if (containerLabelValueAttribute != null)
                {
                    formData.ContainerLabel = containerLabelValueAttribute.Value;
                }

                XElement   formDefinitionElement        = serializedData.Elements("FormDefinition").Single();
                XAttribute formDefinitionValueAttribute = formDefinitionElement.Attribute("value");
                if (formDefinitionValueAttribute != null)
                {
                    formData.FormDefinition     = formDefinitionValueAttribute.Value;
                    formData.FormMarkupProvider = new StringBasedFormMarkupProvider(formDefinitionValueAttribute.Value);
                }

                XElement   customToolbarDefinitionElement        = serializedData.Elements("CustomToolbarDefinition").Single();
                XAttribute customToolbarDefinitionValueAttribute = customToolbarDefinitionElement.Attribute("value");
                if (customToolbarDefinitionValueAttribute != null)
                {
                    formData.CustomToolbarDefinition     = customToolbarDefinitionValueAttribute.Value;
                    formData.CustomToolbarMarkupProvider = new StringBasedFormMarkupProvider(customToolbarDefinitionValueAttribute.Value);
                }

                XElement containerTypeElement = serializedData.Elements("ContainerType").Single();
                object   containerType        = xmlSerializer.Deserialize(containerTypeElement.Elements().Single());
                formData.ContainerType = (IFlowUiContainerType)containerType;

                XElement bindingsElement = serializedData.Elements("Bindings").Single();
                object   bindings        = xmlSerializer.Deserialize(bindingsElement.Elements().Single());
                formData.Bindings = (Dictionary <string, object>)bindings;

                XElement bindingsValidationRulesElement = serializedData.Elements("BindingsValidationRules").Single();
                object   bindingsValidationRules        = xmlSerializer.Deserialize(bindingsValidationRulesElement.Elements().Single());
                formData.BindingsValidationRules = (Dictionary <string, List <ClientValidationRule> >)bindingsValidationRules;

                XElement eventHandleFilterTypeElement = serializedData.Elements("EventHandleFilterType").SingleOrDefault();
                if (eventHandleFilterTypeElement != null)
                {
                    Type eventHandleFilterType = TypeManager.GetType(eventHandleFilterTypeElement.Attribute("type").Value);
                    formData.EventHandleFilterType = eventHandleFilterType;
                }

                XElement excludedEventsElement = serializedData.Elements("ExcludedEvents").SingleOrDefault();
                if (excludedEventsElement != null)
                {
                    object excludedEvents = xmlSerializer.Deserialize(excludedEventsElement.Elements().Single());
                    formData.ExcludedEvents = (List <string>)excludedEvents;
                }

                return(formData);
            }
        }
        public void DeliverCustomToolbarDefinition(Guid instanceId, IFormMarkupProvider customToolbarMarkupProvider)
        {
            FormData formData;

            if (WorkflowFacade.TryGetFormData(instanceId, out formData) == false)
            {
                formData = new FormData();
                WorkflowFacade.AddFormData(instanceId, formData);
            }

            formData.CustomToolbarMarkupProvider = customToolbarMarkupProvider;
        }
Exemplo n.º 6
0
        public FormData GetFormData(Guid instanceId, bool allowCreationIfNotExisting = false)
        {
            FormData formData;
            if (!TryGetFormData(instanceId, out formData) && allowCreationIfNotExisting)
            {
                formData = new FormData();
                AddFormData(instanceId, formData);
            }

            return formData;
        }
Exemplo n.º 7
0
 public bool TryGetFormData(Guid instanceId, out FormData formData)
 {
     using (_resourceLocker.Locker)
     {
         return _resourceLocker.Resources.FormData.TryGetValue(instanceId, out formData);
     }
 }
Exemplo n.º 8
0
 public void AddFormData(Guid instanceId, FormData formData)
 {
     using (_resourceLocker.Locker)
     {
         _resourceLocker.Resources.FormData.Add(instanceId, formData);
     }
 }
Exemplo n.º 9
0
 /// <exclude />
 public static bool TryGetFormData(Guid instanceId, out FormData formData)
 {
     return _workflowFacade.TryGetFormData(instanceId, out formData);
 }
Exemplo n.º 10
0
 internal static void AddFormData(Guid instanceId, FormData formData)
 {
     _workflowFacade.AddFormData(instanceId, formData);
 }