/// <summary> /// GenerateXml /// </summary> /// <param name="folderName"></param> public static void GenerateXml(string folderName) { using (NH.INHibernateRepository rep = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <WindowInfo>() as NH.INHibernateRepository) { var windows = rep.Session.CreateCriteria <WindowInfo>() .Add(NHibernate.Criterion.Expression.Eq("IsActive", true)) .List <WindowInfo>(); foreach (var window in windows) { GenerateWindowXml(folderName + "\\Window\\" + window.Name + ".xml", window); } System.Data.DataTable dt = Feng.Data.DbHelper.Instance.ExecuteDataTable("SELECT DISTINCT GRIDNAME FROM AD_WINDOW_TAB"); foreach (System.Data.DataRow row in dt.Rows) { string gridName = row[0].ToString(); GenerateGridXml(folderName + "\\Grid\\" + gridName + ".xml", gridName); } } }
/// <summary> /// GenerateGridXml /// </summary> /// <param name="fileName"></param> /// <param name="gridName"></param> public static string GenerateGridXml(string fileName, string gridName) { using (NH.INHibernateRepository rep = ServiceProvider.GetService <IRepositoryFactory>().GenerateRepository <GridColumnInfo>() as NH.INHibernateRepository) { XmlDocument xmlDoc = new XmlDocument(); // Write down the XML declaration XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null); // Create the root element XmlElement rootNode = xmlDoc.CreateElement("Grid"); rootNode.SetAttribute("GridName", ProcessXmlString(gridName)); xmlDoc.InsertBefore(xmlDeclaration, xmlDoc.DocumentElement); xmlDoc.AppendChild(rootNode); var gridColumns = rep.Session.CreateCriteria <GridColumnInfo>() .Add(NHibernate.Criterion.Expression.Eq("IsActive", true)) .Add(NHibernate.Criterion.Expression.Eq("GridName", gridName)) .AddOrder(NHibernate.Criterion.Order.Asc("SeqNo")) .List <GridColumnInfo>(); foreach (var gridColumn in gridColumns) { XmlElement columnNode = xmlDoc.CreateElement("GridColumn"); columnNode.SetAttribute("Name", ProcessXmlString(gridColumn.Name)); columnNode.SetAttribute("Caption", ProcessXmlString(gridColumn.Caption)); columnNode.SetAttribute("Help", ProcessXmlString(gridColumn.Help)); columnNode.SetAttribute("Description", ProcessXmlString(gridColumn.Description)); columnNode.SetAttribute("IsDataControl", (gridColumn.GridColumnType != GridColumnType.NoColumn).ToString()); columnNode.SetAttribute("IsSearchControl", (!string.IsNullOrEmpty(gridColumn.SearchControlType)).ToString()); rootNode.AppendChild(columnNode); } var grids = rep.Session.CreateCriteria <GridInfo>() .Add(NHibernate.Criterion.Expression.Eq("IsActive", true)) .Add(NHibernate.Criterion.Expression.Eq("GridName", gridName)) .List <GridInfo>(); foreach (var grid in grids) { XmlElement gridNode = xmlDoc.CreateElement("Grid"); gridNode.SetAttribute("Name", ProcessXmlString(grid.Name)); gridNode.SetAttribute("Help", ProcessXmlString(grid.Help)); gridNode.SetAttribute("Description", ProcessXmlString(grid.Description)); rootNode.AppendChild(gridNode); } var gridRows = rep.Session.CreateCriteria <GridRowInfo>() .Add(NHibernate.Criterion.Expression.Eq("IsActive", true)) .Add(NHibernate.Criterion.Expression.Eq("GridName", gridName)) .List <GridRowInfo>(); foreach (var gridRow in gridRows) { XmlElement rowNode = xmlDoc.CreateElement("GridRow"); rowNode.SetAttribute("Name", ProcessXmlString(gridRow.Name)); rowNode.SetAttribute("Help", ProcessXmlString(gridRow.Help)); rowNode.SetAttribute("Description", ProcessXmlString(gridRow.Description)); rootNode.AppendChild(rowNode); } var gridCells = rep.Session.CreateCriteria <GridCellInfo>() .Add(NHibernate.Criterion.Expression.Eq("IsActive", true)) .Add(NHibernate.Criterion.Expression.Eq("GridName", gridName)) .List <GridCellInfo>(); foreach (var gridCell in gridCells) { XmlElement cellNode = xmlDoc.CreateElement("GridCell"); cellNode.SetAttribute("Name", ProcessXmlString(gridCell.Name)); cellNode.SetAttribute("Help", ProcessXmlString(gridCell.Help)); cellNode.SetAttribute("Description", ProcessXmlString(gridCell.Description)); rootNode.AppendChild(cellNode); } xmlDoc.Save(fileName); return(fileName); } }