コード例 #1
0
        public void MapFormDataFields(System.Data.DataRow currentRow)
        {
            // base.MapDataFields (currentRow); // ONLY MAP FORM-LEVEL MEMBERS, BASE MEMBERS ARE MAPPED THROUGH THE CONTROL LOAD PROCESS


            formId = (Int64)currentRow["FormId"];

            switch (formType)
            {
            case Mercury.Server.Core.Forms.Enumerations.FormType.Template: entityFormId = 0; break;

            case Mercury.Server.Core.Forms.Enumerations.FormType.Instance:

                entityFormId = (Int64)currentRow["EntityFormId"];

                entityObjectId = (Int64)currentRow["EntityObjectId"];

                break;
            }

            Description = (String)currentRow["FormDescription"];

            entityType = (Mercury.Server.Core.Enumerations.EntityType)currentRow["EntityType"];

            createAccountInfo.MapDataFields(currentRow, "Create");

            modifiedAccountInfo.MapDataFields(currentRow, "Modified");

            this.ControlId = (Guid)currentRow["FormControlId"];

            return;
        }
コード例 #2
0
        public override void ExtendedPropertiesDeserialize(System.Xml.XmlNode extendedPropertiesXml)
        {
            base.ExtendedPropertiesDeserialize(extendedPropertiesXml);

            // foreach (System.Xml.XmlNode currentPropertyNode in extendedPropertiesXml.SelectNodes ("./Property")) {

            foreach (System.Xml.XmlNode currentPropertyNode in extendedPropertiesXml.ChildNodes)
            {
                switch (currentPropertyNode.Attributes["Name"].InnerText)
                {
                case "EntityType": entityType = (Mercury.Server.Core.Enumerations.EntityType)Convert.ToInt32(currentPropertyNode.InnerText); break;

                case "EntityId": entityObjectId = Convert.ToInt64(currentPropertyNode.InnerText); break;      // BACKWARDS COMPATIBILITY

                case "EntityObjectId": entityObjectId = Convert.ToInt64(currentPropertyNode.InnerText); break;

                case "DisplayAgeFormat": displayAgeFormat = (Mercury.Server.Core.Forms.Enumerations.FormControlEntityDisplayAgeFormat)Convert.ToInt32(currentPropertyNode.InnerText); break;

                case "DisplayStyle": displayStyle = (Mercury.Server.Core.Forms.Enumerations.FormControlEntityDisplayStyle)Convert.ToInt32(currentPropertyNode.InnerText); break;

                case "AllowCustomEntityName": allowCustomEntityName = Convert.ToBoolean(currentPropertyNode.InnerText); break;

                case "EntityName": entityName = currentPropertyNode.InnerText; break;
                }
            }

            return;
        }
コード例 #3
0
        public override void ExtendedPropertiesDeserialize(System.Xml.XmlNode extendedPropertiesXml)
        {
            base.ExtendedPropertiesDeserialize(extendedPropertiesXml);

            foreach (System.Xml.XmlNode currentPropertyNode in extendedPropertiesXml.SelectNodes("./Property"))
            {
                switch (currentPropertyNode.Attributes["Name"].InnerText)
                {
                case "FormName": FormName = currentPropertyNode.InnerText; break;

                case "FormTypeInt32": formType = (Mercury.Server.Core.Forms.Enumerations.FormType)Convert.ToInt32(currentPropertyNode.InnerText); break;

                case "EntityTypeInt32": entityType = (Mercury.Server.Core.Enumerations.EntityType)Convert.ToInt32(currentPropertyNode.InnerText); break;

                case "EntityObjectId": entityObjectId = Convert.ToInt64(currentPropertyNode.InnerText); break;

                case "Orientation": orientation = (Mercury.Server.Core.Forms.Enumerations.FormControlOrientation)Convert.ToInt32(currentPropertyNode.InnerText); break;

                case "PaperSize": paperSize = (Mercury.Server.Core.Forms.Enumerations.FormControlPaperSize)Convert.ToInt32(currentPropertyNode.InnerText); break;

                case "AllowPrecompileEvents": allowPrecompileEvents = Convert.ToBoolean(currentPropertyNode.InnerText); break;
                }
            }

            return;
        }
コード例 #4
0
        public Entity(Application applicationReference, Mercury.Server.Core.Enumerations.EntityType forEntityType)
        {
            InitializeControl(applicationReference);

            entityType = forEntityType;

            return;
        }
コード例 #5
0
        public override void MapDataFields(System.Data.DataRow currentRow)
        {
            base.MapDataFields(currentRow);

            System.Xml.XmlDocument parametersXml = new System.Xml.XmlDocument();


            framework = (Enumerations.WorkflowFramework)Convert.ToInt32(currentRow["Framework"]);

            entityType = (Core.Enumerations.EntityType)Convert.ToInt32(currentRow ["EntityType"]);

            actionVerb = (String)currentRow["ActionVerb"];

            assemblyPath = (String)currentRow["AssemblyPath"];

            assemblyName = (String)currentRow["AssemblyName"];

            assemblyClassName = (String)currentRow["AssemblyClassName"];


            #region Workflow Parameters

            if (!String.IsNullOrEmpty((String)currentRow["WorkflowParameters"]))
            {
                parametersXml.LoadXml((String)currentRow["WorkflowParameters"]);

                workflowParameters = new Dictionary <string, Mercury.Server.Core.Action.ActionParameter> ();


                foreach (System.Xml.XmlNode currentParameterNode in parametersXml.SelectNodes("//Parameter"))
                {
                    try {
                        String parameterName = currentParameterNode.Attributes["Name"].Value;

                        if (!workflowParameters.ContainsKey(parameterName))
                        {
                            workflowParameters.Add(parameterName, new Mercury.Server.Core.Action.ActionParameter());

                            workflowParameters[parameterName].Name = parameterName;

                            if (currentParameterNode.Attributes["DataType"] != null)
                            {
                                workflowParameters[parameterName].DataType = (Mercury.Server.Core.Action.Enumerations.ActionParameterDataType)Convert.ToInt32(currentParameterNode.Attributes["DataType"].Value);
                            }

                            if (currentParameterNode.Attributes["AllowFixedValue"] != null)
                            {
                                workflowParameters[parameterName].AllowFixedValue = Convert.ToBoolean(currentParameterNode.Attributes["AllowFixedValue"].Value);
                            }

                            if (currentParameterNode.Attributes["Required"] != null)
                            {
                                workflowParameters[parameterName].Required = Convert.ToBoolean(currentParameterNode.Attributes["Required"].Value);
                            }

                            if (currentParameterNode.Attributes["ValueType"] != null)
                            {
                                Int32 xmlValueType = 0;

                                Int32.TryParse(currentParameterNode.Attributes["ValueType"].Value, out xmlValueType);

                                workflowParameters[parameterName].ValueType = (Mercury.Server.Core.Action.Enumerations.ActionParameterValueType)xmlValueType;
                            }

                            if (currentParameterNode.Attributes["Description"] != null)
                            {
                                workflowParameters[parameterName].ValueDescription = (String)currentParameterNode.Attributes["Description"].Value;
                            }
                        }
                    }

                    catch (Exception parameterException) {
                        System.Diagnostics.Trace.WriteLineIf(application.TraceSwitchWorkflow.TraceError, parameterException.Message);
                    }
                } // foreach
            }     // if

            #endregion



            System.Data.DataTable permissionTable = application.EnvironmentDatabase.SelectDataTable("SELECT * FROM WorkflowPermission WHERE WorkflowId = " + Id.ToString(), 0);

            foreach (System.Data.DataRow currentPermissionRow in permissionTable.Rows)
            {
                WorkflowPermission permission = new WorkflowPermission(application);

                permission.MapDataFields(currentPermissionRow);

                permissions.Add(permission);
            }

            return;
        }