public static void Write() { string path = BaseParams.WinFromsPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建类detail文件 string className = Path.Combine(path, "DialogEditType.cs"); FileStream file = new FileStream(className, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("弹出对话框类型", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Text;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WinFromsNameSpace); sw.WriteLine("{"); sw.WriteLine(" public enum DialogEditType"); sw.WriteLine(" {"); sw.WriteLine(" Add,"); sw.WriteLine(" Edit"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = Path.Combine(BaseParams.SolutionPath, BaseParams.UtilityPath); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建QueryType类 string filepath = Path.Combine(path, "QueryType.cs"); FileStream file = new FileStream(filepath, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("查询种类", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Text;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.UtilityNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 对象查询对象范围"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" [Serializable]"); sw.WriteLine(" public enum QueryType"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 只查询对象本身"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" hql_slf,"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 查询对象以及父对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" hql_pnt,"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 查询出对象以及子对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" hql_son,"); sw.WriteLine(" "); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 查询对象、父对象以及子对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" hql_pnt_son"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = BaseParams.ServicesPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, "BaseService.cs"); #region 创建domain cs文件 FileStream file = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("业务服务基类", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using " + BaseParams.PersistenceNameSpace + ";"); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.ServicesNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public class BaseService<T> where T : BaseEntity"); sw.WriteLine(" {"); sw.WriteLine(" protected String hql_slf = \"\";"); sw.WriteLine(" protected String hql_pnt = \"\";"); //sw.WriteLine(" protected String hql_son = \"\";"); //sw.WriteLine(" protected String hql_pnt_son = \"\";"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 实体数据操作对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public EntityDao<T> EntityDao"); sw.WriteLine(" {"); sw.WriteLine(" get;"); sw.WriteLine(" set;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public BaseService()"); sw.WriteLine(" {"); sw.WriteLine(" this.EntityDao = new EntityDao<T>();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" //保存或者更新对象信息"); sw.WriteLine(" public void SaveOrUpdate(T t)"); sw.WriteLine(" {"); sw.WriteLine(" this.EntityDao.SaveOrUpdate(t);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 保存或者更新对象信息"); sw.WriteLine(" public void SaveOrUpdateList(IList<T> lst)"); sw.WriteLine(" {"); sw.WriteLine(" this.EntityDao.SaveOrUpdate(lst);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 保存客户信息"); sw.WriteLine(" public object Save(T t)"); sw.WriteLine(" {"); sw.WriteLine(" return this.EntityDao.Save(t);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 更新对象信息"); sw.WriteLine(" public void Update(T t, object key)"); sw.WriteLine(" {"); sw.WriteLine(" this.EntityDao.Update(t, key);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 删除对象信息"); sw.WriteLine(" public void Delete(T t)"); sw.WriteLine(" {"); sw.WriteLine(" this.EntityDao.Delete(t);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 删除对象信息"); sw.WriteLine(" public void DeleteList(IList<T> lst)"); sw.WriteLine(" {"); sw.WriteLine(" this.EntityDao.Delete(lst);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 加载对象信息"); sw.WriteLine(" public T Get(Object id)"); sw.WriteLine(" {"); sw.WriteLine(" return this.EntityDao.Get(id);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过hql条件获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public T UniqueResult(string condi, QueryType qt, params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" string hql = this.GetCurrentHql(qt) + condi;"); sw.WriteLine(" return (T)this.EntityDao.UniqueResult(hql, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过Hql自由组合条件获取对象信息"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"condi\"></param>"); sw.WriteLine(" /// <param name=\"qt\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList<T> GetEntitysByHqlCondi(String condi, QueryType qt,"); sw.WriteLine(" Paging paging, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" long fristResult = 0, maxResult = 0;"); sw.WriteLine(" if (paging != null)"); sw.WriteLine(" {"); sw.WriteLine(" fristResult = paging.StartRowIndex;"); sw.WriteLine(" maxResult = paging.PageSize;"); sw.WriteLine(" if (paging.IsCount == true)"); sw.WriteLine(" {"); sw.WriteLine(" string hql = this.GetCurrentHql(qt);"); sw.WriteLine(" hql = hql.Substring(hql.IndexOf(\"from\"));"); sw.WriteLine(" String hql_count = \"select count(*) \""); sw.WriteLine(" + hql.Replace(\"fetch \", \"\") + condi.Substring(0, condi.IndexOf(\"order by\"));"); sw.WriteLine(" Object o = this.EntityDao.UniqueObjectResult(hql_count, ps);"); sw.WriteLine(" long lng = (long)o;"); sw.WriteLine(" paging.RowCount = lng;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" string hql1 = this.GetCurrentHql(qt) + condi;"); sw.WriteLine(" return this.EntityDao.Query(hql1, fristResult, maxResult, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过提交完整Hql语句,进行查询"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList<T> HqlQuery(String hql, Paging paging, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" long fristResult = 0, maxResult = 0;"); sw.WriteLine(" if (paging != null)"); sw.WriteLine(" {"); sw.WriteLine(" fristResult = paging.StartRowIndex;"); sw.WriteLine(" maxResult = paging.PageSize;"); sw.WriteLine(" if (paging.IsCount == true)"); sw.WriteLine(" {"); sw.WriteLine(" if (hql.IndexOf(\"group\") == -1)"); sw.WriteLine(" {"); sw.WriteLine(" String chql = hql.Substring(hql.IndexOf(\"from\"));"); sw.WriteLine(" String hql_count = \"select count(*) \""); sw.WriteLine(" + chql.Replace(\"fetch \", \"\").Substring(0, chql.IndexOf(\"order by\"));"); sw.WriteLine(" Object o = this.EntityDao.UniqueObjectResult(hql_count, ps);"); sw.WriteLine(" long lng = (long)o;"); sw.WriteLine(" paging.RowCount = lng;"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" String chql = hql.Substring(hql.IndexOf(\"from\"));"); sw.WriteLine(" String sql_count = \"select count(*) from (select count(*) \""); sw.WriteLine(" + chql.Replace(\"fetch \", \"\").Substring(0, hql.IndexOf(\"order by\")) + \")\";"); sw.WriteLine(" Object o = this.EntityDao.SqlQuery(sql_count, ps)[0];"); sw.WriteLine(" long lng = (long)o;"); sw.WriteLine(" paging.RowCount = lng;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" return this.EntityDao.Query(hql, fristResult, maxResult, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过提交完整Sql语句,进行查询"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList<U> SqlQuery<U>(String sql, Paging paging, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" long fristResult = 0, maxResult = 0;"); sw.WriteLine(" if (paging != null)"); sw.WriteLine(" {"); sw.WriteLine(" fristResult = paging.StartRowIndex;"); sw.WriteLine(" maxResult = paging.PageSize;"); sw.WriteLine(" if (paging.IsCount == true)"); sw.WriteLine(" {"); sw.WriteLine(" if (sql.IndexOf(\"group\") == -1)"); sw.WriteLine(" {"); sw.WriteLine(" String csql = sql.Substring(sql.IndexOf(\"from\"));"); sw.WriteLine(" String sql_count = \"select count(*) \""); sw.WriteLine(" + csql.Substring(0, csql.IndexOf(\"order by\"));"); sw.WriteLine(" Object o = this.EntityDao.SqlQuery(sql_count, ps)[0];"); sw.WriteLine(" long lng = (long)o;"); sw.WriteLine(" paging.RowCount = lng;"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" String csql = sql.Substring(sql.IndexOf(\"from\"));"); sw.WriteLine(" String sql_count = \"select count(*) from (select count(*) \""); sw.WriteLine(" + csql.Substring(0, csql.IndexOf(\"order by\")) + \")\";"); sw.WriteLine(" Object o = this.EntityDao.SqlQuery(sql_count, ps)[0];"); sw.WriteLine(" long lng = (long)o;"); sw.WriteLine(" paging.RowCount = lng;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" return this.EntityDao.SqlQuery<U>(sql, fristResult, maxResult, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过执行Sql语句,返回DataTable"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public DataTable SqlFillDataTable(String sql, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" return this.EntityDao.SqlFillDataTable(sql, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取对应对象的所有列表信息"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hsqtype\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList<T> GetAllEntitys(QueryType hsqtype)"); sw.WriteLine(" {"); sw.WriteLine(" String hql = this.GetCurrentHql(hsqtype);"); sw.WriteLine(" return this.EntityDao.Query(hql, 0, 0);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private string GetCurrentHql(QueryType hsqtype)"); sw.WriteLine(" {"); sw.WriteLine(" switch (hsqtype)"); sw.WriteLine(" {"); sw.WriteLine(" case QueryType.hql_slf:"); sw.WriteLine(" return this.hql_slf;"); sw.WriteLine(" case QueryType.hql_pnt:"); sw.WriteLine(" return this.hql_pnt;"); //sw.WriteLine(" case QueryType.hql_son:"); //sw.WriteLine(" return this.hql_son;"); //sw.WriteLine(" case QueryType.hql_pnt_son:"); //sw.WriteLine(" return this.hql_pnt_son;"); sw.WriteLine(" }"); sw.WriteLine(" return this.hql_slf;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = BaseParams.PersistencePath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, "EntityDao.Transation.cs"); #region 创建cs文件 FileStream file = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("NH持久层事物操作类", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Collections;"); sw.WriteLine(""); sw.WriteLine("using NHibernate;"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.PersistenceNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public partial class EntityDao<T> where T : BaseEntity"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存对象或更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entity\">需要保存的对象</param>"); sw.WriteLine(" /// <param name=\"session\">NHibernate会话对象</param>"); sw.WriteLine(" public void SaveOrUpdate(T entity, ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" if (entity.DataCreateTime == null)"); sw.WriteLine(" entity.DataCreateTime = System.DateTime.Now;"); sw.WriteLine(" entity.DataUpdateTime = System.DateTime.Now;"); sw.WriteLine(""); sw.WriteLine(" session.SaveOrUpdate(entity);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存对象对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entity\">需要保存的对象</param>"); sw.WriteLine(" public object Save(T entity, ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" if (entity.DataCreateTime == null)"); sw.WriteLine(" entity.DataCreateTime = System.DateTime.Now;"); sw.WriteLine(" entity.DataUpdateTime = System.DateTime.Now;"); sw.WriteLine(""); sw.WriteLine(" return session.Save(entity);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存对象或更新对象集合"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entitys\">需要保存的对象集合</param>"); sw.WriteLine(" /// <param name=\"session\">NHibernate会话对象</param>"); sw.WriteLine(" public void SaveOrUpdate(IList<T> entitys, ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" DateTime dtNow = DateTime.Now;"); sw.WriteLine(" foreach (T entity in entitys)"); sw.WriteLine(" {"); sw.WriteLine(" if (entity.DataCreateTime == null)"); sw.WriteLine(" entity.DataCreateTime = dtNow;"); sw.WriteLine(" entity.DataUpdateTime = dtNow;"); sw.WriteLine(""); sw.WriteLine(" session.SaveOrUpdate(entity);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entity\">需要更新的对象</param>"); sw.WriteLine(" /// <param name=\"key\">更新对象的原始主键</param>"); sw.WriteLine(" /// <param name=\"session\">NHibernate会话对象</param>"); sw.WriteLine(" public void Update(T entity, object key, ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" if (entity.DataCreateTime == null)"); sw.WriteLine(" entity.DataCreateTime = System.DateTime.Now;"); sw.WriteLine(" entity.DataUpdateTime = System.DateTime.Now;"); sw.WriteLine(""); sw.WriteLine(" if (!entity.EntityID.Equals(key))"); sw.WriteLine(" {"); sw.WriteLine(" session.Delete(session.Get(typeof(T), key));"); sw.WriteLine(" session.Save(entity);"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" session.Update(entity, key);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 删除对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entity\">需要删除的对象</param>"); sw.WriteLine(" /// <param name=\"session\">NHibernate会话对象</param>"); sw.WriteLine(" public void Delete(T entity, ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" session.Delete(entity);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 删除对象数组"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entitys\">需要删除的对象数组</param>"); sw.WriteLine(" /// <param name=\"session\">NHibernate会话对象</param>"); sw.WriteLine(" public void Delete(IList<T> entitys, ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" foreach (T entity in entitys)"); sw.WriteLine(" {"); sw.WriteLine(" session.Delete(entity);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// "); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"session\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public T UniqueResult(string hql, ISession session, params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" return (T)this.UniqueObjectResult(hql, session, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// "); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"session\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public object UniqueObjectResult(string hql, ISession session, params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" IQuery q = session.CreateQuery(hql);"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" for (int i = 0; i < ps.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetParameter(i, ps[i]);"); sw.WriteLine(" }"); sw.WriteLine(" return q.UniqueResult();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// "); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"session\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList<T> Query(string hql, ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" return this.Query(hql, 0, 0, session);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL语句进行查询"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hql\">HQL语句查询语句</param>"); sw.WriteLine(" /// <returns>IList集合对象</returns>"); sw.WriteLine(" public IList<T> Query(string hql, ISession session, params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" return this.Query(hql, 0, 0, session, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// "); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"fristResult\"></param>"); sw.WriteLine(" /// <param name=\"maxResults\"></param>"); sw.WriteLine(" /// <param name=\"session\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList<T> Query(string hql, long fristResult, long maxResults, ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" return this.Query(hql, fristResult, maxResults, session, new object[0]);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL语句进行查询"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hql\">HQL语句查询语句</param>"); sw.WriteLine(" /// <returns>IList集合对象</returns>"); sw.WriteLine(" public IList<T> Query(string hql, long fristResult, long maxResults, ISession session, params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" IQuery q = session.CreateQuery(hql);"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" for (int i = 0; i < ps.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetParameter(i, ps[i]);"); sw.WriteLine(" }"); sw.WriteLine(" if (maxResults > 0)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetFirstResult((int)fristResult);"); sw.WriteLine(" q.SetMaxResults((int)maxResults);"); sw.WriteLine(" }"); sw.WriteLine(" return q.List<T>();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// "); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"session\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList SqlQuery(String sql, ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" return this.SqlQuery(sql, 0, 0, session);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过SQL语句进行查询"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"session\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList SqlQuery(String sql, ISession session, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" return this.SqlQuery(sql, 0, 0, session, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// "); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"fristResult\"></param>"); sw.WriteLine(" /// <param name=\"maxResults\"></param>"); sw.WriteLine(" /// <param name=\"session\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList SqlQuery(String sql, long fristResult, long maxResults,"); sw.WriteLine(" ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" return this.SqlQuery(sql, fristResult, maxResults, session,"); sw.WriteLine(" new Object[0]);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL语句进行查询"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"fristResult\"></param>"); sw.WriteLine(" /// <param name=\"maxResults\"></param>"); sw.WriteLine(" /// <param name=\"session\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList SqlQuery(String sql, long fristResult, long maxResults,"); sw.WriteLine(" ISession session, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" IQuery q = session.CreateSQLQuery(sql);"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" for (int i = 0; i < ps.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetParameter(i, ps[i]);"); sw.WriteLine(" }"); sw.WriteLine(" if (maxResults > 0)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetFirstResult((int)fristResult);"); sw.WriteLine(" q.SetMaxResults((int)maxResults);"); sw.WriteLine(" }"); sw.WriteLine(" return q.List();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// "); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"session\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public int SqlExecuteNonQuery(String sql, ISession session)"); sw.WriteLine(" {"); sw.WriteLine(" return this.SqlExecuteNonQuery(sql, session, new Object[0]);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 执行无返回值的SQL语句"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\">SQL语句</param>"); sw.WriteLine(" /// <param name=\"session\">连接状态</param>"); sw.WriteLine(" /// <param name=\"ps\">参数</param>"); sw.WriteLine(" /// <returns>影响的行数</returns>"); sw.WriteLine(" public int SqlExecuteNonQuery(String sql, ISession session, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" IDbConnection connection = session.Connection;"); sw.WriteLine(" IDbCommand cmd = connection.CreateCommand();"); sw.WriteLine(" cmd.CommandText = sql;"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" for (int i = 0; i < ps.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" cmd.Parameters.Add(ps[i]);"); sw.WriteLine(" }"); sw.WriteLine(" return cmd.ExecuteNonQuery();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = Path.Combine(BaseParams.SolutionPath, BaseParams.UtilityPath); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建QueryType类 string filepath = Path.Combine(path, "Utils.cs"); FileStream file = new FileStream(filepath, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("工具集", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Text;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.UtilityNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public class Utils"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 提取list中的键值组合成sql语句中的字符串in条件"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"lst\">条件集合</param>"); sw.WriteLine(" /// <param name=\"prop\">键值名称</param>"); sw.WriteLine(" /// <returns>组合后的sql语句中的in条件</returns>"); sw.WriteLine(" public static string GetSqlInCondiForChar(IList<Object> lst, string prop)"); sw.WriteLine(" {"); sw.WriteLine(" string result = \"(\";"); sw.WriteLine(" foreach (object o in lst)"); sw.WriteLine(" {"); sw.WriteLine(" result += \"'\" + o.GetType().GetProperty(prop).GetValue(o, null).ToString() + \"',\";"); sw.WriteLine(" }"); sw.WriteLine(" if (lst.Count > 0)"); sw.WriteLine(" {"); sw.WriteLine(" result = result.Substring(0, result.Length - 1);"); sw.WriteLine(" }"); sw.WriteLine(" result += \")\";"); sw.WriteLine(" return \"\";"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 提取list中的键值组合成sql语句中的数字in条件"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"lst\">条件集合</param>"); sw.WriteLine(" /// <param name=\"prop\">键值名称</param>"); sw.WriteLine(" /// <returns>组合后的sql语句中的in条件</returns>"); sw.WriteLine(" public static string GetSqlInCondiForNumber(IList<Object> lst, string prop)"); sw.WriteLine(" {"); sw.WriteLine(" string result = \"(\";"); sw.WriteLine(" foreach (object o in lst)"); sw.WriteLine(" {"); sw.WriteLine(" result += o.GetType().GetProperty(prop).GetValue(o, null).ToString() + \",\";"); sw.WriteLine(" }"); sw.WriteLine(" if (lst.Count > 0)"); sw.WriteLine(" {"); sw.WriteLine(" result = result.Substring(0, result.Length - 1);"); sw.WriteLine(" }"); sw.WriteLine(" result += \")\";"); sw.WriteLine(" return \"\";"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = BaseParams.WcfModelsPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, "IMainService.cs"); #region 创建IMainService文件 FileStream file = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("IMainService", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Runtime.Serialization;"); sw.WriteLine("using System.ServiceModel;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WcfModelsNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" // 注意: 如果更改此处的接口名称 \"IMainService\",也必须更新 App.config 中对 \"IMainService\" 的引用。"); sw.WriteLine(" [ServiceContract]"); sw.WriteLine(" public interface IMainService"); sw.WriteLine(" {"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" void DoWork();"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存或更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" void ObjectSaveOrUpdate(ref MyWcfTranserObject transObj);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存或更新对象列表"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" void ObjectSaveOrUpdateList(ref MyWcfTranserObject transObj);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" void ObjectSave(ref MyWcfTranserObject transObj);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" /// <param name=\"key\"></param>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" void ObjectUpdate(ref MyWcfTranserObject transObj, object key);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 删除对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" void ObjectDelete(MyWcfTranserObject transObj);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 删除对象列表"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" void ObjectDeleteList(MyWcfTranserObject transObj);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"MyWcfTranserObject\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" MyWcfTranserObject ObjectGet(MyWcfTranserObject MyWcfTranserObject);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取对应对象所有对象集合"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"qt\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" MyWcfTranserObject ObjectAll(string objectTypeName, QueryType qt);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL条件货物对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"condi\"></param>"); sw.WriteLine(" /// <param name=\"qt\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" MyWcfTranserObject GetObjectByHqlCondi(string objectTypeName, string condi, QueryType qt, int maxDepth, ref Paging paging, params Object[] ps);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL查询语句获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" MyWcfTranserObject GetObjectByHqlQuery(string objectTypeName, String hql, int maxDepth, ref Paging paging, params Object[] ps);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过执行Sql语句,返回DataTable"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" DataTable SqlFillDataTable(String sql, params Object[] ps);"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 调用服务端事物方法的简单通用方法"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"wcfTransObjs\"></param>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"transMethodName\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" [OperationContract]"); sw.WriteLine(" MyWcfTranserObject ExcuteTransationMethod(MyWcfTranserObject wcfTransObjs, string objectTypeName, string transMethodName);"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion path = BaseParams.WcfModelsPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, "MainService.cs"); #region 创建MainService文件 file = new FileStream(path, FileMode.Create); sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("MainService", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Runtime.Serialization;"); sw.WriteLine("using System.ServiceModel;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Reflection;"); sw.WriteLine("using log4net;"); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WcfModelsNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" // 注意: 如果更改此处的类名 \"MainService\",也必须更新 App.config 中对 \"MainService\" 的引用。"); sw.WriteLine(" [ServiceBehavior(IncludeExceptionDetailInFaults = true)]"); sw.WriteLine(" public partial class MainService : IMainService"); sw.WriteLine(" {"); sw.WriteLine(" private static readonly ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);"); sw.WriteLine(""); sw.WriteLine(" public void DoWork()"); sw.WriteLine(" {"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存或更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" public void ObjectSaveOrUpdate(ref MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" MainServiceFactory.Instance.ExcuteSaveOrUpdate(transObj);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存或更新对象列表"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" public void ObjectSaveOrUpdateList(ref MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" MainServiceFactory.Instance.ExcuteSaveOrUpdateList(transObj);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" public void ObjectSave(ref MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" MainServiceFactory.Instance.ExcuteSave(transObj);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" /// <param name=\"key\"></param>"); sw.WriteLine(" public void ObjectUpdate(ref MyWcfTranserObject transObj, object key)"); sw.WriteLine(" {"); sw.WriteLine(" MainServiceFactory.Instance.ExcuteUpdate(transObj, key);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 删除对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" public void ObjectDelete(MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" MainServiceFactory.Instance.ExcuteDelete(transObj);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 删除对象列表"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" public void ObjectDeleteList(MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" MainServiceFactory.Instance.ExcuteDeleteList(transObj);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"MyWcfTranserObject\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public MyWcfTranserObject ObjectGet(MyWcfTranserObject MyWcfTranserObject)"); sw.WriteLine(" {"); sw.WriteLine(" return MainServiceFactory.Instance.ExcuteObjectGet(MyWcfTranserObject);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取对应对象所有对象集合"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"qt\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public MyWcfTranserObject ObjectAll(string objectTypeName, QueryType qt)"); sw.WriteLine(" {"); sw.WriteLine(" return MainServiceFactory.Instance.ExcuteObjectAll(objectTypeName, qt);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL条件货物对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"condi\"></param>"); sw.WriteLine(" /// <param name=\"qt\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public MyWcfTranserObject GetObjectByHqlCondi(string objectTypeName, string condi, QueryType qt, int maxDepth, ref Paging paging, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" return MainServiceFactory.Instance.ExcuteGetObjectByHqlCondi(objectTypeName, condi, qt, maxDepth, paging, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL查询语句获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public MyWcfTranserObject GetObjectByHqlQuery(string objectTypeName, String hql, int maxDepth, ref Paging paging, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" return MainServiceFactory.Instance.ExcuteGetObjectByHqlQuery(objectTypeName, hql, maxDepth, paging, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过执行Sql语句,返回DataTable"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public DataTable SqlFillDataTable(String sql, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" object o = new object();"); sw.WriteLine(" return MainServiceFactory.Instance.ExcuteSqlFillDataTable(sql, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 调用服务端事物方法的简单通用方法"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"wcfTransObjs\"></param>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"transMethodName\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public MyWcfTranserObject ExcuteTransationMethod(MyWcfTranserObject wcfTransObjs, string objectTypeName, string transMethodName)"); sw.WriteLine(" {"); sw.WriteLine(" return MainServiceFactory.Instance.ExcuteTransationMethod(wcfTransObjs, objectTypeName, transMethodName);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write(DbTable dt) { string path = BaseParams.ServicesPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, dt.TitleCaseName + "Service.cs"); #region 创建domain cs文件 FileStream file = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments(dt.Comments, sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using NHibernate;"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine("using " + BaseParams.PersistenceNameSpace + ";"); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.ServicesNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public class " + dt.TitleCaseName + "Service : BaseService<" + dt.TitleCaseName + ">"); sw.WriteLine(" {"); sw.WriteLine(" private static " + dt.TitleCaseName + "Service _instance = new " + dt.TitleCaseName + "Service();"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 实体数据操作对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public EntityDao<" + dt.TitleCaseName + "> " + dt.FieldCaseName + "Dao;"); sw.WriteLine(" private " + dt.TitleCaseName + "Service()"); sw.WriteLine(" {"); sw.WriteLine(" this._" + dt.ParamCaseName + "Dao = new EntityDao<" + dt.TitleCaseName + ">();"); sw.WriteLine(" // hql语句"); sw.WriteLine(" this.hql_slf = \" from " + dt.TitleCaseName + " " + dt.FieldCaseName + "\";"); sw.WriteLine(" this.hql_pnt = \" from " + dt.TitleCaseName + " " + dt.FieldCaseName + "\";"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" this.hql_pnt += \" left join fetch " + dt.FieldCaseName + "." + dr.ParentTitleCaseName + " " + dr.ParentFieldCaseName + "\";"); } //sw.WriteLine(" // 如有从表,此语句不能实施对主表的分页"); //sw.WriteLine(" this.hql_son = \" from " + dt.TitleCaseName + " " + dt.FieldCaseName + "\"; "); //foreach (DbRelation dr in dt.ChildRelations) //{ // if (dr.IncrementalValue == 1) // NH只能满足一个从表的连接 // sw.WriteLine(" this.hql_son += \" left join fetch " + dt.FieldCaseName + "." + dr.ChildTitleCaseName + " " + dr.ChildFieldCaseName + "\";"); //} //sw.WriteLine(" // 如有从表,此语句不能实施对主表的分页"); //sw.WriteLine(" this.hql_pnt_son = \" from " + dt.TitleCaseName + " " + dt.FieldCaseName + "\"; "); //foreach (DbRelation dr in dt.ParentRelations) //{ // sw.WriteLine(" this.hql_pnt_son += \" left join fetch " + dt.FieldCaseName + "." + dr.ParentTitleCaseName + " " + dr.ParentFieldCaseName + "\"; "); //} //foreach (DbRelation dr in dt.ChildRelations) //{ // if (dr.IncrementalValue == 0) // NH只能满足一个从表的连接 // sw.WriteLine(" this.hql_pnt_son += \" left join fetch " + dt.FieldCaseName + "." + dr.ChildTitleCaseName + " " + dr.ChildFieldCaseName + "\"; "); //} sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获得单件模式对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public static " + dt.TitleCaseName + "Service Instance"); sw.WriteLine(" {"); sw.WriteLine(" get { return _instance; }"); sw.WriteLine(" }"); sw.WriteLine(""); // 循环所有索引创建对应查询 foreach (DbIndex di in dt.Indexes) { if (di.IsUnique == true) { if (di.IsPrimaryKey == false) { sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取" + dt.Comments + ""); sw.WriteLine(" /// </summary>"); foreach (DbColumn dc in di.Columns) { sw.WriteLine(" /// <param name=\"" + dc.ParamCaseName + "\">" + dc.Comments + "</param>"); } sw.WriteLine(" /// <param name=\"hsqtype\">查询类型</param>"); sw.WriteLine(" /// <returns>" + dt.Comments + "对象</returns>"); sw.WriteLine(" public " + dt.TitleCaseName + " Get" + dt.TitleCaseName + "By" + di.ColumnsString + "(" + di.ColumnParmsString + ", QueryType hsqtype)"); sw.WriteLine(" {"); int i = 0; foreach (DbColumn dc in di.Columns) { i++; if (i == 1) { sw.WriteLine(" string condi = \" where " + dt.FieldCaseName + "." + dc.TitleCaseName + " = ? \";"); } else { sw.WriteLine(" condi += \" and " + dt.FieldCaseName + "." + dc.TitleCaseName + " = ? \";"); } } sw.WriteLine(" return this.UniqueResult(condi, hsqtype, " + di.ParamsString + ");"); sw.WriteLine(" }"); sw.WriteLine(""); } } else { sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取" + dt.Comments + "列表"); sw.WriteLine(" /// </summary>"); foreach (DbColumn dc in di.Columns) { sw.WriteLine(" /// <param name=\"" + dc.ParamCaseName + "\">" + dc.Comments + "</param>"); } sw.WriteLine(" /// <param name=\"hsqtype\">查询类型</param>"); sw.WriteLine(" /// <param name=\"paging\">分页对象</param>"); sw.WriteLine(" /// <returns>" + dt.Comments + "集合</returns>"); sw.WriteLine(" public IList<" + dt.TitleCaseName + "> Get" + dt.TitleCaseName + "By" + di.ColumnsString + "(" + di.ColumnParmsString + ", QueryType hsqtype, Paging paging)"); sw.WriteLine(" {"); int i = 0; foreach (DbColumn dc in di.Columns) { i++; if (i == 1) { sw.WriteLine(" string condi = \" where " + dt.FieldCaseName + "." + dc.TitleCaseName + " = ? \";"); } else { sw.WriteLine(" condi += \" and " + dt.FieldCaseName + "." + dc.TitleCaseName + " = ? \";"); } } sw.WriteLine(" return this.GetEntitysByHqlCondi(condi, hsqtype, paging, " + di.ParamsString + ");"); sw.WriteLine(" }"); sw.WriteLine(""); } } sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = BaseParams.WcfClientPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建MainServiceProxy类 string filepath = Path.Combine(path, "MainServiceProxy.cs"); FileStream file = new FileStream(filepath, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("MainServiceProxy", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.ServiceModel.Security;"); sw.WriteLine("using System.Reflection;"); sw.WriteLine("using log4net;"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ".ServiceReference1;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WcfClientNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public partial class MainServiceProxy<T>"); sw.WriteLine(" {"); sw.WriteLine(" private static readonly ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);"); sw.WriteLine(""); sw.WriteLine(" private static MainServiceProxy<T> _instance = new MainServiceProxy<T>();"); sw.WriteLine(""); sw.WriteLine(" private MainServiceProxy()"); sw.WriteLine(" {"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获得单件模式对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public static MainServiceProxy<T> Instance"); sw.WriteLine(" {"); sw.WriteLine(" get { return _instance; }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存或更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" public void SaveOrUpdate(ref T t)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" transObj.TransData = t;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.ObjectSaveOrUpdate(ref transObj);"); sw.WriteLine(" t = (T)transObj.TransData;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存或更新对象列表"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" public void SaveOrUpdate(ref List<T> lst)"); sw.WriteLine(" {"); sw.WriteLine(" if (lst.Count > 0)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" transObj.TransData = lst;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.ObjectSaveOrUpdate(ref transObj);"); sw.WriteLine(" lst = (List<T>)transObj.TransData;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" public void Save(ref T t)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" transObj.TransData = t;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.ObjectSave(ref transObj);"); sw.WriteLine(" t = (T)transObj.TransData;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" /// <param name=\"key\"></param>"); sw.WriteLine(" public void Update(ref T t, object key)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" transObj.TransData = t;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.ObjectUpdate(ref transObj, key);"); sw.WriteLine(" t = (T)transObj.TransData;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 删除对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" public void Delete(T t)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" transObj.TransData = t;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.ObjectDelete(transObj);"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 删除对象列表"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\"></param>"); sw.WriteLine(" public void Delete(List<T> lst)"); sw.WriteLine(" {"); sw.WriteLine(" if (lst.Count > 0)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" transObj.TransData = lst;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.ObjectDeleteList(transObj);"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"wcfTransObject\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public T Get(object key)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" transObj.TransData = key;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" transObj = wcfsvc.ObjectGet(transObj);"); sw.WriteLine(" return (T)transObj.TransData;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取对应对象所有对象集合"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"qt\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public List<T> GetObjectAll(QueryType qt)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" transObj = wcfsvc.ObjectAll(typeof(T).FullName, qt);"); sw.WriteLine(" return (List<T>)transObj.TransData;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL条件获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"condi\"></param>"); sw.WriteLine(" /// <param name=\"qt\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public List<T> GetObjectByHqlCondi(string condi, QueryType qt, List<object> ps)"); sw.WriteLine(" {"); sw.WriteLine(" Paging paging = new Paging();"); sw.WriteLine(" paging.IsPaging = false;"); sw.WriteLine(" return this.GetObjectByHqlCondi(condi, qt, ref paging, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL条件获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"condi\"></param>"); sw.WriteLine(" /// <param name=\"qt\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public List<T> GetObjectByHqlCondi(string condi, QueryType qt, ref Paging paging, List<object> ps)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" Paging p = paging;"); sw.WriteLine(" transObj = wcfsvc.GetObjectByHqlCondi(typeof(T).FullName, condi, qt, (int)qt, ref p, ps);"); sw.WriteLine(" paging = p;"); sw.WriteLine(" return (List<T>)transObj.TransData;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL条件获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"condi\"></param>"); sw.WriteLine(" /// <param name=\"qt\"></param>"); sw.WriteLine(" /// <param name=\"maxTransDepth\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public List<T> GetObjectByHqlCondi(string condi, QueryType qt, int maxTransDepth, ref Paging paging, List<object> ps)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" Paging p = paging;"); sw.WriteLine(" transObj = wcfsvc.GetObjectByHqlCondi(typeof(T).FullName, condi, qt, maxTransDepth, ref p, ps);"); sw.WriteLine(" paging = p;"); sw.WriteLine(" return (List<T>)transObj.TransData;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL查询语句获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public List<T> GetObjectByHqlQuery(string hql, int maxTransDepth, List<object> ps)"); sw.WriteLine(" {"); sw.WriteLine(" Paging paging = new Paging();"); sw.WriteLine(" paging.IsPaging = false;"); sw.WriteLine(" return this.GetObjectByHqlQuery(hql, ref paging, maxTransDepth, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过HQL查询语句获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public List<T> GetObjectByHqlQuery(String hql, ref Paging paging, int maxTransDepth, List<object> ps)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" Paging p = paging;"); sw.WriteLine(" transObj = wcfsvc.GetObjectByHqlQuery(typeof(T).FullName, hql, maxTransDepth, ref p, ps);"); sw.WriteLine(" paging = p;"); sw.WriteLine(" return (List<T>)transObj.TransData;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 调用服务端事物方法的简单通用方法"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\"></param>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"paging\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public object ExcuteTransationMethod(object transData, string transMethodName)"); sw.WriteLine(" {"); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject();"); sw.WriteLine(" transObj.ObjectTypeName = typeof(T).FullName;"); sw.WriteLine(" transObj.TransData = transData;"); sw.WriteLine(" using (MainServiceClient wcfsvc = WcfClientFactory.MainServiceClientInstance)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" transObj = wcfsvc.ExcuteTransationMethod(transObj, typeof(T).FullName, transMethodName);"); sw.WriteLine(" return transObj.TransData;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" wcfsvc.Abort();"); sw.WriteLine(" Logger.Error(ex);"); sw.WriteLine(" throw ex;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write(IList <DbTable> dts) { string path = BaseParams.WcfModelsPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, "MyWcfTranserObject.cs"); #region 创建MyWcfTranserObject文件 FileStream file = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("MyWcfTranserObject", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Runtime.Serialization;"); sw.WriteLine("using System.ServiceModel;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WcfModelsNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" [Serializable]"); sw.WriteLine(" [DataContract] "); foreach (DbTable dt in dts) { sw.WriteLine(" [KnownType(typeof(" + dt.TitleCaseName + "))]"); sw.WriteLine(" [KnownType(typeof(List<" + dt.TitleCaseName + ">))]"); } sw.WriteLine(" public class MyWcfTranserObject"); sw.WriteLine(" {"); sw.WriteLine(" public MyWcfTranserObject(string objectTypeName)"); sw.WriteLine(" {"); sw.WriteLine(" this.ObjectTypeName = objectTypeName;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// WCF传递的对象数据"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" [DataMember]"); sw.WriteLine(" public object TransData"); sw.WriteLine(" {"); sw.WriteLine(" get;"); sw.WriteLine(" set;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 传递对象的实体名称"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" [DataMember]"); sw.WriteLine(" public string ObjectTypeName"); sw.WriteLine(" {"); sw.WriteLine(" get;"); sw.WriteLine(" set;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = BaseParams.PersistencePath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, "EntityDao.cs"); #region 创建cs文件 FileStream file = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("NH持久层操作类", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Collections;"); sw.WriteLine(""); sw.WriteLine("using NHibernate;"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.PersistenceNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public partial class EntityDao<T> where T : BaseEntity"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存对象或更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entity\">需要保存的对象</param>"); sw.WriteLine(" public void SaveOrUpdate(T entity)"); sw.WriteLine(" {"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" using (ITransaction trans = session.BeginTransaction())"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" if (entity.DataCreateTime == null)"); sw.WriteLine(" entity.DataCreateTime = System.DateTime.Now;"); sw.WriteLine(" entity.DataUpdateTime = System.DateTime.Now;"); sw.WriteLine(""); sw.WriteLine(" session.SaveOrUpdate(entity);"); sw.WriteLine(" trans.Commit();"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" trans.Rollback();"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存对象或更新对象集合"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entitys\">需要保存的对象结婚</param>"); sw.WriteLine(" public void SaveOrUpdate(IList<T> entitys)"); sw.WriteLine(" {"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" using (ITransaction trans = session.BeginTransaction())"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" DateTime dtNow = DateTime.Now;"); sw.WriteLine(" foreach (T entity in entitys)"); sw.WriteLine(" {"); sw.WriteLine(" if (entity.DataCreateTime == null)"); sw.WriteLine(" entity.DataCreateTime = dtNow;"); sw.WriteLine(" entity.DataUpdateTime = dtNow;"); sw.WriteLine(""); sw.WriteLine(" session.SaveOrUpdate(entity);"); sw.WriteLine(" }"); sw.WriteLine(" trans.Commit();"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" trans.Rollback();"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 保存对象对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entity\">需要保存的对象</param>"); sw.WriteLine(" public object Save(T entity)"); sw.WriteLine(" {"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" using (ITransaction trans = session.BeginTransaction())"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" if (entity.DataCreateTime == null)"); sw.WriteLine(" entity.DataCreateTime = System.DateTime.Now;"); sw.WriteLine(" entity.DataUpdateTime = System.DateTime.Now;"); sw.WriteLine(""); sw.WriteLine(" object id = session.Save(entity);"); sw.WriteLine(" trans.Commit();"); sw.WriteLine(" return id;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" trans.Rollback();"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entity\">需要更新的对象</param>"); sw.WriteLine(" /// <param name=\"key\">更新对象的原始主键</param>"); sw.WriteLine(" public void Update(T entity, object key)"); sw.WriteLine(" {"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" using (ITransaction trans = session.BeginTransaction())"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" if (entity.DataCreateTime == null)"); sw.WriteLine(" entity.DataCreateTime = System.DateTime.Now;"); sw.WriteLine(" entity.DataUpdateTime = System.DateTime.Now;"); sw.WriteLine(""); sw.WriteLine(" if (!entity.EntityID.Equals(key))"); sw.WriteLine(" { "); sw.WriteLine(" session.Delete(session.Get(typeof(T), key));"); sw.WriteLine(" session.Save(entity);"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" session.Update(entity, key);"); sw.WriteLine(" }"); sw.WriteLine(" trans.Commit();"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" trans.Rollback();"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 删除对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entity\">需要删除的对象</param>"); sw.WriteLine(" public void Delete(T entity)"); sw.WriteLine(" {"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" using (ITransaction trans = session.BeginTransaction())"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" session.Delete(entity);"); sw.WriteLine(" trans.Commit();"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" trans.Rollback();"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 删除对象数组"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"entitys\">需要删除的对象数组</param>"); sw.WriteLine(" public void Delete(IList<T> entitys)"); sw.WriteLine(" {"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" using (ITransaction trans = session.BeginTransaction())"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" foreach (T entity in entitys)"); sw.WriteLine(" {"); sw.WriteLine(" session.Delete(entity);"); sw.WriteLine(" }"); sw.WriteLine(" trans.Commit();"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" trans.Rollback();"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过主键返回对应的对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"id\">对象主键</param>"); sw.WriteLine(" /// <returns>对象</returns>"); sw.WriteLine(" public T Get(object id)"); sw.WriteLine(" {"); sw.WriteLine(" T t = default(T);"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" t = session.Get<T>(id);"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" return t;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public T UniqueResult(String hql, params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" return (T)this.UniqueObjectResult(hql, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public Object UniqueObjectResult(String hql, params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" Object obj = null;"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" IQuery q = session.CreateQuery(hql);"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" for (int i = 0; i < ps.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetParameter(i, ps[i]);"); sw.WriteLine(" }"); sw.WriteLine(" obj = q.UniqueResult();"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" return obj;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public IList<T> Query(String hql)"); sw.WriteLine(" {"); sw.WriteLine(" return this.Query(hql, 0, 0);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public IList<T> Query(String hql, params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" return this.Query(hql, 0, 0, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public IList<T> Query(String hql, long fristResult, long maxResults)"); sw.WriteLine(" {"); sw.WriteLine(" return this.Query(hql, fristResult, maxResults, new Object[0]);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public IList<T> Query(String hql, long fristResult, long maxResults,"); sw.WriteLine(" params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" IList<T> list = null;"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" IQuery q = session.CreateQuery(hql);"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" for (int i = 0; i < ps.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetParameter(i, ps[i]);"); sw.WriteLine(" }"); sw.WriteLine(" if (maxResults > 0)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetFirstResult((int)fristResult);"); sw.WriteLine(" q.SetMaxResults((int)maxResults);"); sw.WriteLine(" }"); sw.WriteLine(" list = q.List<T>();"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" return list;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public IList SqlQuery(String sql)"); sw.WriteLine(" {"); sw.WriteLine(" return this.SqlQuery(sql, 0, 0);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public IList SqlQuery(String sql, params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" return this.SqlQuery(sql, 0, 0, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public IList SqlQuery(String sql, long fristResult, long maxResults)"); sw.WriteLine(" {"); sw.WriteLine(" return this.SqlQuery(sql, fristResult, maxResults, new Object[0]);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过sql语句进行查询"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"fristResult\"></param>"); sw.WriteLine(" /// <param name=\"maxResults\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public IList<U> SqlQuery<U>(String sql, long fristResult, long maxResults,"); sw.WriteLine(" params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" IList<U> list = null;"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" IQuery q = session.CreateSQLQuery(sql);"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" for (int i = 0; i < ps.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetParameter(i, ps[i]);"); sw.WriteLine(" }"); sw.WriteLine(" if (maxResults > 0)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetFirstResult((int)fristResult);"); sw.WriteLine(" q.SetMaxResults((int)maxResults);"); sw.WriteLine(" }"); sw.WriteLine(" list = q.List<U>();"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" return list;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过hql语句进行查询"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"hql\"></param>"); sw.WriteLine(" /// <param name=\"fristResult\"></param>"); sw.WriteLine(" /// <param name=\"maxResults\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns>对象List集合</returns>"); sw.WriteLine(" public IList hqlQuery(String hql, long fristResult, long maxResults,"); sw.WriteLine(" params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" IList list = null;"); sw.WriteLine(" ISession session = SessionFactory.GetCurrentSession();"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" IQuery q = session.CreateQuery(hql);"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" for (int i = 0; i < ps.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetParameter(i, ps[i]);"); sw.WriteLine(" }"); sw.WriteLine(" if (maxResults > 0)"); sw.WriteLine(" {"); sw.WriteLine(" q.SetFirstResult((int)fristResult);"); sw.WriteLine(" q.SetMaxResults((int)maxResults);"); sw.WriteLine(" }"); sw.WriteLine(" list = q.List();"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception)"); sw.WriteLine(" {"); sw.WriteLine(" throw;"); sw.WriteLine(" }"); sw.WriteLine(" finally"); sw.WriteLine(" {"); sw.WriteLine(" session.Disconnect();"); sw.WriteLine(" }"); sw.WriteLine(" return list;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 直接调用存储过程"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"procString\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" public void callProcedure(String procString, params object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" IDbCommand cmd = null;"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" cmd = SessionFactory.GetCurrentSession().Connection.CreateCommand();"); sw.WriteLine(" cmd.CommandType = CommandType.StoredProcedure;"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" {"); sw.WriteLine(" foreach (Object obj in ps)"); sw.WriteLine(" {"); sw.WriteLine(" cmd.Parameters.Add(obj);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" cmd.ExecuteNonQuery();"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw new Exception(\"调用存储过程的时候发生错误[sql = \" + procString + \"]\", ex);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 执行无返回值的SQL语句"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\">SQL语句</param>"); sw.WriteLine(" /// <param name=\"session\">连接状态</param>"); sw.WriteLine(" /// <param name=\"ps\">参数</param>"); sw.WriteLine(" /// <returns>影响的行数</returns>"); sw.WriteLine(" public int SqlExecuteNonQuery(String sql, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" IDbConnection connection = SessionFactory.GetCurrentSession().Connection;"); sw.WriteLine(" IDbCommand cmd = connection.CreateCommand();"); sw.WriteLine(" cmd.CommandText = sql;"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" for (int i = 0; i < ps.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" cmd.Parameters.Add(ps[i]);"); sw.WriteLine(" }"); sw.WriteLine(" return cmd.ExecuteNonQuery();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过执行Sql语句,返回DataTable"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\"></param>"); sw.WriteLine(" /// <param name=\"ps\"></param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public DataTable SqlFillDataTable(String sql, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" IDbConnection connection = SessionFactory.GetCurrentSession().Connection;"); sw.WriteLine(" IDbCommand command = connection.CreateCommand();"); sw.WriteLine(" command.CommandText = sql;"); sw.WriteLine(" command.ExecuteNonQuery();"); sw.WriteLine(" if (ps != null)"); sw.WriteLine(" for (int i = 0; i < ps.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" command.Parameters.Add(ps[i]);"); sw.WriteLine(" }"); sw.WriteLine(" IDataReader reader = command.ExecuteReader();"); sw.WriteLine(" DataTable result = new DataTable();"); sw.WriteLine(" //result.Load(reader);//此方法亦可"); sw.WriteLine(" DataTable schemaTable = reader.GetSchemaTable();"); sw.WriteLine(" for (int i = 0; i < schemaTable.Rows.Count; i++)"); sw.WriteLine(" {"); sw.WriteLine(" string columnName = schemaTable.Rows[i][0].ToString();"); sw.WriteLine(" result.Columns.Add(columnName);"); sw.WriteLine(" }"); sw.WriteLine(" while (reader.Read())"); sw.WriteLine(" {"); sw.WriteLine(" int fieldCount = reader.FieldCount;"); sw.WriteLine(" object[] values = new Object[fieldCount];"); sw.WriteLine(" for (int i = 0; i < fieldCount; i++)"); sw.WriteLine(" {"); sw.WriteLine(" values[i] = reader.GetValue(i);"); sw.WriteLine(" }"); sw.WriteLine(" result.Rows.Add(values);"); sw.WriteLine(" }"); sw.WriteLine(" return result;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write(DbTable dt) { string path = Path.Combine(BaseParams.WinFromsPath, "ManagerForms"); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建类detail文件 string className = Path.Combine(path, "frm" + dt.TitleCaseName + "Mng.cs"); FileStream file = new FileStream(className, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments(dt.Comments, sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.ComponentModel;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Drawing;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Windows.Forms;"); sw.WriteLine(""); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine("using " + BaseParams.ControlsNameSpace + ";"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ";"); sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ".ServiceReference1;"); sw.WriteLine("using " + BaseParams.WinFromsNameSpace + ".EditDialogs;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WinFromsNameSpace + ".ManagerForms"); sw.WriteLine("{"); sw.WriteLine(" public partial class frm" + dt.TitleCaseName + "Mng : MyForm"); sw.WriteLine(" {"); sw.WriteLine(" public frm" + dt.TitleCaseName + "Mng()"); sw.WriteLine(" {"); sw.WriteLine(" InitializeComponent();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 创建数据结构。"); sw.WriteLine(" IList<" + dt.TitleCaseName + "> " + dt.ParamCaseName + "List = new List<" + dt.TitleCaseName + ">();"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" IList<" + dr.ParentTable.TitleCaseName + "> " + dr.ParentTitleCaseName + "List = new List<" + dr.ParentTable.TitleCaseName + ">();"); } sw.WriteLine(" // " + dt.TitleCaseName + ",Wcf服务代理对象"); sw.WriteLine(" MainServiceProxy<" + dt.TitleCaseName + "> wcfProxy = MainServiceProxy<" + dt.TitleCaseName + ">.Instance;"); sw.WriteLine(""); sw.WriteLine(" private void frm" + dt.TitleCaseName + "Mng_Load(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" // 转换成可排序的数据对象"); sw.WriteLine(" SortableBindingList<" + dt.TitleCaseName + "> sb" + dt.TitleCaseName + "List = new SortableBindingList<" + dt.TitleCaseName + ">(" + dt.ParamCaseName + "List);"); sw.WriteLine(" " + dt.TitleCaseName + "BindingSource.DataSource = sb" + dt.TitleCaseName + "List;"); sw.WriteLine(" // 绑定数据到控件"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1." + dt.TitleCaseName + "BindingSource = " + dt.TitleCaseName + "BindingSource;"); sw.WriteLine(" // 刷新状态数据"); sw.WriteLine(" FromControlsStateFlash();"); sw.WriteLine(" "); sw.WriteLine(" }"); sw.WriteLine(" "); sw.WriteLine(" private void btnSelect_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); if (dt.PrimaryKey != null) { sw.WriteLine(" string par = this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Text.Trim();"); sw.WriteLine(" // 查询数据"); sw.WriteLine(" List<object> ps = new List<object>();"); sw.WriteLine(" string condi = \"\";"); sw.WriteLine(" if (this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Text.Trim() != \"\")"); sw.WriteLine(" {"); sw.WriteLine(" condi = \" where " + dt.FieldCaseName + "." + dt.PrimaryKey.Columns[0].TitleCaseName + " like ?\";"); sw.WriteLine(" ps.Add(\"%\" + par + \"%\");"); sw.WriteLine(" }"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" Paging paging = this.ucPaging1.DataPaging;"); sw.WriteLine(" paging.CurrentPage = (sender is Paging) ? paging.CurrentPage : 1;"); sw.WriteLine(" " + dt.ParamCaseName + "List = wcfProxy.GetObjectByHqlCondi(condi + \" order by " + dt.FieldCaseName + "." + dt.PrimaryKey.Columns[0].TitleCaseName + " asc\", QueryType.hql_pnt, ref paging, ps);"); sw.WriteLine(" this.ucPaging1.DataPaging = paging;"); sw.WriteLine(" }"); sw.WriteLine(" catch(Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); } sw.WriteLine(" // 转换成可排序的数据对象"); sw.WriteLine(" SortableBindingList<" + dt.TitleCaseName + "> sb" + dt.TitleCaseName + "List = new SortableBindingList<" + dt.TitleCaseName + ">(" + dt.ParamCaseName + "List);"); sw.WriteLine(" // 绑定数据到控件"); sw.WriteLine(" " + dt.TitleCaseName + "BindingSource.DataSource = sb" + dt.TitleCaseName + "List;"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1." + dt.TitleCaseName + "BindingSource = " + dt.TitleCaseName + "BindingSource;"); sw.WriteLine(" // 刷新状态控件"); sw.WriteLine(" FromControlsStateFlash();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnAdd_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" // 获得主表数据集合"); sw.WriteLine(" try"); sw.WriteLine(" {"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" if (" + dr.ParentTitleCaseName + "List.Count == 0)"); sw.WriteLine(" {"); sw.WriteLine(" " + dr.ParentTitleCaseName + "List = MainServiceProxy<" + dr.ParentTable.TitleCaseName + ">.Instance.GetObjectAll(QueryType.hql_slf);"); sw.WriteLine(" }"); } sw.WriteLine(" }"); sw.WriteLine(" catch(Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); sw.WriteLine(" // 打开新增界面"); sw.WriteLine(" dlg" + dt.TitleCaseName + "Edit dlg = new dlg" + dt.TitleCaseName + "Edit();"); sw.WriteLine(" dlg.EditType = DialogEditType.Add;"); sw.WriteLine(" dlg." + dt.TitleCaseName + "BindingSource = this." + dt.TitleCaseName + "BindingSource;"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" dlg." + dr.ParentTitleCaseName + "List = this." + dr.ParentTitleCaseName + "List;"); } sw.WriteLine(" int tempCount = this." + dt.TitleCaseName + "BindingSource.Count;"); sw.WriteLine(" dlg.ShowDialog();"); sw.WriteLine(" this.ucPaging1.DataPaging.RowCount += this." + dt.TitleCaseName + "BindingSource.List.Count - tempCount;"); sw.WriteLine(" // 刷新状态控件"); sw.WriteLine(" FromControlsStateFlash();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnEdit_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" // 获得主表数据集合"); sw.WriteLine(" try"); sw.WriteLine(" {"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" if (" + dr.ParentTitleCaseName + "List.Count == 0)"); sw.WriteLine(" {"); sw.WriteLine(" " + dr.ParentTitleCaseName + "List = MainServiceProxy<" + dr.ParentTable.TitleCaseName + ">.Instance.GetObjectAll(QueryType.hql_slf);"); sw.WriteLine(" }"); } sw.WriteLine(" }"); sw.WriteLine(" catch(Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); sw.WriteLine(" // 打开修改界面"); sw.WriteLine(" dlg" + dt.TitleCaseName + "Edit dlg = new dlg" + dt.TitleCaseName + "Edit();"); sw.WriteLine(" dlg.EditType = DialogEditType.Edit;"); sw.WriteLine(" dlg." + dt.TitleCaseName + "BindingSource = this." + dt.TitleCaseName + "BindingSource;"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" dlg." + dr.ParentTitleCaseName + "List = this." + dr.ParentTitleCaseName + "List;"); } sw.WriteLine(" int tempCount = this." + dt.TitleCaseName + "BindingSource.Count;"); sw.WriteLine(" dlg.ShowDialog();"); sw.WriteLine(" this.ucPaging1.DataPaging.RowCount += this." + dt.TitleCaseName + "BindingSource.List.Count - tempCount;"); sw.WriteLine(" // 刷新状态控件"); sw.WriteLine(" FromControlsStateFlash();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnDelete_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" // 删除选中的所有行"); sw.WriteLine(" if (FormHelper.ShowConfirm(\"您确认删除所有选择的行吗?\"))"); sw.WriteLine(" {"); sw.WriteLine(" List<" + dt.TitleCaseName + "> delList = new List<" + dt.TitleCaseName + ">();"); sw.WriteLine(" foreach (System.Windows.Forms.DataGridViewRow dvrow in this.uc" + dt.TitleCaseName + "Grid1.dgv" + dt.TitleCaseName + ".SelectedRows)"); sw.WriteLine(" {"); sw.WriteLine(" delList.Add((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource[dvrow.Index]);"); sw.WriteLine(" }"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" wcfProxy.Delete(delList);"); sw.WriteLine(" foreach (" + dt.TitleCaseName + " delObj in delList)"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.Remove(delObj);"); sw.WriteLine(" this.ucPaging1.DataPaging.RowCount += -1;"); sw.WriteLine(" }"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Count == 0)"); sw.WriteLine(" {"); sw.WriteLine(" btnSelect_Click(this.ucPaging1.DataPaging, new EventArgs());"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" catch(Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); sw.WriteLine(" // 刷新状态控件"); sw.WriteLine(" FromControlsStateFlash();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnClose_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" this.Close();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 刷新状态控件"); sw.WriteLine(" private void FromControlsStateFlash()"); sw.WriteLine(" {"); sw.WriteLine(" this.btnEdit.Enabled |= (this." + dt.TitleCaseName + "BindingSource.Count > 0);"); sw.WriteLine(" this.btnDelete.Enabled |= (this." + dt.TitleCaseName + "BindingSource.Count > 0);"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Position >= 0)"); sw.WriteLine(" {"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1.dgv" + dt.TitleCaseName + ".Rows[this." + dt.TitleCaseName + "BindingSource.Position].Selected = true;"); sw.WriteLine(" }"); //sw.WriteLine(" this.ucPaging1.DataPaging.PageSize = 25; "); sw.WriteLine(" this.ucPaging1.PagingReflash();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void ucPaging1_PagingChanged(object sender, " + BaseParams.UserControlsNameSpace + ".Utility.MyPagingEventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" btnSelect_Click(this.ucPaging1.DataPaging, new EventArgs());"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion ManagerFormDesignerCoder.Write(dt); ResourceFileCoder.Write(Path.Combine(path, "frm" + dt.TitleCaseName + "Mng.resx")); }
public static void Write() { string path = Path.Combine(BaseParams.SolutionPath, BaseParams.UtilityPath); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建Paging类 string filepath = Path.Combine(path, "Paging.cs"); FileStream file = new FileStream(filepath, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("系统分页类", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Text;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.UtilityNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" [Serializable]"); sw.WriteLine(" public class Paging"); sw.WriteLine(" {"); sw.WriteLine(" private long _pageSize = 20;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 页面大小"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public long PageSize"); sw.WriteLine(" {"); sw.WriteLine(" get { return this._pageSize; }"); sw.WriteLine(" set { this._pageSize = value; }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private bool _isPaging = true;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 是否需要分页"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public bool IsPaging"); sw.WriteLine(" {"); sw.WriteLine(" get { return this._isPaging; }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" if (value == false)"); sw.WriteLine(" this.PageSize = 0;"); sw.WriteLine(" else if (this.PageSize == 0)"); sw.WriteLine(" throw new ApplicationException(\"请先设置分页大小!\");"); sw.WriteLine(""); sw.WriteLine(" this._isPaging = value;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 是否需要获取查询结果总量"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public bool IsCount"); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" return (this.PageSize > 0 && (this.CurrentPage == this.TotalPage || this.CurrentPage == 1));"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private long _currentPage = 1;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 当前页面"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public long CurrentPage"); sw.WriteLine(" {"); sw.WriteLine(" get { return this._currentPage; }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" value = (value > 0) ? value : 1;"); sw.WriteLine(" value = (value <= this.TotalPage) ? value : this.TotalPage;"); sw.WriteLine(" this._currentPage = value;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private long _totalPage = 1;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 总页数"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public long TotalPage"); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" return this._totalPage;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private long _rowCount = 0;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 查询结果总量"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public long RowCount"); sw.WriteLine(" {"); sw.WriteLine(" get { return this._rowCount; }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" if (value < 0) value = 0;"); sw.WriteLine(" this._rowCount = value;"); sw.WriteLine(" double remainder = this.RowCount % this.PageSize;"); sw.WriteLine(" if (remainder == 0)"); sw.WriteLine(" {"); sw.WriteLine(" this._totalPage = this.RowCount / this.PageSize;"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" this._totalPage = (this.RowCount - (int)remainder) / this.PageSize + 1;"); sw.WriteLine(" }"); sw.WriteLine(" this.CurrentPage = (this.CurrentPage <= this.TotalPage) ? this.CurrentPage : this.TotalPage;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 查询开始行"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public long StartRowIndex"); sw.WriteLine(" {"); sw.WriteLine(" get { return ((this.CurrentPage - 1) * this.PageSize); }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write(DbTable dt) { string path = Path.Combine(BaseParams.WinFromsPath, "EditDialogs"); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建类detail文件 string className = Path.Combine(path, "dlg" + dt.TitleCaseName + "Edit.Designer.cs"); FileStream file = new FileStream(className, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments(dt.Comments, sw); sw.WriteLine("namespace " + BaseParams.WinFromsNameSpace + ".EditDialogs"); sw.WriteLine("{"); sw.WriteLine(" partial class dlg" + dt.TitleCaseName + "Edit"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 必需的设计器变量。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" private System.ComponentModel.IContainer components = null;"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 清理所有正在使用的资源。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"disposing\">如果应释放托管资源,为 true;否则为 false。</param>"); sw.WriteLine(" protected override void Dispose(bool disposing)"); sw.WriteLine(" {"); sw.WriteLine(" if (disposing && (components != null))"); sw.WriteLine(" {"); sw.WriteLine(" components.Dispose();"); sw.WriteLine(" }"); sw.WriteLine(" base.Dispose(disposing);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #region Windows 窗体设计器生成的代码"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 设计器支持所需的方法 - 不要"); sw.WriteLine(" /// 使用代码编辑器修改此方法的内容。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" private void InitializeComponent()"); sw.WriteLine(" {"); sw.WriteLine(" this.components = new System.ComponentModel.Container();"); sw.WriteLine(" System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(dlg" + dt.TitleCaseName + "Edit));"); sw.WriteLine(" this.btnSave = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.btnCancel = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.btnClose = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + " = new System.Windows.Forms.BindingNavigator(this.components);"); sw.WriteLine(" this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();"); sw.WriteLine(" this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();"); sw.WriteLine(" this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();"); sw.WriteLine(" this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();"); sw.WriteLine(" this.bindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox();"); sw.WriteLine(" this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();"); sw.WriteLine(" this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();"); sw.WriteLine(" this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();"); sw.WriteLine(" this.myPanel1 = new " + BaseParams.ControlsNameSpace + ".MyPanel();"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1 = new " + BaseParams.UserControlsNameSpace + ".Details.Uc" + dt.TitleCaseName + "Detail();"); sw.WriteLine(" ((System.ComponentModel.ISupportInitialize)(this.bindingNavigator" + dt.TitleCaseName + ")).BeginInit();"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".SuspendLayout();"); sw.WriteLine(" this.myPanel1.SuspendLayout();"); sw.WriteLine(" this.SuspendLayout();"); sw.WriteLine(" // "); sw.WriteLine(" // btnSave"); sw.WriteLine(" // "); sw.WriteLine(" this.btnSave.Location = new System.Drawing.Point(249, 3);"); sw.WriteLine(" this.btnSave.Name = \"btnSave\";"); sw.WriteLine(" this.btnSave.Size = new System.Drawing.Size(85, 23);"); sw.WriteLine(" this.btnSave.TabIndex = 0;"); sw.WriteLine(" this.btnSave.Text = \"保存/下一条\";"); sw.WriteLine(" this.btnSave.Click += new System.EventHandler(this.btnSave_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // btnCancel"); sw.WriteLine(" // "); sw.WriteLine(" this.btnCancel.CausesValidation = false;"); sw.WriteLine(" this.btnCancel.Location = new System.Drawing.Point(358, 3);"); sw.WriteLine(" this.btnCancel.Name = \"btnCancel\";"); sw.WriteLine(" this.btnCancel.Size = new System.Drawing.Size(85, 23);"); sw.WriteLine(" this.btnCancel.TabIndex = 1;"); sw.WriteLine(" this.btnCancel.TabStop = false;"); sw.WriteLine(" this.btnCancel.Text = \"取消修改\";"); sw.WriteLine(" this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // btnClose"); sw.WriteLine(" // "); sw.WriteLine(" this.btnClose.CausesValidation = false;"); sw.WriteLine(" this.btnClose.Location = new System.Drawing.Point(467, 3);"); sw.WriteLine(" this.btnClose.Name = \"btnClose\";"); sw.WriteLine(" this.btnClose.Size = new System.Drawing.Size(85, 23);"); sw.WriteLine(" this.btnClose.TabIndex = 2;"); sw.WriteLine(" this.btnClose.TabStop = false;"); sw.WriteLine(" this.btnClose.Text = \"退出\";"); sw.WriteLine(" this.btnClose.Click += new System.EventHandler(this.btnClose_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // bindingNavigator" + dt.TitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".AddNewItem = null;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".CountItem = this.bindingNavigatorCountItem;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".DeleteItem = null;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Dock = System.Windows.Forms.DockStyle.Bottom;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Items.AddRange(new System.Windows.Forms.ToolStripItem[] {"); sw.WriteLine(" this.bindingNavigatorMoveFirstItem,"); sw.WriteLine(" this.bindingNavigatorMovePreviousItem,"); sw.WriteLine(" this.bindingNavigatorSeparator,"); sw.WriteLine(" this.bindingNavigatorPositionItem,"); sw.WriteLine(" this.bindingNavigatorCountItem,"); sw.WriteLine(" this.bindingNavigatorSeparator1,"); sw.WriteLine(" this.bindingNavigatorMoveNextItem,"); sw.WriteLine(" this.bindingNavigatorMoveLastItem});"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Location = new System.Drawing.Point(0, 34);"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".MoveFirstItem = this.bindingNavigatorMoveFirstItem;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".MoveLastItem = this.bindingNavigatorMoveLastItem;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".MoveNextItem = this.bindingNavigatorMoveNextItem;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".MovePreviousItem = this.bindingNavigatorMovePreviousItem;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Name = \"bindingNavigator" + dt.TitleCaseName + "\";"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".PositionItem = this.bindingNavigatorPositionItem;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Size = new System.Drawing.Size(455, 25);"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".TabIndex = 2;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Text = \"bindingNavigator1\";"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".MouseEnter += new System.EventHandler(this.bindingNavigator" + dt.TitleCaseName + "_MouseEnter);"); sw.WriteLine(" // "); sw.WriteLine(" // bindingNavigatorCountItem"); sw.WriteLine(" // "); sw.WriteLine(" this.bindingNavigatorCountItem.Name = \"bindingNavigatorCountItem\";"); sw.WriteLine(" this.bindingNavigatorCountItem.Size = new System.Drawing.Size(35, 22);"); sw.WriteLine(" this.bindingNavigatorCountItem.Text = \"/ {0}\";"); sw.WriteLine(" this.bindingNavigatorCountItem.ToolTipText = \"总项数\";"); sw.WriteLine(" // "); sw.WriteLine(" // bindingNavigatorMoveFirstItem"); sw.WriteLine(" // "); sw.WriteLine(" this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;"); sw.WriteLine(" this.bindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject(\"bindingNavigatorMoveFirstItem.Image\")));"); sw.WriteLine(" this.bindingNavigatorMoveFirstItem.Name = \"bindingNavigatorMoveFirstItem\";"); sw.WriteLine(" this.bindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true;"); sw.WriteLine(" this.bindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(23, 22);"); sw.WriteLine(" this.bindingNavigatorMoveFirstItem.Text = \"移到第一条记录\";"); sw.WriteLine(" // "); sw.WriteLine(" // bindingNavigatorMovePreviousItem"); sw.WriteLine(" // "); sw.WriteLine(" this.bindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;"); sw.WriteLine(" this.bindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject(\"bindingNavigatorMovePreviousItem.Image\")));"); sw.WriteLine(" this.bindingNavigatorMovePreviousItem.Name = \"bindingNavigatorMovePreviousItem\";"); sw.WriteLine(" this.bindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true;"); sw.WriteLine(" this.bindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(23, 22);"); sw.WriteLine(" this.bindingNavigatorMovePreviousItem.Text = \"移到上一条记录\";"); sw.WriteLine(" // "); sw.WriteLine(" // bindingNavigatorSeparator"); sw.WriteLine(" // "); sw.WriteLine(" this.bindingNavigatorSeparator.Name = \"bindingNavigatorSeparator\";"); sw.WriteLine(" this.bindingNavigatorSeparator.Size = new System.Drawing.Size(6, 25);"); sw.WriteLine(" // "); sw.WriteLine(" // bindingNavigatorPositionItem"); sw.WriteLine(" // "); sw.WriteLine(" this.bindingNavigatorPositionItem.AccessibleName = \"位置\";"); sw.WriteLine(" this.bindingNavigatorPositionItem.AutoSize = false;"); sw.WriteLine(" this.bindingNavigatorPositionItem.Name = \"bindingNavigatorPositionItem\";"); sw.WriteLine(" this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 21);"); sw.WriteLine(" this.bindingNavigatorPositionItem.Text = \"0\";"); sw.WriteLine(" this.bindingNavigatorPositionItem.ToolTipText = \"当前位置\";"); sw.WriteLine(" // "); sw.WriteLine(" // bindingNavigatorSeparator1"); sw.WriteLine(" // "); sw.WriteLine(" this.bindingNavigatorSeparator1.Name = \"bindingNavigatorSeparator1\";"); sw.WriteLine(" this.bindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 25);"); sw.WriteLine(" // "); sw.WriteLine(" // bindingNavigatorMoveNextItem"); sw.WriteLine(" // "); sw.WriteLine(" this.bindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;"); sw.WriteLine(" this.bindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject(\"bindingNavigatorMoveNextItem.Image\")));"); sw.WriteLine(" this.bindingNavigatorMoveNextItem.Name = \"bindingNavigatorMoveNextItem\";"); sw.WriteLine(" this.bindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true;"); sw.WriteLine(" this.bindingNavigatorMoveNextItem.Size = new System.Drawing.Size(23, 22);"); sw.WriteLine(" this.bindingNavigatorMoveNextItem.Text = \"移到下一条记录\";"); sw.WriteLine(" // "); sw.WriteLine(" // bindingNavigatorMoveLastItem"); sw.WriteLine(" // "); sw.WriteLine(" this.bindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;"); sw.WriteLine(" this.bindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject(\"bindingNavigatorMoveLastItem.Image\")));"); sw.WriteLine(" this.bindingNavigatorMoveLastItem.Name = \"bindingNavigatorMoveLastItem\";"); sw.WriteLine(" this.bindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true;"); sw.WriteLine(" this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(23, 22);"); sw.WriteLine(" this.bindingNavigatorMoveLastItem.Text = \"移到最后一条记录\";"); sw.WriteLine(" // "); sw.WriteLine(" // myPanel1"); sw.WriteLine(" // "); sw.WriteLine(" this.myPanel1.CausesValidation = false;"); sw.WriteLine(" this.myPanel1.Controls.Add(this.btnSave);"); sw.WriteLine(" this.myPanel1.Controls.Add(this.btnCancel);"); sw.WriteLine(" this.myPanel1.Controls.Add(this.bindingNavigator" + dt.TitleCaseName + ");"); sw.WriteLine(" this.myPanel1.Controls.Add(this.btnClose);"); sw.WriteLine(" this.myPanel1.Dock = System.Windows.Forms.DockStyle.Bottom;"); sw.WriteLine(" this.myPanel1.Location = new System.Drawing.Point(0, 162);"); sw.WriteLine(" this.myPanel1.Name = \"myPanel1\";"); sw.WriteLine(" this.myPanel1.Size = new System.Drawing.Size(455, 59);"); sw.WriteLine(" this.myPanel1.TabIndex = 1;"); sw.WriteLine(" // "); sw.WriteLine(" // uc" + dt.TitleCaseName + "Detail1"); sw.WriteLine(" // "); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1.Dock = System.Windows.Forms.DockStyle.Fill;"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1.Location = new System.Drawing.Point(0, 0);"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1.Name = \"uc" + dt.TitleCaseName + "Detail1\";"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1.TabIndex = 0;"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1." + dt.TitleCaseName + "BindingSource = null;"); sw.WriteLine(" // "); sw.WriteLine(" // dlg" + dt.TitleCaseName + "Edit"); sw.WriteLine(" // "); sw.WriteLine(" this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);"); sw.WriteLine(" this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;"); sw.WriteLine(" this.Controls.Add(this.uc" + dt.TitleCaseName + "Detail1);"); sw.WriteLine(" this.Controls.Add(this.myPanel1);"); sw.WriteLine(" this.Name = \"dlg" + dt.TitleCaseName + "Edit\";"); sw.WriteLine(" this.Text = \"编辑对话框\";"); sw.WriteLine(" this.Load += new System.EventHandler(this.dlg" + dt.TitleCaseName + "Edit_Load);"); sw.WriteLine(" this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.dlg" + dt.TitleCaseName + "Edit_FormClosing);"); sw.WriteLine(" ((System.ComponentModel.ISupportInitialize)(this.bindingNavigator" + dt.TitleCaseName + ")).EndInit();"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".ResumeLayout(false);"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".PerformLayout();"); sw.WriteLine(" this.myPanel1.ResumeLayout(false);"); sw.WriteLine(" this.myPanel1.PerformLayout();"); sw.WriteLine(" this.ResumeLayout(false);"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #endregion"); sw.WriteLine(""); sw.WriteLine(" public " + BaseParams.UserControlsNameSpace + ".Details.Uc" + dt.TitleCaseName + "Detail uc" + dt.TitleCaseName + "Detail1;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnSave;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnCancel;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnClose;"); sw.WriteLine(" private System.Windows.Forms.BindingNavigator bindingNavigator" + dt.TitleCaseName + ";"); sw.WriteLine(" private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;"); sw.WriteLine(" private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;"); sw.WriteLine(" private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;"); sw.WriteLine(" private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;"); sw.WriteLine(" private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;"); sw.WriteLine(" private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;"); sw.WriteLine(" private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;"); sw.WriteLine(" private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyPanel myPanel1;"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = Path.Combine(BaseParams.UserControlsPath, "Utility"); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建类UcPaging文件 string className = Path.Combine(path, "UcPaging.cs"); FileStream file = new FileStream(className, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("分页用户控件", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.ComponentModel;"); sw.WriteLine("using System.Drawing;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Windows.Forms;"); sw.WriteLine(""); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.UserControlsNameSpace + ".Utility"); sw.WriteLine("{"); sw.WriteLine(" public delegate void EventPagingChanged(object sender, MyPagingEventArgs e);"); sw.WriteLine(""); sw.WriteLine(" public partial class UcPaging : UserControl"); sw.WriteLine(" {"); sw.WriteLine(" public UcPaging()"); sw.WriteLine(" {"); sw.WriteLine(" InitializeComponent();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private Paging _dataPaging;"); sw.WriteLine(""); sw.WriteLine(" #region PagingChanged 事件"); sw.WriteLine(" public event EventPagingChanged PagingChanged;"); sw.WriteLine(" protected void OnPagingChanged(Paging paging)"); sw.WriteLine(" {"); sw.WriteLine(" //判断事件是否为空"); sw.WriteLine(" if (PagingChanged != null)"); sw.WriteLine(" {"); sw.WriteLine(" //执行事件"); sw.WriteLine(" PagingChanged(this, new MyPagingEventArgs(paging));"); sw.WriteLine(""); sw.WriteLine(" PagingReflash();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public void PagingReflash()"); sw.WriteLine(" {"); sw.WriteLine(" this.txtCurrent.Text = this.DataPaging.CurrentPage.ToString();"); sw.WriteLine(" this.lblTotoal.Text = this.DataPaging.TotalPage.ToString();"); sw.WriteLine(" this.lblInfo.Text = \"每页:\" + this.DataPaging.PageSize + \"项,总计:\" + this.DataPaging.RowCount + \"项\";"); sw.WriteLine(""); sw.WriteLine(" this.btnFirst.Enabled = !(this.DataPaging.CurrentPage == 1);"); sw.WriteLine(" this.btnPrev.Enabled = !(this.DataPaging.CurrentPage == 1);"); sw.WriteLine(""); sw.WriteLine(" this.btnLast.Enabled = !(this.DataPaging.CurrentPage == this.DataPaging.TotalPage);"); sw.WriteLine(" this.btnNext.Enabled = !(this.DataPaging.CurrentPage == this.DataPaging.TotalPage);"); sw.WriteLine(" }"); sw.WriteLine(" #endregion"); sw.WriteLine(""); sw.WriteLine(" public Paging DataPaging"); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" if (this._dataPaging == null) this._dataPaging = new Paging();"); sw.WriteLine(" return this._dataPaging;"); sw.WriteLine(" }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" this._dataPaging = value;"); sw.WriteLine(" PagingReflash();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" public long PageTotal"); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" return this.DataPaging.TotalPage;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected void btnFirst_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" this.DataPaging.CurrentPage = 1;"); sw.WriteLine(" this.OnPagingChanged(this.DataPaging);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected void btnPrev_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" if (this.DataPaging.CurrentPage != 1)"); sw.WriteLine(" {"); sw.WriteLine(" this.DataPaging.CurrentPage += -1;"); sw.WriteLine(" }"); sw.WriteLine(" this.OnPagingChanged(this.DataPaging);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected void btnNext_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" if (this.DataPaging.CurrentPage != this.DataPaging.RowCount)"); sw.WriteLine(" {"); sw.WriteLine(" this.DataPaging.CurrentPage += 1;"); sw.WriteLine(" }"); sw.WriteLine(" this.OnPagingChanged(this.DataPaging);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected void btnLast_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" this.DataPaging.CurrentPage = this.DataPaging.TotalPage;"); sw.WriteLine(" this.OnPagingChanged(this.DataPaging);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void txtCurrent_KeyDown(object sender, KeyEventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" if (e.KeyCode == Keys.Enter)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" int cp = int.Parse(this.txtCurrent.Text);"); sw.WriteLine(" if (cp > 0 && cp <= this.DataPaging.TotalPage)"); sw.WriteLine(" {"); sw.WriteLine(" if (this.DataPaging.CurrentPage != cp)"); sw.WriteLine(" {"); sw.WriteLine(" this.DataPaging.CurrentPage = cp;"); sw.WriteLine(" this.OnPagingChanged(this.DataPaging);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" MessageBox.Show(\"当前页码只能输入小于或者等于总页数的正整数!\", \"错误\", MessageBoxButtons.OK, MessageBoxIcon.Error);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" catch"); sw.WriteLine(" {"); sw.WriteLine(" MessageBox.Show(\"当前页码只能输入小于或者等于总页数的正整数!\", \"错误\", MessageBoxButtons.OK, MessageBoxIcon.Error);"); sw.WriteLine(" }"); sw.WriteLine(" this.txtCurrent.SelectAll();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// MyPagingEventArgs 的摘要说明。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public class MyPagingEventArgs"); sw.WriteLine(" {"); sw.WriteLine(" private Paging _paging;"); sw.WriteLine(""); sw.WriteLine(" // 构造函数"); sw.WriteLine(" public MyPagingEventArgs(Paging paging)"); sw.WriteLine(" {"); sw.WriteLine(" this._paging = paging;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 声明只读属性, 返回分页对象"); sw.WriteLine(" public Paging Paging"); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" return this._paging;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion #region 创建类UcPaging文件 className = Path.Combine(path, "UcPaging.Designer.cs"); file = new FileStream(className, FileMode.Create); sw = new StreamWriter(file, Encoding.UTF8); sw.WriteLine("namespace " + BaseParams.UserControlsNameSpace + ".Utility"); sw.WriteLine("{"); sw.WriteLine(" partial class UcPaging"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary> "); sw.WriteLine(" /// 必需的设计器变量。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" private System.ComponentModel.IContainer components = null;"); sw.WriteLine(""); sw.WriteLine(" /// <summary> "); sw.WriteLine(" /// 清理所有正在使用的资源。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"disposing\">如果应释放托管资源,为 true;否则为 false。</param>"); sw.WriteLine(" protected override void Dispose(bool disposing)"); sw.WriteLine(" {"); sw.WriteLine(" if (disposing && (components != null))"); sw.WriteLine(" {"); sw.WriteLine(" components.Dispose();"); sw.WriteLine(" }"); sw.WriteLine(" base.Dispose(disposing);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #region 组件设计器生成的代码"); sw.WriteLine(""); sw.WriteLine(" /// <summary> "); sw.WriteLine(" /// 设计器支持所需的方法 - 不要"); sw.WriteLine(" /// 使用代码编辑器修改此方法的内容。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" private void InitializeComponent()"); sw.WriteLine(" {"); sw.WriteLine(" this.btnFirst = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.btnPrev = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.btnNext = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.btnLast = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.myLabel1 = new " + BaseParams.ControlsNameSpace + ".MyLabel();"); sw.WriteLine(" this.lblTotoal = new " + BaseParams.ControlsNameSpace + ".MyLabel();"); sw.WriteLine(" this.lblInfo = new " + BaseParams.ControlsNameSpace + ".MyLabel();"); sw.WriteLine(" this.txtCurrent = new System.Windows.Forms.TextBox();"); sw.WriteLine(" this.SuspendLayout();"); sw.WriteLine(" // "); sw.WriteLine(" // btnFirst"); sw.WriteLine(" // "); sw.WriteLine(" this.btnFirst.Location = new System.Drawing.Point(4, 6);"); sw.WriteLine(" this.btnFirst.Name = \"btnFirst\";"); sw.WriteLine(" this.btnFirst.Size = new System.Drawing.Size(54, 23);"); sw.WriteLine(" this.btnFirst.TabIndex = 1;"); sw.WriteLine(" this.btnFirst.Text = \"首页\";"); sw.WriteLine(" this.btnFirst.UseVisualStyleBackColor = true;"); sw.WriteLine(" this.btnFirst.Click += new System.EventHandler(this.btnFirst_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // btnPrev"); sw.WriteLine(" // "); sw.WriteLine(" this.btnPrev.Location = new System.Drawing.Point(64, 6);"); sw.WriteLine(" this.btnPrev.Name = \"btnPrev\";"); sw.WriteLine(" this.btnPrev.Size = new System.Drawing.Size(54, 23);"); sw.WriteLine(" this.btnPrev.TabIndex = 1;"); sw.WriteLine(" this.btnPrev.Text = \"上一页\";"); sw.WriteLine(" this.btnPrev.UseVisualStyleBackColor = true;"); sw.WriteLine(" this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // btnNext"); sw.WriteLine(" // "); sw.WriteLine(" this.btnNext.Location = new System.Drawing.Point(207, 6);"); sw.WriteLine(" this.btnNext.Name = \"btnNext\";"); sw.WriteLine(" this.btnNext.Size = new System.Drawing.Size(54, 23);"); sw.WriteLine(" this.btnNext.TabIndex = 1;"); sw.WriteLine(" this.btnNext.Text = \"下一页\";"); sw.WriteLine(" this.btnNext.UseVisualStyleBackColor = true;"); sw.WriteLine(" this.btnNext.Click += new System.EventHandler(this.btnNext_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // btnLast"); sw.WriteLine(" // "); sw.WriteLine(" this.btnLast.Location = new System.Drawing.Point(267, 6);"); sw.WriteLine(" this.btnLast.Name = \"btnLast\";"); sw.WriteLine(" this.btnLast.Size = new System.Drawing.Size(54, 23);"); sw.WriteLine(" this.btnLast.TabIndex = 1;"); sw.WriteLine(" this.btnLast.Text = \"末页\";"); sw.WriteLine(" this.btnLast.UseVisualStyleBackColor = true;"); sw.WriteLine(" this.btnLast.Click += new System.EventHandler(this.btnLast_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // myLabel1"); sw.WriteLine(" // "); sw.WriteLine(" this.myLabel1.AutoSize = true;"); sw.WriteLine(" this.myLabel1.Location = new System.Drawing.Point(158, 11);"); sw.WriteLine(" this.myLabel1.Name = \"myLabel1\";"); sw.WriteLine(" this.myLabel1.Size = new System.Drawing.Size(11, 12);"); sw.WriteLine(" this.myLabel1.TabIndex = 5;"); sw.WriteLine(" this.myLabel1.Text = \"/\";"); sw.WriteLine(" // "); sw.WriteLine(" // lblTotoal"); sw.WriteLine(" // "); sw.WriteLine(" this.lblTotoal.AutoSize = true;"); sw.WriteLine(" this.lblTotoal.Location = new System.Drawing.Point(173, 11);"); sw.WriteLine(" this.lblTotoal.Name = \"lblTotoal\";"); sw.WriteLine(" this.lblTotoal.Size = new System.Drawing.Size(11, 12);"); sw.WriteLine(" this.lblTotoal.TabIndex = 6;"); sw.WriteLine(" this.lblTotoal.Text = \"1\";"); sw.WriteLine(" // "); sw.WriteLine(" // lblInfo"); sw.WriteLine(" // "); sw.WriteLine(" this.lblInfo.AutoSize = true;"); sw.WriteLine(" this.lblInfo.Location = new System.Drawing.Point(336, 11);"); sw.WriteLine(" this.lblInfo.Name = \"lblInfo\";"); sw.WriteLine(" this.lblInfo.Size = new System.Drawing.Size(53, 12);"); sw.WriteLine(" this.lblInfo.TabIndex = 7;"); sw.WriteLine(" this.lblInfo.Text = \"myLabel2\";"); sw.WriteLine(" // "); sw.WriteLine(" // txtCurrent"); sw.WriteLine(" // "); sw.WriteLine(" this.txtCurrent.Location = new System.Drawing.Point(121, 7);"); sw.WriteLine(" this.txtCurrent.MaxLength = 10;"); sw.WriteLine(" this.txtCurrent.Name = \"txtCurrent\";"); sw.WriteLine(" this.txtCurrent.Size = new System.Drawing.Size(35, 21);"); sw.WriteLine(" this.txtCurrent.TabIndex = 1;"); sw.WriteLine(" this.txtCurrent.Text = \"0\";"); sw.WriteLine(" this.txtCurrent.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;"); sw.WriteLine(" this.txtCurrent.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtCurrent_KeyDown);"); sw.WriteLine(" // "); sw.WriteLine(" // UcPaging"); sw.WriteLine(" // "); sw.WriteLine(" this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);"); sw.WriteLine(" this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;"); sw.WriteLine(" this.Controls.Add(this.btnFirst);"); sw.WriteLine(" this.Controls.Add(this.btnPrev);"); sw.WriteLine(" this.Controls.Add(this.txtCurrent);"); sw.WriteLine(" this.Controls.Add(this.btnNext);"); sw.WriteLine(" this.Controls.Add(this.btnLast);"); sw.WriteLine(" this.Controls.Add(this.lblTotoal);"); sw.WriteLine(" this.Controls.Add(this.lblInfo);"); sw.WriteLine(" this.Controls.Add(this.myLabel1);"); sw.WriteLine(" this.Name = \"UcPaging\";"); sw.WriteLine(" this.Size = new System.Drawing.Size(409, 33);"); sw.WriteLine(" this.ResumeLayout(false);"); sw.WriteLine(" this.PerformLayout();"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #endregion"); sw.WriteLine(""); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnFirst;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnPrev;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnNext;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnLast;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyLabel myLabel1;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyLabel lblTotoal;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyLabel lblInfo;"); sw.WriteLine(" private System.Windows.Forms.TextBox txtCurrent;"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = BaseParams.PersistencePath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, "SessionFactory.cs"); #region 创建cs文件 FileStream file = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("NHSerssion工厂类", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Web;"); sw.WriteLine("using NHibernate;"); sw.WriteLine("using NHibernate.Cfg;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.PersistenceNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public sealed class SessionFactory"); sw.WriteLine(" {"); sw.WriteLine(" private static ISessionFactory _factory;"); sw.WriteLine(" private static ISession _session;"); sw.WriteLine(" private static object obj = new object();"); sw.WriteLine(" public ISession Session"); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" if (_factory == null)"); sw.WriteLine(" {"); sw.WriteLine(" lock (obj)"); sw.WriteLine(" {"); sw.WriteLine(" if (_factory == null)"); sw.WriteLine(" {"); sw.WriteLine(" Configuration cfg = new Configuration().Configure();"); sw.WriteLine(" _factory = cfg.BuildSessionFactory();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" return _factory.OpenSession();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public static ISession GetCurrentSession()"); sw.WriteLine(" {"); sw.WriteLine(" if (_session == null)"); sw.WriteLine(" _session = new SessionFactory().Session;"); sw.WriteLine(" else"); sw.WriteLine(" _session.Clear();"); sw.WriteLine(" if (_session.IsConnected == false)"); sw.WriteLine(" _session.Reconnect();"); sw.WriteLine(" return _session;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public static ISession GetCurrentSession(bool sessClear)"); sw.WriteLine(" {"); sw.WriteLine(" if (_session == null)"); sw.WriteLine(" _session = new SessionFactory().Session;"); sw.WriteLine(" else if(sessClear == true)"); sw.WriteLine(" _session.Clear();"); sw.WriteLine(" if (_session.IsConnected == false)"); sw.WriteLine(" _session.Reconnect();"); sw.WriteLine(" return _session;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write(DbTable dt) { string path = Path.Combine(BaseParams.UserControlsPath, "Details"); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建类detail文件 string className = Path.Combine(path, "Uc" + dt.TitleCaseName + "Detail.cs"); FileStream file = new FileStream(className, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments(dt.Comments, sw); sw.WriteLine(""); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.ComponentModel;"); sw.WriteLine("using System.Drawing;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Windows.Forms;"); sw.WriteLine(""); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine("using " + BaseParams.ControlsNameSpace + ";"); //sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.UserControlsNameSpace + ".Details"); sw.WriteLine("{"); sw.WriteLine(" public partial class Uc" + dt.TitleCaseName + "Detail : MyUserControl"); sw.WriteLine(" {"); sw.WriteLine(" public Uc" + dt.TitleCaseName + "Detail()"); sw.WriteLine(" {"); sw.WriteLine(" InitializeComponent();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private System.Windows.Forms.BindingSource " + dt.FieldCaseName + "bindingsource;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// " + dt.Comments + ""); sw.WriteLine(" /// </summary> "); sw.WriteLine(" public System.Windows.Forms.BindingSource " + dt.TitleCaseName + "BindingSource"); sw.WriteLine(" {"); sw.WriteLine(" get { return this." + dt.FieldCaseName + "bindingsource; }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.FieldCaseName + "bindingsource = value;"); sw.WriteLine(" if (this." + dt.FieldCaseName + "bindingsource != null)"); sw.WriteLine(" {"); sw.WriteLine(" // 在此处插入数据绑定的用户代码"); sw.WriteLine(""); sw.WriteLine(" // 绑定数据源"); sw.WriteLine(" FormHelper.BindData(this, this." + dt.FieldCaseName + "bindingsource);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" private IList<" + dr.ParentTable.TitleCaseName + "> " + dr.ParentFieldCaseName + "List;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// " + dr.ParentTable.Comments + ""); sw.WriteLine(" /// </summary> "); sw.WriteLine(" public IList<" + dr.ParentTable.TitleCaseName + "> " + dr.ParentTitleCaseName + "List"); sw.WriteLine(" {"); sw.WriteLine(" get { return this." + dr.ParentFieldCaseName + "List; }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" this." + dr.ParentFieldCaseName + "List = value;"); sw.WriteLine(" if (this." + dr.ParentFieldCaseName + "List != null)"); sw.WriteLine(" {"); sw.WriteLine(" // 绑定数据源"); sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".DataSource = this." + dr.ParentTitleCaseName + "List;"); bool displayMemberCreated = false; foreach (DbColumn col in dr.ParentTable.Columns) { if (col.Name.ToLower().Contains("name") || col.Name.ToLower().Contains("title")) { sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".DisplayMember = \"" + col.TitleCaseName + "\";"); displayMemberCreated = true; break; } } if (displayMemberCreated == false) { sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".DisplayMember = \"" + dr.ParentColumns[0].TitleCaseName + "\";"); } sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ". ValueMember= \"" + dr.ParentColumns[0].TitleCaseName + "\";"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); } sw.WriteLine(""); sw.WriteLine(" public void ConstrolsDataDefault()"); sw.WriteLine(" {"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" this.cbb" + dr.ParentTable.TitleCaseName + ".SelectedIndex = -1;"); } sw.WriteLine(" }"); sw.WriteLine(" private void Data_Validating(object sender, CancelEventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" if (((Control)sender).Text.Trim() == \"\" && ((IControlBind)sender).Nullable == false)"); sw.WriteLine(" {"); sw.WriteLine(" this.ErrorProvider.SetError((Control)sender, \"此为必填项,不允许为空!\");"); sw.WriteLine(" e.Cancel = true;"); sw.WriteLine(" }"); sw.WriteLine(" if (sender is ComboBox && ((IControlBind)sender).Nullable == false"); sw.WriteLine(" && ((Control)sender).Text.Trim() != \"\" && ((ComboBox)sender).SelectedIndex < 0)"); sw.WriteLine(" {"); sw.WriteLine(" this.ErrorProvider.SetError((Control)sender, \"所输入的值超出对应范围!\");"); sw.WriteLine(" e.Cancel = true;"); sw.WriteLine(" }"); sw.WriteLine(" int textLength = Encoding.Default.GetByteCount(((Control)sender).Text);"); sw.WriteLine(" TextBoxBase txt = sender as TextBoxBase;"); sw.WriteLine(" if(txt != null)"); sw.WriteLine(" {"); sw.WriteLine(" int maxLength = txt.MaxLength;"); sw.WriteLine(" if ( textLength > maxLength)"); sw.WriteLine(" {"); sw.WriteLine(" this.ErrorProvider.SetError((Control)sender, \"输入的字符串长度(\" + textLength.ToString() + \")超过指定的长度(\" + maxLength.ToString() + \")!\");"); sw.WriteLine(" e.Cancel = true;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" if (e.Cancel == false)"); sw.WriteLine(" {"); sw.WriteLine(" this.ErrorProvider.SetError((Control)sender, \"\");"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" return;"); sw.WriteLine(" }"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" if (this.cbb" + dr.ParentTitleCaseName + ".SelectedItem != null"); sw.WriteLine(" && (((" + dt.TitleCaseName + ")this." + dt.FieldCaseName + "bindingsource.Current)." + dr.ParentTitleCaseName + " == null"); sw.WriteLine(" || ((" + dt.TitleCaseName + ")this." + dt.FieldCaseName + "bindingsource.Current)." + dr.ParentTitleCaseName + "." + dr.ParentColumns[0].TitleCaseName + " != ((" + dr.ParentTable.TitleCaseName + ")this.cbb" + dr.ParentTitleCaseName + ".SelectedItem)." + dr.ParentColumns[0].TitleCaseName + "))"); sw.WriteLine(" {"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.FieldCaseName + "bindingsource.Current)." + dr.ParentTitleCaseName + " = (" + dr.ParentTable.TitleCaseName + ")this.cbb" + dr.ParentTitleCaseName + ".SelectedItem;"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.ResetCurrentItem();"); sw.WriteLine(" }"); } sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion #region 创建detail Designer类文件 className = Path.Combine(path, "Uc" + dt.TitleCaseName + "Detail.Designer.cs"); file = new FileStream(className, FileMode.Create); sw = new StreamWriter(file, Encoding.UTF8); sw.WriteLine("namespace " + BaseParams.UserControlsNameSpace + ".Details"); sw.WriteLine("{"); sw.WriteLine(" partial class Uc" + dt.TitleCaseName + "Detail"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary> "); sw.WriteLine(" /// 必需的设计器变量。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" private System.ComponentModel.IContainer components = null;"); sw.WriteLine(""); sw.WriteLine(" /// <summary> "); sw.WriteLine(" /// 清理所有正在使用的资源。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"disposing\">如果应释放托管资源,为 true;否则为 false。</param>"); sw.WriteLine(" protected override void Dispose(bool disposing)"); sw.WriteLine(" {"); sw.WriteLine(" if (disposing && (components != null))"); sw.WriteLine(" {"); sw.WriteLine(" components.Dispose();"); sw.WriteLine(" }"); sw.WriteLine(" base.Dispose(disposing);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #region 组件设计器生成的代码"); sw.WriteLine(""); sw.WriteLine(" /// <summary> "); sw.WriteLine(" /// 设计器支持所需的方法 - 不要"); sw.WriteLine(" /// 使用代码编辑器修改此方法的内容。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" private void InitializeComponent()"); sw.WriteLine(" {"); sw.WriteLine(" this.components = new System.ComponentModel.Container();"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + " = new " + BaseParams.ControlsNameSpace + ".MyComboBox();"); sw.WriteLine(" this.lbl" + dr.ParentTitleCaseName + " = new " + BaseParams.ControlsNameSpace + ".MyLabel();"); } foreach (DbColumn dc in dt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { switch (dc.FieldType) { case "DateTime?": sw.WriteLine(" this.dtp" + dc.TitleCaseName + " = new " + BaseParams.ControlsNameSpace + ".MyDateTimePicker();"); break; default: sw.WriteLine(" this.txt" + dc.TitleCaseName + " = new " + BaseParams.ControlsNameSpace + ".MyTextBox();"); break; } sw.WriteLine(" this.lbl" + dc.TitleCaseName + " = new " + BaseParams.ControlsNameSpace + ".MyLabel();"); } } sw.WriteLine(" this.ErrorProvider = new " + BaseParams.ControlsNameSpace + ".MyErrorProvider();"); sw.WriteLine(" this.SuspendLayout();"); int y = 9; // 设置控件高度 int tabindex = 0; // 设置tab顺序键值 foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" // "); sw.WriteLine(" // lbl" + dr.ParentTitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.lbl" + dr.ParentTitleCaseName + ".AutoSize = true;"); sw.WriteLine(" this.lbl" + dr.ParentTitleCaseName + ".Location = new System.Drawing.Point(3, " + (y + 4) + ");"); sw.WriteLine(" this.lbl" + dr.ParentTitleCaseName + ".Name = \"lbl" + dr.ParentTitleCaseName + "\";"); sw.WriteLine(" this.lbl" + dr.ParentTitleCaseName + ".Size = new System.Drawing.Size(53, 12);"); sw.WriteLine(" this.lbl" + dr.ParentTitleCaseName + ".TabIndex = 0;"); sw.WriteLine(" this.lbl" + dr.ParentTitleCaseName + ".Text = \"" + dr.ParentTable.Comments + "\";"); sw.WriteLine(" // "); sw.WriteLine(" // cbb" + dr.ParentTitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".IsNeedBind = true;"); sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".Location = new System.Drawing.Point(62, " + y + ");"); sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".Name = \"cbb" + dr.ParentTitleCaseName + "\";"); sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".FieldName = \"" + dr.ParentTitleCaseName + "_" + dr.ParentColumns[0].TitleCaseName + "\";"); sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".MaxLength = " + dr.ParentColumns[0].Length + ";"); sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".Nullable = " + dr.ParentColumns[0].Nullable.ToString().ToLower() + ";"); sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".Size = new System.Drawing.Size(240, 21);"); sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".TabIndex = " + tabindex.ToString() + ";"); sw.WriteLine(" this.cbb" + dr.ParentTitleCaseName + ".Validating += new System.ComponentModel.CancelEventHandler(this.Data_Validating);"); y += 30; tabindex++; } foreach (DbColumn dc in dt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { sw.WriteLine(" // "); sw.WriteLine(" // lbl" + dc.TitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.lbl" + dc.TitleCaseName + ".AutoSize = true;"); sw.WriteLine(" this.lbl" + dc.TitleCaseName + ".Location = new System.Drawing.Point(3, " + (y + 4) + ");"); sw.WriteLine(" this.lbl" + dc.TitleCaseName + ".Name = \"lbl" + dc.TitleCaseName + "\";"); sw.WriteLine(" this.lbl" + dc.TitleCaseName + ".Size = new System.Drawing.Size(53, 12);"); sw.WriteLine(" this.lbl" + dc.TitleCaseName + ".TabIndex = 0;"); sw.WriteLine(" this.lbl" + dc.TitleCaseName + ".Text = \"" + dc.Comments + "\";"); switch (dc.FieldType) { case "DateTime?": sw.WriteLine(" // "); sw.WriteLine(" // dtp" + dc.TitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.dtp" + dc.TitleCaseName + ".IsNeedBind = true;"); sw.WriteLine(" this.dtp" + dc.TitleCaseName + ".Location = new System.Drawing.Point(62, " + y + ");"); sw.WriteLine(" this.dtp" + dc.TitleCaseName + ".Name = \"dtp" + dc.TitleCaseName + "\";"); sw.WriteLine(" this.dtp" + dc.TitleCaseName + ".Size = new System.Drawing.Size(240, 21);"); sw.WriteLine(" this.dtp" + dc.TitleCaseName + ".TabIndex = " + tabindex.ToString() + ";"); sw.WriteLine(" this.dtp" + dc.TitleCaseName + ".Nullable = " + dc.Nullable.ToString().ToLower() + ";"); sw.WriteLine(" this.dtp" + dc.TitleCaseName + ".Validating += new System.ComponentModel.CancelEventHandler(this.Data_Validating);"); break; default: sw.WriteLine(" // "); sw.WriteLine(" // txt" + dc.TitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.txt" + dc.TitleCaseName + ".IsNeedBind = true;"); sw.WriteLine(" this.txt" + dc.TitleCaseName + ".Location = new System.Drawing.Point(62, " + y.ToString() + ");"); sw.WriteLine(" this.txt" + dc.TitleCaseName + ".Name = \"txt" + dc.TitleCaseName + "\";"); sw.WriteLine(" this.txt" + dc.TitleCaseName + ".MaxLength = " + dc.Length + ";"); sw.WriteLine(" this.txt" + dc.TitleCaseName + ".Nullable = " + dc.Nullable.ToString().ToLower() + ";"); sw.WriteLine(" this.txt" + dc.TitleCaseName + ".Size = new System.Drawing.Size(240, 21);"); sw.WriteLine(" this.txt" + dc.TitleCaseName + ".TabIndex = " + tabindex.ToString() + ";"); if (dc.FieldType.ToLower() == "decimal?") { sw.WriteLine(" this.txt" + dc.TitleCaseName + ".TextAlign = System.Windows.Forms.HorizontalAlignment.Right;"); } sw.WriteLine(" this.txt" + dc.TitleCaseName + ".Validating += new System.ComponentModel.CancelEventHandler(this.Data_Validating);"); break; } y += 30; tabindex++; } } sw.WriteLine(" // "); sw.WriteLine(" // ErrorProvider"); sw.WriteLine(" // "); sw.WriteLine(" this.ErrorProvider.ContainerControl = this;"); sw.WriteLine(" // "); sw.WriteLine(" // Uc" + dt.TitleCaseName + "Detail"); sw.WriteLine(" // "); sw.WriteLine(" this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);"); sw.WriteLine(" this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" this.Controls.Add(this.cbb" + dr.ParentTitleCaseName + ");"); sw.WriteLine(" this.Controls.Add(this.lbl" + dr.ParentTitleCaseName + ");"); } foreach (DbColumn dc in dt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { switch (dc.FieldType) { case "DateTime?": sw.WriteLine(" this.Controls.Add(this.dtp" + dc.TitleCaseName + ");"); break; default: sw.WriteLine(" this.Controls.Add(this.txt" + dc.TitleCaseName + ");"); break; } sw.WriteLine(" this.Controls.Add(this.lbl" + dc.TitleCaseName + ");"); } } sw.WriteLine(" this.Name = \"Uc" + dt.TitleCaseName + "Detail\";"); sw.WriteLine(" this.Size = new System.Drawing.Size(437, 164);"); sw.WriteLine(" this.ResumeLayout(false);"); sw.WriteLine(" this.PerformLayout();"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #endregion"); sw.WriteLine(""); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" public " + BaseParams.ControlsNameSpace + ".MyComboBox cbb" + dr.ParentTitleCaseName + ";"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyLabel lbl" + dr.ParentTitleCaseName + ";"); } foreach (DbColumn dc in dt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { switch (dc.FieldType) { case "DateTime?": sw.WriteLine(" public " + BaseParams.ControlsNameSpace + ".MyDateTimePicker dtp" + dc.TitleCaseName + ";"); break; default: sw.WriteLine(" public " + BaseParams.ControlsNameSpace + ".MyTextBox txt" + dc.TitleCaseName + ";"); break; } sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyLabel lbl" + dc.TitleCaseName + ";"); } } sw.WriteLine(" public " + BaseParams.ControlsNameSpace + ".MyErrorProvider ErrorProvider;"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion path = Path.Combine(BaseParams.UserControlsPath, "Grids"); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建类grid文件 className = Path.Combine(path, "Uc" + dt.TitleCaseName + "Grid.cs"); file = new FileStream(className, FileMode.Create); sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments(dt.Comments, sw); sw.WriteLine(""); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.ComponentModel;"); sw.WriteLine("using System.Drawing;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Windows.Forms;"); sw.WriteLine(""); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine("using " + BaseParams.ControlsNameSpace + ";"); //sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ";"); sw.WriteLine("namespace " + BaseParams.UserControlsNameSpace + ".Grids"); sw.WriteLine("{"); sw.WriteLine(" public partial class Uc" + dt.TitleCaseName + "Grid : MyUserControl"); sw.WriteLine(" {"); sw.WriteLine(" public Uc" + dt.TitleCaseName + "Grid()"); sw.WriteLine(" {"); sw.WriteLine(" InitializeComponent();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private System.Windows.Forms.BindingSource " + dt.FieldCaseName + "bindingsource;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// " + dt.Comments + ""); sw.WriteLine(" /// </summary> "); sw.WriteLine(" public System.Windows.Forms.BindingSource " + dt.TitleCaseName + "BindingSource"); sw.WriteLine(" {"); sw.WriteLine(" get { return this." + dt.FieldCaseName + "bindingsource; }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.FieldCaseName + "bindingsource = value;"); sw.WriteLine(" if (this." + dt.FieldCaseName + "bindingsource != null)"); sw.WriteLine(" {"); sw.WriteLine(" // 在此处插入数据绑定的用户代码"); sw.WriteLine(""); sw.WriteLine(" // 绑定数据源"); sw.WriteLine(" this.dgv" + dt.TitleCaseName + ".DataSource = this." + dt.FieldCaseName + "bindingsource;"); sw.WriteLine(" // 让所有列宽自动调整一下。"); sw.WriteLine(" this.dgv" + dt.TitleCaseName + ".AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); #region 已注释 //foreach (DbParentTable dpt in dt.DbParentTables) //{ // sw.WriteLine(" private IList<" + dpt.TitleCaseName + "> " + dpt.FieldCaseName + "List;"); // sw.WriteLine(" /// <summary>"); // sw.WriteLine(" /// " + dpt.Comments + ""); // sw.WriteLine(" /// </summary> "); // sw.WriteLine(" public IList<" + dpt.TitleCaseName + "> " + dpt.TitleCaseName + "List"); // sw.WriteLine(" {"); // sw.WriteLine(" get { return this." + dpt.FieldCaseName + "List; }"); // sw.WriteLine(" set"); // sw.WriteLine(" {"); // sw.WriteLine(" this." + dpt.FieldCaseName + "List = value;"); // sw.WriteLine(" if (this." + dpt.FieldCaseName + "List != null)"); // sw.WriteLine(" {"); // sw.WriteLine(" // 绑定数据源"); // sw.WriteLine(" this.clm" + dpt.Columns[0].TitleCaseName + ".DataSource = this." + dpt.FieldCaseName + "List;"); // sw.WriteLine(" this.clm" + dpt.Columns[0].TitleCaseName + ".DisplayMember = \"" + dpt.Columns[0].TitleCaseName + "\";"); // sw.WriteLine(" this.clm" + dpt.Columns[0].TitleCaseName + ".ValueMember = \"" + dpt.Columns[0].TitleCaseName + "\";"); // sw.WriteLine(" }"); // sw.WriteLine(" }"); // sw.WriteLine(" }"); // sw.WriteLine(""); //} #endregion sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion #region 创建类grid Designer文件 className = Path.Combine(path, "Uc" + dt.TitleCaseName + "Grid.Designer.cs"); file = new FileStream(className, FileMode.Create); sw = new StreamWriter(file, Encoding.UTF8); sw.WriteLine("namespace " + BaseParams.UserControlsNameSpace + ".Grids"); sw.WriteLine("{"); sw.WriteLine(" partial class Uc" + dt.TitleCaseName + "Grid"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary> "); sw.WriteLine(" /// 必需的设计器变量。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" private System.ComponentModel.IContainer components = null;"); sw.WriteLine(""); sw.WriteLine(" /// <summary> "); sw.WriteLine(" /// 清理所有正在使用的资源。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"disposing\">如果应释放托管资源,为 true;否则为 false。</param>"); sw.WriteLine(" protected override void Dispose(bool disposing)"); sw.WriteLine(" {"); sw.WriteLine(" if (disposing && (components != null))"); sw.WriteLine(" {"); sw.WriteLine(" components.Dispose();"); sw.WriteLine(" }"); sw.WriteLine(" base.Dispose(disposing);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #region 组件设计器生成的代码"); sw.WriteLine(""); sw.WriteLine(" /// <summary> "); sw.WriteLine(" /// 设计器支持所需的方法 - 不要"); sw.WriteLine(" /// 使用代码编辑器修改此方法的内容。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" private void InitializeComponent()"); sw.WriteLine(" {"); sw.WriteLine(" this.components = new System.ComponentModel.Container();"); sw.WriteLine(" this.dgv" + dt.TitleCaseName + " = new " + BaseParams.ControlsNameSpace + ".MyDataGridView();"); foreach (DbColumn dc in dt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { sw.WriteLine(" this.clm" + dc.TitleCaseName + " = new System.Windows.Forms.DataGridViewTextBoxColumn();"); } } if (BaseParams.IsGenerateParentProperty == true) { foreach (DbRelation dr in dt.ParentRelations) { DbTable dpt = dr.ParentTable; foreach (DbColumn dc in dpt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { sw.WriteLine(" this.clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + " = new System.Windows.Forms.DataGridViewTextBoxColumn();"); } } } } sw.WriteLine(" ((System.ComponentModel.ISupportInitialize)(this.dgv" + dt.TitleCaseName + ")).BeginInit();"); sw.WriteLine(" this.SuspendLayout();"); sw.WriteLine(" // "); sw.WriteLine(" // dgv" + dt.TitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.dgv" + dt.TitleCaseName + ".Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {"); int i = 0; foreach (DbColumn dc in dt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { if (i == 0) { sw.WriteLine(" this.clm" + dc.TitleCaseName); } else { sw.WriteLine(" , this.clm" + dc.TitleCaseName); } i++; } } if (BaseParams.IsGenerateParentProperty == true) { foreach (DbRelation dr in dt.ParentRelations) { DbTable dpt = dr.ParentTable; foreach (DbColumn dc in dpt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { sw.WriteLine(" , this.clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + ""); } } } } sw.Write("});"); sw.WriteLine(" this.dgv" + dt.TitleCaseName + ".Dock = System.Windows.Forms.DockStyle.Fill;"); sw.WriteLine(" this.dgv" + dt.TitleCaseName + ".Location = new System.Drawing.Point(0, 0);"); sw.WriteLine(" this.dgv" + dt.TitleCaseName + ".Name = \"dgv" + dt.TitleCaseName + "\";"); sw.WriteLine(" this.dgv" + dt.TitleCaseName + ".TabIndex = 0;"); foreach (DbColumn dc in dt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { sw.WriteLine(" // "); sw.WriteLine(" // clm" + dc.TitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.clm" + dc.TitleCaseName + ".DataPropertyName = \"" + dc.TitleCaseName + "\";"); sw.WriteLine(" this.clm" + dc.TitleCaseName + ".HeaderText = \"" + dc.Comments + "\";"); sw.WriteLine(" this.clm" + dc.TitleCaseName + ".Name = \"clm" + dc.TitleCaseName + "\";"); sw.WriteLine(" this.clm" + dc.TitleCaseName + ".ReadOnly = true;"); sw.WriteLine(" this.clm" + dc.TitleCaseName + ".Width = 80;"); if (dc.FieldType == "DateTime?") { sw.WriteLine(" this.clm" + dc.TitleCaseName + ".DefaultCellStyle.Format = \"yyyy-MM-dd\";"); } else if (dc.FieldType.ToLower() == "decimal?") { sw.WriteLine(" this.clm" + dc.TitleCaseName + ".DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;"); } } } if (BaseParams.IsGenerateParentProperty == true) { foreach (DbRelation dr in dt.ParentRelations) { DbTable dpt = dr.ParentTable; foreach (DbColumn dc in dpt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { sw.WriteLine(" // "); sw.WriteLine(" // clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + ".DataPropertyName = \"" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + "\";"); sw.WriteLine(" this.clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + ".HeaderText = \"" + dc.Comments + "\";"); sw.WriteLine(" this.clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + ".Name = \"clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + "\";"); sw.WriteLine(" this.clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + ".ReadOnly = true;"); sw.WriteLine(" this.clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + ".Width = 80;"); if (dc.FieldType == "DateTime?") { sw.WriteLine(" this.clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + ".DefaultCellStyle.Format = \"yyyy-MM-dd\";"); } else if (dc.FieldType.ToLower() == "decimal?") { sw.WriteLine(" this.clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + ".DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;"); } } } } } sw.WriteLine(" // "); sw.WriteLine(" // Uc" + dt.TitleCaseName + "Grid"); sw.WriteLine(" // "); sw.WriteLine(" this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);"); sw.WriteLine(" this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;"); sw.WriteLine(" this.Controls.Add(this.dgv" + dt.TitleCaseName + ");"); sw.WriteLine(" this.Name = \"Uc" + dt.TitleCaseName + "Grid\";"); sw.WriteLine(" this.Size = new System.Drawing.Size(660, 326);"); sw.WriteLine(" ((System.ComponentModel.ISupportInitialize)(this.dgv" + dt.TitleCaseName + ")).EndInit();"); sw.WriteLine(" this.ResumeLayout(false);"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #endregion"); sw.WriteLine(""); sw.WriteLine(" public " + BaseParams.ControlsNameSpace + ".MyDataGridView dgv" + dt.TitleCaseName + ";"); foreach (DbColumn dc in dt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { sw.WriteLine(" private System.Windows.Forms.DataGridViewTextBoxColumn clm" + dc.TitleCaseName + ";"); } } if (BaseParams.IsGenerateParentProperty == true) { foreach (DbRelation dr in dt.ParentRelations) { DbTable dpt = dr.ParentTable; foreach (DbColumn dc in dpt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { sw.WriteLine(" private System.Windows.Forms.DataGridViewTextBoxColumn clm" + dr.ParentTitleCaseName + "_" + dc.TitleCaseName + ";"); } } } } sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write(IList <DbTable> dts) { string path = BaseParams.WcfModelsPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, "MainServiceFactory.cs"); #region 创建MainServiceFactory文件 FileStream file = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("MainServiceFactory", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Runtime.Serialization;"); sw.WriteLine("using System.ServiceModel;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Reflection;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using NHibernate;"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine("using " + BaseParams.ServicesNameSpace + ";"); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine("using " + BaseParams.PersistenceNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WcfModelsNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public class MainServiceFactory"); sw.WriteLine(" {"); sw.WriteLine(" private static Hashtable _cacheServices;"); sw.WriteLine(" private static MainServiceFactory _instance = new MainServiceFactory();"); sw.WriteLine(" private MainServiceFactory()"); sw.WriteLine(" {"); sw.WriteLine(" _cacheServices = new Hashtable();"); foreach (DbTable dt in dts) { sw.WriteLine(" _cacheServices.Add(\"" + BaseParams.DomainNameSpace + "." + dt.TitleCaseName + "\", " + dt.TitleCaseName + "Service.Instance);"); } sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获得单件模式对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public static MainServiceFactory Instance"); sw.WriteLine(" {"); sw.WriteLine(" get { return _instance; }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取对象的对应服务对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\">对象名称</param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public object GetService(string objectTypeName)"); sw.WriteLine(" {"); sw.WriteLine(" return _cacheServices[objectTypeName];"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,保存或更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\">WCF传递对象</param>"); sw.WriteLine(" public void ExcuteSaveOrUpdate(MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(transObj.ObjectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(\"SaveOrUpdate\");"); sw.WriteLine(" object[] pObjs = new object[] { transObj.TransData };"); sw.WriteLine(" method.Invoke(obj, pObjs);"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,保存或更新对象列表"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\">WCF传递对象</param>"); sw.WriteLine(" public void ExcuteSaveOrUpdateList(MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(transObj.ObjectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(\"SaveOrUpdateList\");"); sw.WriteLine(" object[] pObjs = new object[] { transObj.TransData };"); sw.WriteLine(" method.Invoke(obj, pObjs);"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,保存对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\">WCF传递对象</param>"); sw.WriteLine(" public void ExcuteSave(MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(transObj.ObjectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(\"Save\");"); sw.WriteLine(" object[] pObjs = new object[] { transObj.TransData };"); sw.WriteLine(" method.Invoke(obj, pObjs);"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,更新对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\">WCF传递对象</param>"); sw.WriteLine(" /// <param name=\"id\">对象主键</param>"); sw.WriteLine(" public void ExcuteUpdate(MyWcfTranserObject transObj, Object id)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(transObj.ObjectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(\"Update\");"); sw.WriteLine(" object[] Objs = new object[] { transObj.TransData, id };"); sw.WriteLine(" method.Invoke(obj, Objs);"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,删除对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\">WCF传递对象</param>"); sw.WriteLine(" public void ExcuteDelete(MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(transObj.ObjectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(\"Delete\");"); sw.WriteLine(" object[] Objs = new object[] { transObj.TransData };"); sw.WriteLine(" method.Invoke(obj, Objs);"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,删除对象列表"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\">WCF传递对象</param>"); sw.WriteLine(" public void ExcuteDeleteList(MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(transObj.ObjectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(\"DeleteList\");"); sw.WriteLine(" object[] Objs = new object[] { transObj.TransData };"); sw.WriteLine(" method.Invoke(obj, Objs);"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,获取对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"transObj\">WCF传递对象</param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public MyWcfTranserObject ExcuteObjectGet(MyWcfTranserObject transObj)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(transObj.ObjectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(\"Get\");"); sw.WriteLine(" object[] Objs = new object[] { transObj.TransData };"); sw.WriteLine(" object tmpObj = method.Invoke(obj, Objs);"); sw.WriteLine(""); sw.WriteLine(" transObj.TransData = tmpObj;"); sw.WriteLine(" return transObj;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,获取所有对应对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\">对象名称</param>"); sw.WriteLine(" /// <param name=\"qt\">提取类型</param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public MyWcfTranserObject ExcuteObjectAll(string objectTypeName, QueryType qt)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(objectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(\"GetAllEntitys\");"); sw.WriteLine(" object[] Objs = new object[] { qt };"); sw.WriteLine(" object tmpObj = method.Invoke(obj, Objs);"); sw.WriteLine(""); sw.WriteLine(" IEnumerator ienum = (tmpObj as IEnumerable).GetEnumerator();"); sw.WriteLine(" while (ienum.MoveNext() == true)"); sw.WriteLine(" NHibernateUnProxyHelper.UnproxyObjectTree<Object>(ienum.Current, (int)qt);"); sw.WriteLine(""); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject(objectTypeName);"); sw.WriteLine(" transObj.TransData = tmpObj;"); sw.WriteLine(" return transObj;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,用Hql条件提取对象列表"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\">对象名称</param>"); sw.WriteLine(" /// <param name=\"condi\">Hql条件</param>"); sw.WriteLine(" /// <param name=\"qt\">提取类型</param>"); sw.WriteLine(" /// <param name=\"maxDepth\">NH过滤深度</param>"); sw.WriteLine(" /// <param name=\"paging\">分页对象</param>"); sw.WriteLine(" /// <param name=\"ps\">Hql条件参数</param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public MyWcfTranserObject ExcuteGetObjectByHqlCondi(string objectTypeName, string condi, QueryType qt, int maxDepth, Paging paging, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(objectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(\"GetEntitysByHqlCondi\");"); sw.WriteLine(" object[] Objs = new object[] { condi, qt, paging, ps };"); sw.WriteLine(" object tmpObj = method.Invoke(obj, Objs);"); sw.WriteLine(""); sw.WriteLine(" IEnumerator ienum = (tmpObj as IEnumerable).GetEnumerator();"); sw.WriteLine(" while (ienum.MoveNext() == true)"); sw.WriteLine(" NHibernateUnProxyHelper.UnproxyObjectTree<Object>(ienum.Current, (int)qt);"); sw.WriteLine(""); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject(objectTypeName);"); sw.WriteLine(" transObj.TransData = tmpObj;"); sw.WriteLine(" return transObj;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,用独立Hql语句提取对象列表"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"objectTypeName\">对象名称</param>"); sw.WriteLine(" /// <param name=\"hql\">Hql语句</param>"); sw.WriteLine(" /// <param name=\"maxDepth\">NH过滤深度</param>"); sw.WriteLine(" /// <param name=\"paging\">分页对象</param>"); sw.WriteLine(" /// <param name=\"ps\">Hql条件参数</param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public MyWcfTranserObject ExcuteGetObjectByHqlQuery(string objectTypeName, String hql, int maxDepth, Paging paging, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(objectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(\"HqlQuery\");"); sw.WriteLine(" object[] Objs = new object[] { hql, paging, ps };"); sw.WriteLine(" object tmpObj = method.Invoke(obj, Objs);"); sw.WriteLine(""); sw.WriteLine(" IEnumerator ienum = (tmpObj as IEnumerable).GetEnumerator();"); sw.WriteLine(" while (ienum.MoveNext() == true)"); sw.WriteLine(" NHibernateUnProxyHelper.UnproxyObjectTree<object>(ienum.Current, maxDepth);"); sw.WriteLine(""); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject(objectTypeName);"); sw.WriteLine(" transObj.TransData = tmpObj;"); sw.WriteLine(" return transObj;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,用Sql条件提取DataTable数据"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"sql\">sql语句</param>"); sw.WriteLine(" /// <param name=\"ps\">sql参数</param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public DataTable ExcuteSqlFillDataTable(String sql, params Object[] ps)"); sw.WriteLine(" {"); sw.WriteLine(" return new BaseService<BaseEntity>().SqlFillDataTable(sql, ps);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 通过反射调用对应的服务方法,执行事物方法"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"wcfTransObjs\">WCF传递对象</param>"); sw.WriteLine(" /// <param name=\"objectTypeName\">对象名称</param>"); sw.WriteLine(" /// <param name=\"transMethodName\">事物方法名称</param>"); sw.WriteLine(" /// <returns></returns>"); sw.WriteLine(" public MyWcfTranserObject ExcuteTransationMethod(MyWcfTranserObject wcfTransObjs, string objectTypeName, string transMethodName)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" object obj = GetService(objectTypeName);"); sw.WriteLine(" MethodInfo method = obj.GetType().GetMethod(transMethodName);"); sw.WriteLine(" object[] Objs = new object[] { wcfTransObjs.TransData };"); sw.WriteLine(" object tmpObj = method.Invoke(obj, Objs);"); sw.WriteLine(""); sw.WriteLine(" MyWcfTranserObject transObj = new MyWcfTranserObject(objectTypeName);"); sw.WriteLine(" transObj.TransData = tmpObj;"); sw.WriteLine(" return transObj;"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw ex.InnerException;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write(DbTable dt) { string path = Path.Combine(BaseParams.WinFromsPath, "ManagerForms"); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建类detail文件 string className = Path.Combine(path, "frm" + dt.TitleCaseName + "Mng.Designer.cs"); FileStream file = new FileStream(className, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments(dt.Comments, sw); sw.WriteLine("namespace " + BaseParams.WinFromsNameSpace + ".ManagerForms"); sw.WriteLine("{"); sw.WriteLine(" partial class frm" + dt.TitleCaseName + "Mng"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 必需的设计器变量。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" private System.ComponentModel.IContainer components = null;"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 清理所有正在使用的资源。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"disposing\">如果应释放托管资源,为 true;否则为 false。</param>"); sw.WriteLine(" protected override void Dispose(bool disposing)"); sw.WriteLine(" {"); sw.WriteLine(" if (disposing && (components != null))"); sw.WriteLine(" {"); sw.WriteLine(" components.Dispose();"); sw.WriteLine(" }"); sw.WriteLine(" base.Dispose(disposing);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #region Windows 窗体设计器生成的代码"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 设计器支持所需的方法 - 不要"); sw.WriteLine(" /// 使用代码编辑器修改此方法的内容。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" private void InitializeComponent()"); sw.WriteLine(" {"); sw.WriteLine(" this.components = new System.ComponentModel.Container();"); sw.WriteLine(" this.myPanel1 = new " + BaseParams.ControlsNameSpace + ".MyPanel();"); if (dt.PrimaryKey != null) { sw.WriteLine(" this.lbl" + dt.PrimaryKey.Columns[0].TitleCaseName + " = new " + BaseParams.ControlsNameSpace + ".MyLabel();"); sw.WriteLine(" this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + " = new " + BaseParams.ControlsNameSpace + ".MyTextBox();"); } sw.WriteLine(" this.btnSelect = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.btnClose = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource = new System.Windows.Forms.BindingSource(this.components);"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1 = new " + BaseParams.UserControlsNameSpace + ".Grids.Uc" + dt.TitleCaseName + "Grid();"); sw.WriteLine(" this.myPanel2 = new " + BaseParams.ControlsNameSpace + ".MyPanel();"); sw.WriteLine(" this.ucPaging1 = new " + BaseParams.UserControlsNameSpace + ".Utility.UcPaging();"); sw.WriteLine(" this.myPanel3 = new " + BaseParams.ControlsNameSpace + ".MyPanel();"); sw.WriteLine(" this.btnDelete = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.btnEdit = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.btnAdd = new " + BaseParams.ControlsNameSpace + ".MyButton();"); sw.WriteLine(" this.myPanel1.SuspendLayout();"); sw.WriteLine(" ((System.ComponentModel.ISupportInitialize)(this." + dt.TitleCaseName + "BindingSource)).BeginInit();"); sw.WriteLine(" this.myPanel2.SuspendLayout();"); sw.WriteLine(" this.myPanel3.SuspendLayout();"); sw.WriteLine(" this.SuspendLayout();"); sw.WriteLine(" // "); sw.WriteLine(" // myPanel1"); sw.WriteLine(" // "); if (dt.PrimaryKey != null) { sw.WriteLine(" this.myPanel1.Controls.Add(this.lbl" + dt.PrimaryKey.Columns[0].TitleCaseName + ");"); sw.WriteLine(" this.myPanel1.Controls.Add(this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ");"); } sw.WriteLine(" this.myPanel1.Controls.Add(this.btnSelect);"); sw.WriteLine(" this.myPanel1.Dock = System.Windows.Forms.DockStyle.Top;"); sw.WriteLine(" this.myPanel1.Location = new System.Drawing.Point(0, 0);"); sw.WriteLine(" this.myPanel1.Name = \"myPanel1\";"); sw.WriteLine(" this.myPanel1.Size = new System.Drawing.Size(750, 42);"); sw.WriteLine(" this.myPanel1.TabIndex = 0;"); if (dt.PrimaryKey != null) { sw.WriteLine(" // "); sw.WriteLine(" // lbl" + dt.PrimaryKey.Columns[0].TitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.lbl" + dt.PrimaryKey.Columns[0].TitleCaseName + ".AutoSize = true;"); sw.WriteLine(" this.lbl" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Location = new System.Drawing.Point(29, 14);"); sw.WriteLine(" this.lbl" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Name = \"myLabel1\";"); sw.WriteLine(" this.lbl" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Size = new System.Drawing.Size(0, 12);"); sw.WriteLine(" this.lbl" + dt.PrimaryKey.Columns[0].TitleCaseName + ".TabIndex = 2;"); sw.WriteLine(" this.lbl" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Text = \"" + dt.PrimaryKey.Columns[0].Comments + "\";"); sw.WriteLine(" // "); sw.WriteLine(" // txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ""); sw.WriteLine(" // "); sw.WriteLine(" this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".FieldName = \"\";"); sw.WriteLine(" this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".IsNeedBind = false;"); sw.WriteLine(" this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Location = new System.Drawing.Point(88, 10);"); sw.WriteLine(" this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".MaxLength = 50;"); sw.WriteLine(" this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Name = \"txt" + dt.PrimaryKey.Columns[0].TitleCaseName + "\";"); sw.WriteLine(" this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Nullable = true;"); sw.WriteLine(" this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".Size = new System.Drawing.Size(189, 21);"); sw.WriteLine(" this.txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ".TabIndex = 0;"); } sw.WriteLine(" // "); sw.WriteLine(" // btnSelect"); sw.WriteLine(" // "); sw.WriteLine(" this.btnSelect.Location = new System.Drawing.Point(283, 9);"); sw.WriteLine(" this.btnSelect.Name = \"btnSelect\";"); sw.WriteLine(" this.btnSelect.Size = new System.Drawing.Size(75, 23);"); sw.WriteLine(" this.btnSelect.TabIndex = 1;"); sw.WriteLine(" this.btnSelect.Text = \"查询\";"); sw.WriteLine(" this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // uc" + dt.TitleCaseName + "Grid1"); sw.WriteLine(" // "); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1.Dock = System.Windows.Forms.DockStyle.Fill;"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1.Location = new System.Drawing.Point(0, 0);"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1.Name = \"uc" + dt.TitleCaseName + "Grid1\";"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1.Size = new System.Drawing.Size(750, 276);"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1.TabIndex = 1;"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Grid1." + dt.TitleCaseName + "BindingSource = null;"); sw.WriteLine(" // "); sw.WriteLine(" // myPanel2"); sw.WriteLine(" // "); sw.WriteLine(" this.myPanel2.Controls.Add(this.uc" + dt.TitleCaseName + "Grid1);"); sw.WriteLine(" this.myPanel2.Controls.Add(this.ucPaging1);"); sw.WriteLine(" this.myPanel2.Dock = System.Windows.Forms.DockStyle.Fill;"); sw.WriteLine(" this.myPanel2.Location = new System.Drawing.Point(0, 42);"); sw.WriteLine(" this.myPanel2.Name = \"myPanel2\";"); sw.WriteLine(" this.myPanel2.Size = new System.Drawing.Size(750, 308);"); sw.WriteLine(" this.myPanel2.TabIndex = 1;"); sw.WriteLine(" // "); sw.WriteLine(" // ucPaging1"); sw.WriteLine(" // "); sw.WriteLine(" this.ucPaging1.DataPaging = null;"); sw.WriteLine(" this.ucPaging1.Dock = System.Windows.Forms.DockStyle.Bottom;"); sw.WriteLine(" this.ucPaging1.Location = new System.Drawing.Point(0, 276);"); sw.WriteLine(" this.ucPaging1.Name = \"ucPaging1\";"); sw.WriteLine(" this.ucPaging1.Size = new System.Drawing.Size(750, 32);"); sw.WriteLine(" this.ucPaging1.TabIndex = 1;"); sw.WriteLine(" this.ucPaging1.PagingChanged += new " + BaseParams.UserControlsNameSpace + ".Utility.EventPagingChanged(this.ucPaging1_PagingChanged);"); sw.WriteLine(" // "); sw.WriteLine(" // myPanel3"); sw.WriteLine(" // "); sw.WriteLine(" this.myPanel3.Controls.Add(this.btnAdd);"); sw.WriteLine(" this.myPanel3.Controls.Add(this.btnEdit);"); sw.WriteLine(" this.myPanel3.Controls.Add(this.btnDelete);"); sw.WriteLine(" this.myPanel3.Controls.Add(this.btnClose);"); sw.WriteLine(" this.myPanel3.Dock = System.Windows.Forms.DockStyle.Bottom;"); sw.WriteLine(" this.myPanel3.Location = new System.Drawing.Point(0, 350);"); sw.WriteLine(" this.myPanel3.Name = \"myPanel3\";"); sw.WriteLine(" this.myPanel3.Size = new System.Drawing.Size(750, 34);"); sw.WriteLine(" this.myPanel3.TabIndex = 1;"); sw.WriteLine(" // "); sw.WriteLine(" // btnAdd"); sw.WriteLine(" // "); sw.WriteLine(" this.btnAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));"); sw.WriteLine(" this.btnAdd.Location = new System.Drawing.Point(420, 2);"); sw.WriteLine(" this.btnAdd.Name = \"btnAdd\";"); sw.WriteLine(" this.btnAdd.Size = new System.Drawing.Size(75, 23);"); sw.WriteLine(" this.btnAdd.TabIndex = 1;"); sw.WriteLine(" this.btnAdd.Text = \"新增\";"); sw.WriteLine(" this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // btnDelete"); sw.WriteLine(" // "); sw.WriteLine(" this.btnDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));"); sw.WriteLine(" this.btnDelete.Enabled = false;"); sw.WriteLine(" this.btnDelete.Location = new System.Drawing.Point(582, 2);"); sw.WriteLine(" this.btnDelete.Name = \"btnDelete\";"); sw.WriteLine(" this.btnDelete.Size = new System.Drawing.Size(75, 23);"); sw.WriteLine(" this.btnDelete.TabIndex = 1;"); sw.WriteLine(" this.btnDelete.Text = \"删除\";"); sw.WriteLine(" this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // btnEdit"); sw.WriteLine(" // "); sw.WriteLine(" this.btnEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));"); sw.WriteLine(" this.btnEdit.Enabled = false;"); sw.WriteLine(" this.btnEdit.Location = new System.Drawing.Point(501, 2);"); sw.WriteLine(" this.btnEdit.Name = \"btnEdit\";"); sw.WriteLine(" this.btnEdit.Size = new System.Drawing.Size(75, 23);"); sw.WriteLine(" this.btnEdit.TabIndex = 1;"); sw.WriteLine(" this.btnEdit.Text = \"修改\";"); sw.WriteLine(" this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // btnClose"); sw.WriteLine(" // "); sw.WriteLine(" this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));"); sw.WriteLine(" this.btnClose.Location = new System.Drawing.Point(663, 2);"); sw.WriteLine(" this.btnClose.Name = \"btnClose\";"); sw.WriteLine(" this.btnClose.Size = new System.Drawing.Size(75, 23);"); sw.WriteLine(" this.btnClose.TabIndex = 1;"); sw.WriteLine(" this.btnClose.Text = \"退出\";"); sw.WriteLine(" this.btnClose.Click += new System.EventHandler(this.btnClose_Click);"); sw.WriteLine(" // "); sw.WriteLine(" // frm" + dt.TitleCaseName + "Mng"); sw.WriteLine(" // "); sw.WriteLine(" this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);"); sw.WriteLine(" this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;"); sw.WriteLine(" this.Controls.Add(this.myPanel2);"); sw.WriteLine(" this.Controls.Add(this.myPanel3);"); sw.WriteLine(" this.Controls.Add(this.myPanel1);"); sw.WriteLine(" this.Name = \"frm" + dt.TitleCaseName + "Mng\";"); sw.WriteLine(" this.Text = \"" + dt.Comments + "\";"); sw.WriteLine(" this.Load += new System.EventHandler(this.frm" + dt.TitleCaseName + "Mng_Load);"); sw.WriteLine(" this.myPanel1.ResumeLayout(false);"); sw.WriteLine(" this.myPanel1.PerformLayout();"); sw.WriteLine(" ((System.ComponentModel.ISupportInitialize)(this." + dt.TitleCaseName + "BindingSource)).EndInit();"); sw.WriteLine(" this.myPanel2.ResumeLayout(false);"); sw.WriteLine(" this.myPanel3.ResumeLayout(false);"); sw.WriteLine(" this.ResumeLayout(false);"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #endregion"); sw.WriteLine(""); sw.WriteLine(" private " + BaseParams.UserControlsNameSpace + ".Grids.Uc" + dt.TitleCaseName + "Grid uc" + dt.TitleCaseName + "Grid1;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyPanel myPanel1;"); if (dt.PrimaryKey != null) { sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyLabel lbl" + dt.PrimaryKey.Columns[0].TitleCaseName + ";"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyTextBox txt" + dt.PrimaryKey.Columns[0].TitleCaseName + ";"); } sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnSelect;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnClose;"); sw.WriteLine(" private System.Windows.Forms.BindingSource " + dt.TitleCaseName + "BindingSource;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyPanel myPanel2;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyPanel myPanel3;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnDelete;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnEdit;"); sw.WriteLine(" private " + BaseParams.ControlsNameSpace + ".MyButton btnAdd;"); sw.WriteLine(" private " + BaseParams.UserControlsNameSpace + ".Utility.UcPaging ucPaging1;"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write(DbTable table) { string path = BaseParams.DomainPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, table.TitleCaseName + ".cs"); #region 创建domain cs文件 FileStream file = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments(table.Comments, sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Runtime.Serialization;"); sw.WriteLine("using System.Text;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.DomainNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// " + table.Comments + "类型"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" [Serializable]"); sw.WriteLine(" [DataContract(IsReference = true)]"); sw.WriteLine(" public class " + table.TitleCaseName + " : BaseEntity"); sw.WriteLine(" {"); sw.WriteLine(" #region 私有变量"); foreach (DbColumn dc in table.Columns) { if (dc.IsGenerateField == true) { sw.WriteLine(" private " + dc.FieldType + " " + dc.FieldCaseName + "; // " + dc.Comments + ""); } } foreach (DbRelation dr in table.ParentRelations) { sw.WriteLine(" private " + dr.ParentTable.TitleCaseName + " " + dr.ParentFieldCaseName + "; // " + dr.ParentTable.Comments + ""); } foreach (DbRelation dr in table.ChildRelations) { if (dr.ParentColumns[0].IsPrimaryKey == true && dr.ChildColumns[0].IsPrimaryKey == true) { sw.WriteLine(" private " + dr.ChildTable.TitleCaseName + " " + dr.ChildFieldCaseName + "; // " + dr.ChildTable.Comments + ""); } else { sw.WriteLine(" private IList<" + dr.ChildTable.TitleCaseName + "> " + dr.ChildFieldCaseName + "; // " + dr.ChildTable.Comments + ""); } } sw.WriteLine(" #endregion"); sw.WriteLine(""); sw.WriteLine(" #region 构造函数"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 构造函数"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public " + table.TitleCaseName + "()"); sw.WriteLine(" {"); sw.WriteLine(" "); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 构造函数"); sw.WriteLine(" /// </summary>"); foreach (DbColumn dc in table.Columns) { if (dc.IsGenerateField == true) { sw.WriteLine(" /// <param name=\"" + dc.ParamCaseName + "\">" + dc.Comments + "</param>"); } } sw.WriteLine(" public " + table.TitleCaseName + "(" + table.ConstractParams + ")"); sw.WriteLine(" {"); foreach (DbColumn dc in table.Columns) { if (dc.IsGenerateField == true) { sw.WriteLine(" this." + dc.TitleCaseName + " = " + dc.ParamCaseName + ";"); } } sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #endregion"); sw.WriteLine(""); sw.WriteLine(" #region 公共属性"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取对象的主键."); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public override object EntityID"); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" return this." + table.PrimaryKey.Columns[0].FieldCaseName + ";"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); foreach (DbColumn dc in table.Columns) { if (dc.IsGenerateField == true) { sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// " + dc.Comments + ""); sw.WriteLine(" /// </summary> "); sw.WriteLine(" [DataMember]"); sw.WriteLine(" public virtual " + dc.FieldType + " " + dc.TitleCaseName + ""); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" return " + dc.FieldCaseName + ";"); sw.WriteLine(" }"); sw.WriteLine(" set"); sw.WriteLine(" {"); //if (dc.FieldType == "String") //{ // sw.WriteLine(" if (value != null && Encoding.Default.GetByteCount(value.ToString()) > " + dc.ColumnLength + ")"); // sw.WriteLine(" throw new ArgumentOutOfRangeException(\"" + dc.TitleCaseName + "\", value.ToString(), \"" + dc.Comments + "_长度超出限制(" + dc.ColumnLength + ")!\");"); //} if (dc.FieldType.ToLower() == "decimal?") { sw.WriteLine(" if (value != null)"); sw.WriteLine(" {"); sw.WriteLine(" value = Decimal.Parse(value.Value.ToString(\"0.0000\"));"); sw.WriteLine(" value = Decimal.Round(value.Value, 4, MidpointRounding.AwayFromZero);"); sw.WriteLine(" }"); sw.WriteLine(""); } sw.WriteLine(" _isChanged |= (" + dc.FieldCaseName + " != value); "); sw.WriteLine(" " + dc.FieldCaseName + " = value;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); } } foreach (DbRelation dr in table.ParentRelations) { sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// " + dr.ParentTable.Comments + ""); sw.WriteLine(" /// </summary> "); sw.WriteLine(" [DataMember]"); sw.WriteLine(" public virtual " + dr.ParentTable.TitleCaseName + " " + dr.ParentTitleCaseName + ""); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); //sw.WriteLine(" if(this." + dr.ParentFieldCaseName + " == null)"); //sw.WriteLine(" this." + dr.ParentFieldCaseName + " = new " + dr.ParentTable.TitleCaseName + "();"); sw.WriteLine(" return " + dr.ParentFieldCaseName + ";"); sw.WriteLine(" }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" _isChanged |= (value != null); " + dr.ParentFieldCaseName + " = value;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); } foreach (DbRelation dr in table.ChildRelations) { sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// " + dr.ChildTable.Comments + ""); sw.WriteLine(" /// </summary> "); if (dr.ParentColumns[0].IsPrimaryKey == true && dr.ChildColumns[0].IsPrimaryKey == true) { sw.WriteLine(" [DataMember]"); sw.WriteLine(" public virtual " + dr.ChildTable.TitleCaseName + " " + dr.ChildTitleCaseName + ""); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" return " + dr.ChildFieldCaseName + ";"); sw.WriteLine(" }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" _isChanged |= (value != null); " + dr.ChildFieldCaseName + " = value;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); } else { sw.WriteLine(" [DataMember]"); sw.WriteLine(" public virtual IList<" + dr.ChildTable.TitleCaseName + "> " + dr.ChildTitleCaseName + ""); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" return " + dr.ChildFieldCaseName + " = (" + dr.ChildFieldCaseName + " == null) ? (new List<" + dr.ChildTable.TitleCaseName + ">()) : " + dr.ChildFieldCaseName + ";"); sw.WriteLine(" }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" " + dr.ChildFieldCaseName + " = value;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); } } if (BaseParams.IsGenerateParentProperty == true) { // 在子表中创建父表属性 foreach (DbRelation dr in table.ParentRelations) { foreach (DbColumn pdc in dr.ParentTable.Columns) { if (pdc.IsPrimaryKey == true) { sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// " + pdc.Comments + ""); sw.WriteLine(" /// </summary> "); sw.WriteLine(" public virtual " + pdc.FieldType + " " + dr.ParentTitleCaseName + "_" + pdc.TitleCaseName + ""); sw.WriteLine(" {"); sw.WriteLine(" get"); sw.WriteLine(" {"); sw.WriteLine(" return (this." + dr.ParentTitleCaseName + " == null) ? null : this." + dr.ParentTitleCaseName + "." + pdc.TitleCaseName + ";"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); } } } } sw.WriteLine(" #endregion"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = BaseParams.WcfModelsPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } path = Path.Combine(path, "NHibernateUnProxyHelper.cs"); #region 创建IMainService文件 FileStream file = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("NHibernateUnProxyHelper", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Runtime.Serialization;"); sw.WriteLine("using System.ServiceModel;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Reflection;"); sw.WriteLine("using NHibernate.Proxy;"); sw.WriteLine("using NHibernate;"); sw.WriteLine("using NHibernate.Metadata;"); sw.WriteLine("using NHibernate.Collection;"); sw.WriteLine("using " + BaseParams.PersistenceNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WcfModelsNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public static class NHibernateUnProxyHelper"); sw.WriteLine(" {"); sw.WriteLine(" public static T Unproxy<T>(T persistentObject)"); sw.WriteLine(" {"); sw.WriteLine(" var proxy = persistentObject as INHibernateProxy;"); sw.WriteLine(""); sw.WriteLine(" if (proxy != null)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" return (T)proxy.HibernateLazyInitializer.GetImplementation();"); sw.WriteLine(" }"); sw.WriteLine(" catch(Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" throw new ApplicationException(\"无法在断开的情况下加载数据,请修改数据获取深度(maxDepth)!\",ex); ;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" return persistentObject;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public static Type GetUnproxiedType<T>(T persistentObject)"); sw.WriteLine(" {"); sw.WriteLine(" var proxy = persistentObject as INHibernateProxy;"); sw.WriteLine(" if (proxy != null)"); sw.WriteLine(" return proxy.HibernateLazyInitializer.PersistentClass;"); sw.WriteLine(""); sw.WriteLine(" return persistentObject.GetType();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public static T UnproxyObjectTree<T>(T persistentObject, int maxDepth)"); sw.WriteLine(" {"); sw.WriteLine(" ISessionFactory sessionFactory = SessionFactory.GetCurrentSession(false).SessionFactory;"); sw.WriteLine(" return UnproxyObjectTree<T>(persistentObject, sessionFactory, maxDepth);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private static T UnproxyObjectTree<T>(T persistentObject, ISessionFactory sessionFactory, int maxDepth)"); sw.WriteLine(" {"); sw.WriteLine(" var persistentType = NHibernateUnProxyHelper.GetUnproxiedType(persistentObject);"); sw.WriteLine(""); sw.WriteLine(" var classMetadata = sessionFactory.GetClassMetadata(persistentType);"); sw.WriteLine(""); sw.WriteLine(" if (maxDepth < 0)"); sw.WriteLine(" return CreatePlaceholder<T>(persistentObject, persistentType, classMetadata);"); sw.WriteLine(""); sw.WriteLine(" var unproxiedObject = NHibernateUnProxyHelper.Unproxy(persistentObject);"); sw.WriteLine(""); sw.WriteLine(" if (unproxiedObject != null)"); sw.WriteLine(" {"); sw.WriteLine(" for (int i = 0; i < classMetadata.PropertyTypes.Length; i++)"); sw.WriteLine(" {"); sw.WriteLine(" var nhType = classMetadata.PropertyTypes[i];"); sw.WriteLine(" var propertyName = classMetadata.PropertyNames[i];"); sw.WriteLine(" var propertyInfo = persistentType.GetProperty(propertyName);"); sw.WriteLine(""); sw.WriteLine(" if (nhType.IsCollectionType)"); sw.WriteLine(" {"); sw.WriteLine(" propertyInfo.SetValue(unproxiedObject, null, null);"); sw.WriteLine(" continue;"); sw.WriteLine(" }"); sw.WriteLine(" if (nhType.IsEntityType)"); sw.WriteLine(" {"); sw.WriteLine(" var propertyValue = propertyInfo.GetValue(unproxiedObject, null);"); sw.WriteLine(""); sw.WriteLine(" if (propertyValue == null)"); sw.WriteLine(" continue;"); sw.WriteLine(""); sw.WriteLine(" propertyInfo.SetValue(unproxiedObject, NHibernateUnProxyHelper.UnproxyObjectTree(propertyValue, sessionFactory, maxDepth - 1), null);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" return unproxiedObject;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private static T CreatePlaceholder<T>(T persistentObject, Type persistentType, IClassMetadata classMetadata)"); sw.WriteLine(" {"); sw.WriteLine(" var placeholderObject = (T)Activator.CreateInstance(persistentType);"); sw.WriteLine(""); sw.WriteLine(" if (classMetadata.HasIdentifierProperty)"); sw.WriteLine(" {"); sw.WriteLine(" var identifier = classMetadata.GetIdentifier(persistentObject, EntityMode.Poco);"); sw.WriteLine(" classMetadata.SetIdentifier(placeholderObject, identifier, EntityMode.Poco);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" return placeholderObject;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write(DbTable dt) { string path = Path.Combine(BaseParams.WinFromsPath, "EditDialogs"); if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建类detail文件 string className = Path.Combine(path, "dlg" + dt.TitleCaseName + "Edit.cs"); FileStream file = new FileStream(className, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments(dt.Comments, sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.ComponentModel;"); sw.WriteLine("using System.Data;"); sw.WriteLine("using System.Drawing;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Windows.Forms;"); sw.WriteLine("using " + BaseParams.UtilityNameSpace + ";"); sw.WriteLine("using " + BaseParams.ControlsNameSpace + ";"); sw.WriteLine("using " + BaseParams.DomainNameSpace + ";"); sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ";"); sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ".ServiceReference1;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WinFromsNameSpace + ".EditDialogs"); sw.WriteLine("{"); sw.WriteLine(" public partial class dlg" + dt.TitleCaseName + "Edit : MyDialog"); sw.WriteLine(" {"); sw.WriteLine(" public dlg" + dt.TitleCaseName + "Edit()"); sw.WriteLine(" {"); sw.WriteLine(" InitializeComponent();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" // 修改前保存当前实例的副本,以便取消时回退。"); sw.WriteLine(" " + dt.TitleCaseName + " " + dt.FieldCaseName + "Backup = new " + dt.TitleCaseName + "();"); sw.WriteLine(" // " + dt.TitleCaseName + ",Wcf服务代理对象"); sw.WriteLine(" MainServiceProxy<" + dt.TitleCaseName + "> wcfProxy = MainServiceProxy<" + dt.TitleCaseName + ">.Instance;"); sw.WriteLine(""); sw.WriteLine(" private DialogEditType _edittype = DialogEditType.Add;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 对话框的编辑类型,新增或者修改。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public DialogEditType EditType"); sw.WriteLine(" {"); sw.WriteLine(" get { return this._edittype; }"); sw.WriteLine(" set { this._edittype = value; }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private System.Windows.Forms.BindingSource " + dt.FieldCaseName + "BindingSource;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 对应类型的数据集绑定对象。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public System.Windows.Forms.BindingSource " + dt.TitleCaseName + "BindingSource"); sw.WriteLine(" {"); sw.WriteLine(" get { return this." + dt.FieldCaseName + "BindingSource; }"); sw.WriteLine(" set { this." + dt.FieldCaseName + "BindingSource = value; }"); sw.WriteLine(" }"); sw.WriteLine(""); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" private IList<" + dr.ParentTable.TitleCaseName + "> " + dr.ParentFieldCaseName + "list;"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// :TCustomer的数据集绑定对象。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public IList<" + dr.ParentTable.TitleCaseName + "> " + dr.ParentTitleCaseName + "List"); sw.WriteLine(" {"); sw.WriteLine(" get { return this." + dr.ParentFieldCaseName + "list; }"); sw.WriteLine(" set { this." + dr.ParentFieldCaseName + "list = value; }"); sw.WriteLine(" }"); } sw.WriteLine(""); sw.WriteLine(" private void dlg" + dt.TitleCaseName + "Edit_Load(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource == null)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowErr(\"必需的数据集没有赋值!\");"); sw.WriteLine(" }"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.CurrentChanged += new EventHandler(" + dt.TitleCaseName + "BindingSource_CurrentChanged);"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.CurrentItemChanged += new EventHandler(" + dt.TitleCaseName + "BindingSource_CurrentItemChanged);"); foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1." + dr.ParentTitleCaseName + "List = this." + dr.ParentTitleCaseName + "List;"); } sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".BindingSource = this." + dt.TitleCaseName + "BindingSource;"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1." + dt.TitleCaseName + "BindingSource = this." + dt.TitleCaseName + "BindingSource;"); sw.WriteLine(" if (this.EditType == DialogEditType.Add)"); sw.WriteLine(" {"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = false;"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.AddNew();"); sw.WriteLine(" this.SetDefaultProperty((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current);"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" else if (this.EditType == DialogEditType.Edit)"); sw.WriteLine(" {"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = true;"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" this." + dt.FieldCaseName + "Backup = ObjectHelper<" + dt.TitleCaseName + ">.Clone((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" void " + dt.TitleCaseName + "BindingSource_CurrentItemChanged(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" // 如果有修改,就控制数据导航条的使用"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null && ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).IsChanged == true)"); sw.WriteLine(" {"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = false;"); sw.WriteLine(" this.btnCancel.Enabled = true;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void " + dt.TitleCaseName + "BindingSource_CurrentChanged(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.FieldCaseName + "Backup = ObjectHelper<" + dt.TitleCaseName + ">.Clone((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current);"); sw.WriteLine(" // 取消修改"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null)"); sw.WriteLine(" {"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnSave_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" try"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.EndEdit();"); sw.WriteLine(" if (this.uc" + dt.TitleCaseName + "Detail1.ValidateChildren(ValidationConstraints.TabStop) == true)"); sw.WriteLine(" {"); sw.WriteLine(" if (this._edittype == DialogEditType.Add)"); sw.WriteLine(" {"); sw.WriteLine(" // 保存对象到数据库"); sw.WriteLine(" " + dt.TitleCaseName + " " + dt.ParamCaseName + " = (" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current;"); sw.WriteLine(" wcfProxy.Save(ref " + dt.ParamCaseName + ");"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource[this." + dt.TitleCaseName + "BindingSource.Position] = " + dt.ParamCaseName + ";"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" else if (this._edittype == DialogEditType.Edit)"); sw.WriteLine(" {"); sw.WriteLine(" " + dt.TitleCaseName + " " + dt.ParamCaseName + " = (" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current;"); sw.WriteLine(" if (" + dt.ParamCaseName + ".IsChanged == true)"); sw.WriteLine(" {"); sw.WriteLine(" // 更新对象到数据库"); sw.WriteLine(" wcfProxy.Update(ref " + dt.ParamCaseName + "," + dt.FieldCaseName + "Backup." + dt.PrimaryKey.Columns[0].TitleCaseName + ");"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource[this." + dt.TitleCaseName + "BindingSource.Position] = " + dt.ParamCaseName + ";"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = true;"); sw.WriteLine(" // 下一条"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Position == this." + dt.TitleCaseName + "BindingSource.Count - 1)"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.AddNew();"); sw.WriteLine(" this.SetDefaultProperty((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current);"); sw.WriteLine(" this._edittype = DialogEditType.Add;"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = false;"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.MoveNext();"); sw.WriteLine(" this._edittype = DialogEditType.Edit;"); sw.WriteLine(" }"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" catch (Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" FormHelper.ShowException(ex);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnCancel_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.EndEdit();"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null && ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).IsChanged == true)"); sw.WriteLine(" {"); sw.WriteLine(" if (FormHelper.ShowConfirm(\"是否确认取消保存前的所有操作!\") == false)"); sw.WriteLine(" {"); sw.WriteLine(" return;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" if (this._edittype == DialogEditType.Edit)"); sw.WriteLine(" {"); sw.WriteLine(" // 取消修改"); sw.WriteLine(" int i = this." + dt.TitleCaseName + "BindingSource.Position;"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.Insert(i + 1, this." + dt.FieldCaseName + "Backup);"); sw.WriteLine(" }"); sw.WriteLine(" this._edittype = DialogEditType.Edit;"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.RemoveCurrent();"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null)"); sw.WriteLine(" {"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" this.bindingNavigator" + dt.TitleCaseName + ".Enabled = true;"); sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1.ErrorProvider.Clear();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void btnClose_Click(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" this.Close();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void dlg" + dt.TitleCaseName + "Edit_FormClosing(object sender, FormClosingEventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" if (this._edittype == DialogEditType.Add)"); sw.WriteLine(" {"); sw.WriteLine(" // 新增退出判断"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null && ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).IsChanged == true)"); sw.WriteLine(" {"); sw.WriteLine(" if (FormHelper.ShowConfirm(\"新增的数据还未保存,您是否确认退出,选择\\\"是\\\"将不保存数据,并退出编辑界面!\") == true)"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.RemoveCurrent();"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null)"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" e.Cancel = true;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.RemoveCurrent();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" else if (this._edittype == DialogEditType.Edit)"); sw.WriteLine(" {"); sw.WriteLine(" // 修改退出判断"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null && ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).IsChanged == true)"); sw.WriteLine(" {"); sw.WriteLine(" if (FormHelper.ShowConfirm(\"修改的数据还未保存,您是否确认退出,选择\\\"是\\\"将不保存数据,并退出编辑界面!\") == true)"); sw.WriteLine(" {"); sw.WriteLine(" int i = this." + dt.TitleCaseName + "BindingSource.Position;"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.Insert(i + 1, this." + dt.FieldCaseName + "Backup);"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.RemoveCurrent();"); sw.WriteLine(" if (this." + dt.TitleCaseName + "BindingSource.Current != null)"); sw.WriteLine(" ((" + dt.TitleCaseName + ")this." + dt.TitleCaseName + "BindingSource.Current).Reject();"); sw.WriteLine(" }"); sw.WriteLine(" else"); sw.WriteLine(" {"); sw.WriteLine(" e.Cancel = true;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void bindingNavigator" + dt.TitleCaseName + "_MouseEnter(object sender, EventArgs e)"); sw.WriteLine(" {"); sw.WriteLine(" foreach (Control ctl in this.uc" + dt.TitleCaseName + "Detail1.Controls)"); sw.WriteLine(" {"); sw.WriteLine(" ComboBox cbb = ctl as ComboBox;"); sw.WriteLine(" if (cbb != null && cbb.Focused == true)"); sw.WriteLine(" {"); sw.WriteLine(" this.btnSave.Focus();"); sw.WriteLine(" break;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" this." + dt.TitleCaseName + "BindingSource.EndEdit();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void SetDefaultProperty(" + dt.TitleCaseName + " " + dt.ParamCaseName + ")"); sw.WriteLine(" {"); foreach (DbColumn dc in dt.Columns) { if (dc.IsGenerateField == true && dc.IsForeignKey == false) { switch (dc.FieldType) { case "DateTime?": sw.WriteLine(" " + dt.ParamCaseName + "." + dc.TitleCaseName + " = DateTime.Now;"); break; } } } foreach (DbRelation dr in dt.ParentRelations) { sw.WriteLine(" " + dt.ParamCaseName + "." + dr.ParentTitleCaseName + " = new " + dr.ParentTitleCaseName + "();"); } sw.WriteLine(" this.uc" + dt.TitleCaseName + "Detail1.ConstrolsDataDefault();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion EditDialogsDesignerCoder.Write(dt); ResourceFileCoder.Write(Path.Combine(path, "dlg" + dt.TitleCaseName + "Edit.resx")); }
public static void Write() { string path = BaseParams.WcfClientPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建WcfClientFactory类 string filepath = Path.Combine(path, "WcfClientFactory.cs"); FileStream file = new FileStream(filepath, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("Wcf客户代理工厂类", sw); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.ServiceModel.Security;"); sw.WriteLine("using " + BaseParams.WcfClientNameSpace + ".ServiceReference1;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.WcfClientNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public class WcfClientFactory"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 用户名"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public static string UserName"); sw.WriteLine(" {"); sw.WriteLine(" get;"); sw.WriteLine(" set;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 密码"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public static string Password"); sw.WriteLine(" {"); sw.WriteLine(" get;"); sw.WriteLine(" set;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 获取MainServiceClient对象"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public static MainServiceClient MainServiceClientInstance"); sw.WriteLine(" {"); sw.WriteLine(" get { "); sw.WriteLine(" MainServiceClient service = new MainServiceClient();"); sw.WriteLine(" if (UserName != null && UserName != String.Empty)"); sw.WriteLine(" {"); sw.WriteLine(" service.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;"); sw.WriteLine(" service.ClientCredentials.UserName.UserName = UserName;"); sw.WriteLine(" service.ClientCredentials.UserName.Password = Password;"); sw.WriteLine(" }"); sw.WriteLine(" return service;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }
public static void Write() { string path = BaseParams.UtilityPath; if (Directory.Exists(path) == false) { Directory.CreateDirectory(path); } #region 创建FormHelper类 string filepath = Path.Combine(path, "FormHelper.cs"); FileStream file = new FileStream(filepath, FileMode.Create); StreamWriter sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("窗体的通用方法辅助类", sw); sw.WriteLine(""); sw.WriteLine("using System;"); sw.WriteLine("using System.Windows.Forms;"); sw.WriteLine(""); sw.WriteLine("using " + BaseParams.ControlsNameSpace + ";"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.UtilityNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 窗体的通用方法类"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public class FormHelper"); sw.WriteLine(" {"); sw.WriteLine(""); sw.WriteLine(" #region 设置所有子控件只读"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 设置父控件中所有子控件的ReadOnly"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"controls\"></param>"); sw.WriteLine(" /// <param name=\"readOnly\"></param>"); sw.WriteLine(" public static void SetReadOnly(Control ctlParent, bool readOnly)"); sw.WriteLine(" {"); sw.WriteLine(" if (ctlParent.HasChildren)"); sw.WriteLine(" {"); sw.WriteLine(" foreach (Control ctl in ctlParent.Controls)"); sw.WriteLine(" {"); sw.WriteLine(" if (ctl.HasChildren)"); sw.WriteLine(" {"); sw.WriteLine(" SetReadOnly(ctl, readOnly);"); sw.WriteLine(" continue;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" if (ctl is TextBox)"); sw.WriteLine(" {"); sw.WriteLine(" TextBox _txt = (TextBox)ctl;"); sw.WriteLine(" _txt.ReadOnly = true;"); sw.WriteLine(" _txt.BackColor = System.Drawing.Color.White;"); sw.WriteLine(" }"); sw.WriteLine(" else if (ctl is ComboBox || ctl is Button || ctl is DateTimePicker)"); sw.WriteLine(" {"); sw.WriteLine(" ctl.Enabled = false;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine(" #endregion"); sw.WriteLine(""); sw.WriteLine(" #region 绑定数据"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 绑定数据"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" public static void BindData(Control ctlParent, object DataSource)"); sw.WriteLine(" {"); sw.WriteLine(" if (ctlParent.HasChildren)"); sw.WriteLine(" {"); sw.WriteLine(" foreach (Control ctl in ctlParent.Controls)"); sw.WriteLine(" {"); sw.WriteLine(" if (ctl.HasChildren)"); sw.WriteLine(" {"); sw.WriteLine(" BindData(ctl, DataSource);"); sw.WriteLine(" continue;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" if (ctl is MyTextBox)"); sw.WriteLine(" {"); sw.WriteLine(" MyTextBox _txt = (MyTextBox)ctl;"); sw.WriteLine(" if (_txt.IsNeedBind == false) //不需要绑定"); sw.WriteLine(" continue;"); sw.WriteLine(""); sw.WriteLine(" if (_txt.DataBindings[\"Text\"] != null)"); sw.WriteLine(" _txt.DataBindings.Remove(_txt.DataBindings[\"Text\"]);"); sw.WriteLine(""); sw.WriteLine(" _txt.DataBindings.Add(\"Text\", DataSource, _txt.FieldName, true);"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine(" else if (ctl is MyComboBox)"); sw.WriteLine(" {"); sw.WriteLine(" MyComboBox _cbb = (MyComboBox)ctl;"); sw.WriteLine(" if (_cbb.IsNeedBind == false) //不需要绑定"); sw.WriteLine(" continue;"); sw.WriteLine(""); sw.WriteLine(" if (_cbb.DataBindings[\"SelectedValue\"] != null)"); sw.WriteLine(" _cbb.DataBindings.Remove(_cbb.DataBindings[\"SelectedValue\"]);"); sw.WriteLine(""); sw.WriteLine(" _cbb.DataBindings.Add(\"SelectedValue\", DataSource, _cbb.FieldName, true);"); sw.WriteLine(""); sw.WriteLine(" }"); sw.WriteLine(" else if (ctl is MyDateTimePicker)"); sw.WriteLine(" {"); sw.WriteLine(" MyDateTimePicker _dtp = (MyDateTimePicker)ctl;"); sw.WriteLine(""); sw.WriteLine(" if (_dtp.IsNeedBind == false)"); sw.WriteLine(" continue;"); sw.WriteLine(" if (_dtp.DataBindings[\"Value\"] != null)"); sw.WriteLine(" _dtp.DataBindings.Remove(_dtp.DataBindings[\"Value\"]);"); sw.WriteLine(""); sw.WriteLine(" _dtp.DataBindings.Add(\"Value\", DataSource, _dtp.FieldName, true);"); sw.WriteLine(" }"); sw.WriteLine(" else if (ctl is MyMaskedTextBox)"); sw.WriteLine(" {"); sw.WriteLine(" MyMaskedTextBox _mtb = (MyMaskedTextBox)ctl;"); sw.WriteLine(""); sw.WriteLine(" if (_mtb.IsNeedBind == false)"); sw.WriteLine(" continue;"); sw.WriteLine(" if (_mtb.DataBindings[\"Text\"] != null)"); sw.WriteLine(" _mtb.DataBindings.Remove(_mtb.DataBindings[\"Text\"]);"); sw.WriteLine(""); sw.WriteLine(" _mtb.DataBindings.Add(\"Text\", DataSource, _mtb.FieldName, true);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #endregion"); sw.WriteLine(""); sw.WriteLine(" #region 弹出提示信息"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 弹出提示信息"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"msg\">需要显示的消息</param>"); sw.WriteLine(" public static void ShowInfo(string msg)"); sw.WriteLine(" {"); sw.WriteLine(" MessageBox.Show(msg, \"消息\", MessageBoxButtons.OK, MessageBoxIcon.Information);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 弹出确定对话框"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"msg\">需要显示的消息</param>"); sw.WriteLine(" /// <returns>"); sw.WriteLine(" /// true:点击了OK"); sw.WriteLine(" /// false:点击了Cancel"); sw.WriteLine(" /// </returns>"); sw.WriteLine(" public static bool ShowConfirm(string msg)"); sw.WriteLine(" {"); sw.WriteLine(" DialogResult _dr = MessageBox.Show(msg, \"消息\", MessageBoxButtons.YesNo, MessageBoxIcon.Question);"); sw.WriteLine(" if (_dr == DialogResult.Yes)"); sw.WriteLine(" return true;"); sw.WriteLine(" else"); sw.WriteLine(" return false;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 弹出错误信息"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"msg\">需要显示的消息</param>"); sw.WriteLine(" public static void ShowErr(string msg)"); sw.WriteLine(" {"); sw.WriteLine(" MessageBox.Show(msg, \"错误\", MessageBoxButtons.OK, MessageBoxIcon.Error);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 弹出异常信息"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"ex\">需要显示的异常</param>"); sw.WriteLine(" public static void ShowException(Exception ex)"); sw.WriteLine(" {"); sw.WriteLine(" MessageBox.Show(\"程序运行发生异常:\" + ex.Message, \"异常\", MessageBoxButtons.OK, MessageBoxIcon.Error);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" #endregion"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion #region 创建IListHelper类 filepath = Path.Combine(path, "IListHelper.cs"); file = new FileStream(filepath, FileMode.Create); sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("IListHelper", sw); sw.WriteLine(""); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Data;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.UtilityNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public class IListHelper"); sw.WriteLine(" {"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// Ilist<T> 转换成 DataSet"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"list\">Ilist<T></param>"); sw.WriteLine(" /// <returns>DataSet</returns>"); sw.WriteLine(""); sw.WriteLine(" public static DataSet ConvertToDataSet<T>(IList<T> list)"); sw.WriteLine(" {"); sw.WriteLine(" if (list == null || list.Count <= 0)"); sw.WriteLine(" {"); sw.WriteLine(" return null;"); sw.WriteLine(" }"); sw.WriteLine(" "); sw.WriteLine(" DataSet ds = new DataSet();"); sw.WriteLine(" DataTable dt = new DataTable(typeof(T).Name);"); sw.WriteLine(" DataColumn column;"); sw.WriteLine(" DataRow row;"); sw.WriteLine(" "); sw.WriteLine(" System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);"); sw.WriteLine(""); sw.WriteLine(" foreach (T t in list)"); sw.WriteLine(" {"); sw.WriteLine(" if (t == null)"); sw.WriteLine(" {"); sw.WriteLine(" continue;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" row = dt.NewRow();"); sw.WriteLine(""); sw.WriteLine(" for (int i = 0, j = myPropertyInfo.Length; i < j; i++)"); sw.WriteLine(" {"); sw.WriteLine(" System.Reflection.PropertyInfo pi = myPropertyInfo[i];"); sw.WriteLine(""); sw.WriteLine(" string name = pi.Name;"); sw.WriteLine(""); sw.WriteLine(" if (dt.Columns[name] == null)"); sw.WriteLine(" {"); sw.WriteLine(" column = new DataColumn(name, pi.PropertyType);"); sw.WriteLine(" dt.Columns.Add(column);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" row[name] = pi.GetValue(t, null);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" dt.Rows.Add(row);"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" ds.Tables.Add(dt);"); sw.WriteLine(""); sw.WriteLine(" return ds;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion #region 创建ObjectHelper<T>类 filepath = Path.Combine(path, "ObjectHelper.cs"); file = new FileStream(filepath, FileMode.Create); sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("ObjectHelper", sw); sw.WriteLine(""); sw.WriteLine("using System;"); sw.WriteLine("using System.IO;"); sw.WriteLine("using System.Runtime.Serialization;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Runtime.Serialization.Formatters.Binary;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.UtilityNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" public class ObjectHelper<T>"); sw.WriteLine(" {"); sw.WriteLine(""); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 采用序列化的方式对对象进行深层克隆"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <param name=\"o\">需要克隆的对象</param>"); sw.WriteLine(" /// <returns>返回克隆对象</returns>"); sw.WriteLine(" public static T Clone(T o)"); sw.WriteLine(" {"); sw.WriteLine(" if (o == null) return o;"); sw.WriteLine(" System.IO.MemoryStream _memory = new System.IO.MemoryStream();"); sw.WriteLine(" BinaryFormatter formatter = new BinaryFormatter();"); sw.WriteLine(" formatter.Serialize(_memory, o);"); sw.WriteLine(" _memory.Position = 0;"); sw.WriteLine(" T _newOjb = (T)formatter.Deserialize(_memory);"); sw.WriteLine(" _memory.Close();"); sw.WriteLine(" return _newOjb;"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion #region 创建SortableBindingList<T>类 filepath = Path.Combine(path, "SortableBindingList.cs"); file = new FileStream(filepath, FileMode.Create); sw = new StreamWriter(file, Encoding.UTF8); CommentsCoder.CreateCsComments("SortableBindingList", sw); sw.WriteLine(""); sw.WriteLine("using System;"); sw.WriteLine("using System.Collections;"); sw.WriteLine("using System.Collections.Generic;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.ComponentModel;"); sw.WriteLine("using System.Reflection;"); sw.WriteLine(""); sw.WriteLine("namespace " + BaseParams.UtilityNameSpace + ""); sw.WriteLine("{"); sw.WriteLine(" /// <summary>"); sw.WriteLine(" /// 转换为可排序List对象。"); sw.WriteLine(" /// </summary>"); sw.WriteLine(" /// <typeparam name=\"T\">需要转换的泛型对象</typeparam>"); sw.WriteLine(" public class SortableBindingList<T> :BindingList<T>"); sw.WriteLine(" {"); sw.WriteLine(" private bool isSortedCore = true;"); sw.WriteLine(" private ListSortDirection sortDirectionCore = ListSortDirection.Ascending;"); sw.WriteLine(" private PropertyDescriptor sortPropertyCore = null;"); sw.WriteLine(" private string defaultSortItem;"); sw.WriteLine(""); sw.WriteLine(" public SortableBindingList() : base() { }"); sw.WriteLine(""); sw.WriteLine(" public SortableBindingList(IList<T> list) : base(list) { }"); sw.WriteLine(""); sw.WriteLine(" protected override bool SupportsSortingCore"); sw.WriteLine(" {"); sw.WriteLine(" get { return true; }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected override bool SupportsSearchingCore"); sw.WriteLine(" {"); sw.WriteLine(" get { return true; }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected override bool IsSortedCore"); sw.WriteLine(" {"); sw.WriteLine(" get { return isSortedCore; }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected override ListSortDirection SortDirectionCore"); sw.WriteLine(" {"); sw.WriteLine(" get { return sortDirectionCore; }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected override PropertyDescriptor SortPropertyCore"); sw.WriteLine(" {"); sw.WriteLine(" get { return sortPropertyCore; }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected override int FindCore(PropertyDescriptor prop, object key)"); sw.WriteLine(" {"); sw.WriteLine(" for (int i = 0; i < this.Count; i++)"); sw.WriteLine(" {"); sw.WriteLine(" if (Equals(prop.GetValue(this[i]), key)) return i;"); sw.WriteLine(" }"); sw.WriteLine(" return -1;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected override void ApplySortCore(PropertyDescriptor prop, ListSortDirection direction)"); sw.WriteLine(" {"); sw.WriteLine(" isSortedCore = true;"); sw.WriteLine(" sortPropertyCore = prop;"); sw.WriteLine(" sortDirectionCore = direction;"); sw.WriteLine(" Sort();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" protected override void RemoveSortCore()"); sw.WriteLine(" {"); sw.WriteLine(" if (isSortedCore)"); sw.WriteLine(" {"); sw.WriteLine(" isSortedCore = false;"); sw.WriteLine(" sortPropertyCore = null;"); sw.WriteLine(" sortDirectionCore = ListSortDirection.Ascending;"); sw.WriteLine(" Sort();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" public string DefaultSortItem"); sw.WriteLine(" {"); sw.WriteLine(" get { return defaultSortItem; }"); sw.WriteLine(" set"); sw.WriteLine(" {"); sw.WriteLine(" if (defaultSortItem != value)"); sw.WriteLine(" {"); sw.WriteLine(" defaultSortItem = value;"); sw.WriteLine(" Sort();"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private void Sort()"); sw.WriteLine(" {"); sw.WriteLine(" List<T> list = (this.Items as List<T>);"); sw.WriteLine(" list.Sort(CompareCore);"); sw.WriteLine(" ResetBindings();"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private int CompareCore(T o1, T o2)"); sw.WriteLine(" {"); sw.WriteLine(" int ret = 0;"); sw.WriteLine(" if (SortPropertyCore != null)"); sw.WriteLine(" {"); sw.WriteLine(" ret = CompareValue(SortPropertyCore.GetValue(o1), SortPropertyCore.GetValue(o2), SortPropertyCore.PropertyType);"); sw.WriteLine(" }"); sw.WriteLine(" if (ret == 0 && DefaultSortItem != null)"); sw.WriteLine(" {"); sw.WriteLine(" PropertyInfo property = typeof(T).GetProperty(DefaultSortItem, BindingFlags.Public | BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.IgnoreCase, null, null, new Type[0], null);"); sw.WriteLine(" if (property != null)"); sw.WriteLine(" {"); sw.WriteLine(" ret = CompareValue(property.GetValue(o1, null), property.GetValue(o2, null), property.PropertyType);"); sw.WriteLine(" }"); sw.WriteLine(" }"); sw.WriteLine(" if (SortDirectionCore == ListSortDirection.Descending) ret = -ret;"); sw.WriteLine(" return ret;"); sw.WriteLine(" }"); sw.WriteLine(""); sw.WriteLine(" private static int CompareValue(object o1, object o2, Type type)"); sw.WriteLine(" {"); sw.WriteLine(" //这里改成自己定义的比较 "); sw.WriteLine(" if (o1 == null) return o2 == null ? 0 : -1;"); sw.WriteLine(" else if (o2 == null) return 1;"); sw.WriteLine(" else if (type.IsPrimitive || type.IsEnum) return Convert.ToDouble(o1).CompareTo(Convert.ToDouble(o2));"); sw.WriteLine(" else if (type == typeof(DateTime)) return Convert.ToDateTime(o1).CompareTo(o2);"); sw.WriteLine(" else return String.Compare(o1.ToString().Trim(), o2.ToString().Trim());"); sw.WriteLine(" }"); sw.WriteLine(" } "); sw.WriteLine("}"); sw.Close(); file.Close(); #endregion }