Exemplo n.º 1
0
        public static XmlNode Dematerialize(DataTypeDisplayPattern dataTypeDisplayPattern)
        {
            string StringPattern;
            string RegexPattern;

            if (dataTypeDisplayPattern.StringPattern == null)
            {
                StringPattern = "null";
            }
            else
            {
                StringPattern = dataTypeDisplayPattern.StringPattern;
            }

            if (dataTypeDisplayPattern.RegexPattern == null)
            {
                RegexPattern = "null";
            }
            else
            {
                RegexPattern = dataTypeDisplayPattern.RegexPattern;
            }

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.LoadXml("<DisplayPattern>" +
                           "   <Systemtype>" + dataTypeDisplayPattern.Systemtype.ToString() + "</Systemtype>" +
                           "   <Name>" + dataTypeDisplayPattern.Name + "</Name>" +
                           "   <StringPattern>" + StringPattern + "</StringPattern>" +
                           "   <RegexPattern>" + RegexPattern + "</RegexPattern>" +
                           "</DisplayPattern>");
            return(xmlDoc.DocumentElement);
        }
Exemplo n.º 2
0
        public static DataTypeDisplayPattern Materialize(XmlNode extra)
        {
            if (extra != null)
            {
                XmlDocument xmlDoc = extra as XmlDocument;
                XmlNode     xmlNode;

                DataTypeDisplayPattern displayPattern = new DataTypeDisplayPattern();
                if (xmlDoc.GetElementsByTagName("DisplayPattern").Count > 0)
                {
                    xmlNode = XmlUtility.GetXmlNodeByName(xmlDoc.GetElementsByTagName("DisplayPattern").Item(0), "Systemtype");
                    if (xmlNode != null)
                    {
                        foreach (DataTypeCode dtc in Enum.GetValues(typeof(DataTypeCode)))
                        {
                            if (dtc.ToString() == xmlNode.InnerText)
                            {
                                displayPattern.Systemtype = dtc;
                                break;
                            }
                        }
                    }
                    else
                    {
                        return(null);
                    }
                    xmlNode = XmlUtility.GetXmlNodeByName(xmlDoc.GetElementsByTagName("DisplayPattern").Item(0), "Name");
                    if (xmlNode != null && xmlNode.InnerText != "null")
                    {
                        displayPattern.Name = xmlNode.InnerText;
                    }
                    else
                    {
                        displayPattern.Name = null;
                    }
                    xmlNode = XmlUtility.GetXmlNodeByName(xmlDoc.GetElementsByTagName("DisplayPattern").Item(0), "StringPattern");
                    if (xmlNode != null && xmlNode.InnerText != "null")
                    {
                        displayPattern.StringPattern = xmlNode.InnerText;
                    }
                    else
                    {
                        displayPattern.StringPattern = null;
                    }
                    xmlNode = XmlUtility.GetXmlNodeByName(xmlDoc.GetElementsByTagName("RegexPattern").Item(0), "RegexPattern");
                    if (xmlNode != null && xmlNode.InnerText != "null")
                    {
                        displayPattern.RegexPattern = xmlNode.InnerText;
                    }
                    else
                    {
                        displayPattern.RegexPattern = null;
                    }
                    return(displayPattern);
                }
            }
            return(null);
        }
Exemplo n.º 3
0
        public static XmlNode Dematerialize(DataTypeDisplayPattern dataTypeDisplayPattern)
        {
            string StringPattern;
            string RegexPattern;

            if (dataTypeDisplayPattern.StringPattern == null)
                StringPattern = "null";
            else
                StringPattern = dataTypeDisplayPattern.StringPattern;

            if (dataTypeDisplayPattern.RegexPattern == null)
                RegexPattern = "null";
            else
                RegexPattern = dataTypeDisplayPattern.RegexPattern;

            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml( "<DisplayPattern>" +
                            "   <Systemtype>"+ dataTypeDisplayPattern.Systemtype.ToString() + "</Systemtype>" +
                            "   <Name>" + dataTypeDisplayPattern.Name + "</Name>" +
                            "   <StringPattern>" + StringPattern + "</StringPattern>" +
                            "   <RegexPattern>" + RegexPattern + "</RegexPattern>" +
                            "</DisplayPattern>");
            return xmlDoc.DocumentElement;
        }
Exemplo n.º 4
0
        public static DataTypeDisplayPattern Materialize(XmlNode extra)
        {
            if (extra != null)
            {
                XmlDocument xmlDoc = extra as XmlDocument;
                XmlNode xmlNode;

                DataTypeDisplayPattern displayPattern = new DataTypeDisplayPattern();
                if (xmlDoc.GetElementsByTagName("DisplayPattern").Count > 0)
                {
                    xmlNode = XmlUtility.GetXmlNodeByName(xmlDoc.GetElementsByTagName("DisplayPattern").Item(0), "Systemtype");
                    if (xmlNode != null)
                    {
                        foreach (DataTypeCode dtc in Enum.GetValues(typeof(DataTypeCode)))
                        {
                            if (dtc.ToString() == xmlNode.InnerText)
                            {
                                displayPattern.Systemtype = dtc;
                                break;
                            }
                        }
                    }
                    else
                    {
                        return null;
                    }
                    xmlNode = XmlUtility.GetXmlNodeByName(xmlDoc.GetElementsByTagName("DisplayPattern").Item(0), "Name");
                    if(xmlNode != null && xmlNode.InnerText != "null")
                        displayPattern.Name = xmlNode.InnerText;
                    else
                        displayPattern.Name = null;
                    xmlNode = XmlUtility.GetXmlNodeByName(xmlDoc.GetElementsByTagName("DisplayPattern").Item(0), "StringPattern");
                    if (xmlNode != null && xmlNode.InnerText != "null")
                        displayPattern.StringPattern = xmlNode.InnerText;
                    else
                        displayPattern.StringPattern = null;
                    xmlNode = XmlUtility.GetXmlNodeByName(xmlDoc.GetElementsByTagName("RegexPattern").Item(0), "RegexPattern");
                    if (xmlNode != null && xmlNode.InnerText != "null")
                        displayPattern.RegexPattern = xmlNode.InnerText;
                    else
                        displayPattern.RegexPattern = null;
                    return displayPattern;
                }
            }
            return null;
        }
Exemplo n.º 5
0
        // create read data types in bpp
        public void CreateDataTypes(ref DataTable mappedDataTypes)
        {
            DataTypeManager dataTypeManager = new DataTypeManager();

            foreach (DataRow mappedDataType in mappedDataTypes.Rows)
            {
                string dtName = mappedDataType["Name"].ToString();
                string dtDescription = mappedDataType["Description"].ToString();
                DataTypeDisplayPattern dtDisplayPettern =  new DataTypeDisplayPattern();
                TypeCode dtSystemType = new TypeCode();
                foreach (TypeCode type in Enum.GetValues(typeof(TypeCode)))
                {
                    if (type.ToString().Equals(mappedDataType["SystemType"].ToString()))
                    {
                        dtSystemType = type;
                    }
                }

                if (dtSystemType == TypeCode.DateTime)
                {
                    if (mappedDataType["DisplayPattern"] != null && mappedDataType["DisplayPattern"].ToString() != "")
                    {
                        dtDisplayPettern = DataTypeDisplayPattern.Pattern.Where(p => p.Systemtype.Equals(DataTypeCode.DateTime) && p.Name.Equals(mappedDataType["DisplayPattern"].ToString())).FirstOrDefault();
                    }
                    else
                    {
                        dtDisplayPettern = DataTypeDisplayPattern.Pattern.Where(p => p.Name.Equals("DateTimeIso")).FirstOrDefault();
                    }
                }

                DataType dataType = new DataType();
                // get existing dataTypes
                DataType existDT = dataTypeManager.Repo.Get().Where(d =>
                    d.Name.Equals(dtName) &&
                    d.SystemType.ToString().Equals(mappedDataType["SystemType"].ToString())
                    ).FirstOrDefault();
                // return ID of existing dataType or create dataType
                if (existDT == null && dtSystemType != null)
                {
                    dataType = dataTypeManager.Create(dtName, dtDescription, dtSystemType);

                    XmlDocument xmlDoc = new XmlDocument();
                    XmlNode xmlNode;
                    xmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "Extra", null);
                    xmlDoc.AppendChild(xmlNode);
                    xmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "DisplayPattern", null);
                    xmlNode.InnerXml = DataTypeDisplayPattern.Dematerialize(dtDisplayPettern).InnerXml;
                    xmlDoc.DocumentElement.AppendChild(xmlNode);
                    dataType.Extra = xmlDoc;

                    dataTypeManager.Update(dataType);
                }
                else
                {
                    dataType = existDT;
                }

                mappedDataType["DataTypesId"] = dataType.Id;
            }
        }