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; }
/// <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; }
/// <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; }
public FormData GetFormData(Guid instanceId, bool allowCreationIfNotExisting = false) { FormData formData; if (!TryGetFormData(instanceId, out formData) && allowCreationIfNotExisting) { formData = new FormData(); AddFormData(instanceId, formData); } return formData; }
public bool TryGetFormData(Guid instanceId, out FormData formData) { using (_resourceLocker.Locker) { return _resourceLocker.Resources.FormData.TryGetValue(instanceId, out formData); } }
public void AddFormData(Guid instanceId, FormData formData) { using (_resourceLocker.Locker) { _resourceLocker.Resources.FormData.Add(instanceId, formData); } }
/// <exclude /> public static bool TryGetFormData(Guid instanceId, out FormData formData) { return _workflowFacade.TryGetFormData(instanceId, out formData); }
internal static void AddFormData(Guid instanceId, FormData formData) { _workflowFacade.AddFormData(instanceId, formData); }