using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using MySql.Data.MySqlClient; namespace FangYar.OracleDAL.TBL { public class SysAreaDAL:FangYar.IDAL.TBL.SysAreaIDAL { #region 私有方法 /// /// DataRow转model实体类对象 /// /// /// private void DataRowToModel(Model.TBL.TBL_SYS_AREA_Model model, DataRow dr) { if (!DBNull.Value.Equals(dr["ID"])) model.ID = dr["ID"].ToString(); if (!DBNull.Value.Equals(dr["PID"])) model.PID = dr["PID"].ToString(); if (!DBNull.Value.Equals(dr["AREA_CODE"])) model.AREA_CODE = dr["AREA_CODE"].ToString(); if (!DBNull.Value.Equals(dr["AREA_NAME"])) model.AREA_NAME = dr["AREA_NAME"].ToString(); if (!DBNull.Value.Equals(dr["AREA_LEVEL"])) model.AREA_LEVEL = dr["AREA_LEVEL"].ToString(); if (!DBNull.Value.Equals(dr["AREA_EXTS"])) model.AREA_EXTS = dr["AREA_EXTS"].ToString(); } /// /// 把DataRow行转成实体类对象 /// private FangYar.Model.TBL.TBL_SYS_AREA_Model DataRowToModel(DataRow dr) { FangYar.Model.TBL.TBL_SYS_AREA_Model model = new Model.TBL.TBL_SYS_AREA_Model(); if (!DBNull.Value.Equals(dr["ID"])) model.ID = dr["ID"].ToString(); if (!DBNull.Value.Equals(dr["PID"])) model.PID = dr["PID"].ToString(); if (!DBNull.Value.Equals(dr["AREA_CODE"])) model.AREA_CODE = dr["AREA_CODE"].ToString(); if (!DBNull.Value.Equals(dr["AREA_NAME"])) model.AREA_NAME = dr["AREA_NAME"].ToString(); if (!DBNull.Value.Equals(dr["AREA_LEVEL"])) model.AREA_LEVEL = dr["AREA_LEVEL"].ToString(); if (!DBNull.Value.Equals(dr["AREA_EXTS"])) model.AREA_EXTS = dr["AREA_EXTS"].ToString(); return model; } /// /// 把DataTable行转成实体类List集合 /// private List DataTableToList(DataTable dt) { List modellist = new List(); if (dt.Rows.Count > 0) { foreach (DataRow myRow in dt.Rows) { modellist.Add(DataRowToModel(myRow)); } } return modellist; } #endregion #region 基本方法 /// /// 获取记录数 /// public int Count(string strwhere) { string sql = "select count(1) from TBL_SYS_AREA "; if (strwhere != null && strwhere != "") { sql += " where " + strwhere; } try { return FangYar.Common.MySqlHelper.GetCount(sql); } catch { return 0; } } /// /// 根据AreaCode获取实体对象 /// public Model.TBL.TBL_SYS_AREA_Model GetModelByID(string AreaCode) { Model.TBL.TBL_SYS_AREA_Model model = null; string sql = "select * from TBL_SYS_AREA where AREA_CODE=@AreaCode"; MySqlParameter[] paras ={ new MySqlParameter("@AreaCode",MySqlDbType.VarChar,36) }; paras[0].Value = AreaCode; DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql, paras); if (dt.Rows.Count > 0) { model = new Model.TBL.TBL_SYS_AREA_Model(); DataRowToModel(model, dt.Rows[0]); return model; } else { return null; } } /// /// 根据区域码获取实体类对象 /// public Model.TBL.TBL_SYS_AREA_Model GetModelByAreaCode(string AreaCode) { Model.TBL.TBL_SYS_AREA_Model model = null; string sql = "select * from TBL_SYS_AREA where AREA_CODE=@AREA_CODE"; MySqlParameter[] paras ={ new MySqlParameter("@AREA_CODE",MySqlDbType.VarChar,50) }; paras[0].Value = AreaCode; DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql, paras); if (dt.Rows.Count > 0) { model = new Model.TBL.TBL_SYS_AREA_Model(); DataRowToModel(model, dt.Rows[0]); return model; } else { return null; } } /// /// 添加 /// public bool Add(Model.TBL.TBL_SYS_AREA_Model model) { StringBuilder strsql = new StringBuilder(); strsql.Append("insert into TBL_SYS_AREA (PID,AREA_CODE,AREA_NAME,AREA_LEVEL,AREA_EXTS)"); strsql.Append("values"); strsql.Append("(@PID,@AREA_CODE,@AREA_NAME,@AREA_LEVEL,@AREA_EXTS)"); MySqlParameter[] paras ={ new MySqlParameter("@PID",MySqlDbType.VarChar,36), new MySqlParameter("@AREA_CODE",MySqlDbType.VarChar,50), new MySqlParameter("@AREA_NAME",MySqlDbType.VarChar,50), new MySqlParameter("@AREA_LEVEL",MySqlDbType.VarChar,1), new MySqlParameter("@AREA_EXTS",MySqlDbType.VarChar,500) }; paras[0].Value = model.PID; paras[1].Value = model.AREA_CODE; paras[2].Value = model.AREA_NAME; paras[3].Value = model.AREA_LEVEL; paras[4].Value = model.AREA_EXTS; int i = FangYar.Common.MySqlHelper.ExecuteSql(strsql.ToString(), paras); if (i > 0) { return true; } else { return false; } } /// ///修改 /// public bool Edit(Model.TBL.TBL_SYS_AREA_Model model) { StringBuilder strsql = new StringBuilder(); strsql.Append("update TBL_SYS_AREA set "); strsql.Append("PID=@PID,"); strsql.Append("AREA_CODE=@AREA_CODE,"); strsql.Append("AREA_NAME=@AREA_NAME,"); strsql.Append("AREA_LEVEL=@AREA_LEVEL,"); strsql.Append("AREA_EXTS=@AREA_EXTS "); strsql.Append(" where ID=@ID"); MySqlParameter[] paras ={ new MySqlParameter("@PID",model.PID), new MySqlParameter("@AREA_CODE",model.AREA_CODE), new MySqlParameter("@AREA_NAME",model.AREA_NAME), new MySqlParameter("@AREA_LEVEL",model.AREA_LEVEL), new MySqlParameter("@AREA_EXTS",model.AREA_EXTS), new MySqlParameter("@ID",model.ID) }; int i = FangYar.Common.MySqlHelper.ExecuteSql(strsql.ToString(), paras); if (i > 0) { return true; } else { return false; } } /// /// 删除 /// public bool Delete(string IDList) { string sql = "delete from TBL_SYS_AREA where ID in('" + IDList + "')"; try { FangYar.Common.MySqlHelper.ExecuteSql(sql); return true; } catch { return false; } } #endregion #region 分页 /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// public string QueryJsonList(int PageIndex, int PageSize, string strwhere) { return FangYar.Common.JsonHelper.ToJson(QueryPage(PageIndex, PageSize, strwhere)); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// public string QueryJsonList(int PageIndex, int PageSize, string strwhere, string order) { return FangYar.Common.JsonHelper.ToJson(QueryPage(PageIndex, PageSize, strwhere, order)); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// public List QueryList(int PageIndex, int PageSize, string strwhere) { return DataTableToList(QueryPage(PageIndex, PageSize, strwhere)); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// public List QueryList(int PageIndex, int PageSize, string strwhere, string order) { return DataTableToList(QueryPage(PageIndex, PageSize, strwhere, order)); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// public DataTable QueryPage(int PageIndex, int PageSize, string strwhere) { return FangYar.Common.MySqlHelper.QueryPage(PageIndex, PageSize, "TBL_SYS_AREA", strwhere); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// 排序 /// public DataTable QueryPage(int PageIndex, int PageSize, string strwhere, string order) { return FangYar.Common.MySqlHelper.QueryPage(PageIndex, PageSize, "TBL_SYS_AREA", strwhere, order); } /// /// 存储过程分页 /// /// 页面索引 /// 页面大小 /// 查询条件 /// 排序 /// public void QueryProc(int PageIndex, int PageSize, string strwhere, string order) { int totalcount = 0; FangYar.Common.SqlPagerHelperOra.Select(PageSize, PageIndex, out totalcount, "TBL_SYS_AREA", "*", null, null, null); } #endregion #region 扩展业务方法 /// /// 根据区域码获取所有父级区域码以及区域名称 /// public FangYar.Model.TBL.TBL_SYS_AREA_PID_Model GetPIDS(string code, FangYar.Model.TBL.TBL_SYS_AREA_PID_Model area_s) { string sql = "select AREA_CODE ,AREA_NAME ,PID from TBL_SYS_AREA where AREA_CODE = '" + code + "'"; //父级区域Model DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql); if (dt != null && dt.Rows.Count > 0) { if (area_s.CODE_S != null) { area_s.CODE_S = area_s.CODE_S + ","; area_s.NAME_S = area_s.NAME_S + ","; } area_s.CODE_S = area_s.CODE_S + dt.Rows[0]["AREA_CODE"].ToString(); area_s.NAME_S = area_s.NAME_S + dt.Rows[0]["AREA_NAME"].ToString(); GetPIDS(dt.Rows[0]["PID"].ToString(), area_s); } string[] code_ids = area_s.CODE_S.Split(','); string[] code_names = area_s.NAME_S.Split(','); FangYar.Model.TBL.TBL_SYS_AREA_PID_Model area_s2 = new FangYar.Model.TBL.TBL_SYS_AREA_PID_Model(); for (int i = code_ids.Length-1; i > -1;i-- ) { if (area_s2.CODE_S != null) { area_s2.CODE_S = area_s2.CODE_S + ","; area_s2.NAME_S = area_s2.NAME_S + ","; } area_s2.CODE_S = area_s2.CODE_S + code_ids[i]; area_s2.NAME_S = area_s2.NAME_S + code_names[i]; } return area_s2; } #endregion } }