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); }
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); }
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; }
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; }
// 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; } }