You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
363 lines
13 KiB
363 lines
13 KiB
9 months ago
|
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 私有方法
|
||
|
/// <summary>
|
||
|
/// DataRow转model实体类对象
|
||
|
/// </summary>
|
||
|
/// <param name="dr"></param>
|
||
|
/// <returns></returns>
|
||
|
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();
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 把DataRow行转成实体类对象
|
||
|
/// </summary>
|
||
|
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;
|
||
|
|
||
|
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 把DataTable行转成实体类List集合
|
||
|
/// </summary>
|
||
|
private List<FangYar.Model.TBL.TBL_SYS_AREA_Model> DataTableToList(DataTable dt)
|
||
|
{
|
||
|
List<FangYar.Model.TBL.TBL_SYS_AREA_Model> modellist = new List<Model.TBL.TBL_SYS_AREA_Model>();
|
||
|
if (dt.Rows.Count > 0)
|
||
|
{
|
||
|
foreach (DataRow myRow in dt.Rows)
|
||
|
{
|
||
|
modellist.Add(DataRowToModel(myRow));
|
||
|
}
|
||
|
}
|
||
|
return modellist;
|
||
|
|
||
|
}
|
||
|
#endregion
|
||
|
#region 基本方法
|
||
|
|
||
|
/// <summary>
|
||
|
/// 获取记录数
|
||
|
/// </summary>
|
||
|
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;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 根据AreaCode获取实体对象
|
||
|
/// </summary>
|
||
|
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;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 根据区域码获取实体类对象
|
||
|
/// </summary>
|
||
|
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;
|
||
|
}
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 添加
|
||
|
/// </summary>
|
||
|
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;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
/// <summary>
|
||
|
///修改
|
||
|
/// </summary>
|
||
|
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; }
|
||
|
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 删除
|
||
|
/// </summary>
|
||
|
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 分页
|
||
|
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <returns></returns>
|
||
|
public string QueryJsonList(int PageIndex, int PageSize, string strwhere)
|
||
|
{
|
||
|
|
||
|
return FangYar.Common.JsonHelper.ToJson(QueryPage(PageIndex, PageSize, strwhere));
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <returns></returns>
|
||
|
public string QueryJsonList(int PageIndex, int PageSize, string strwhere, string order)
|
||
|
{
|
||
|
|
||
|
return FangYar.Common.JsonHelper.ToJson(QueryPage(PageIndex, PageSize, strwhere, order));
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <returns></returns>
|
||
|
public List<FangYar.Model.TBL.TBL_SYS_AREA_Model> QueryList(int PageIndex, int PageSize, string strwhere)
|
||
|
{
|
||
|
|
||
|
return DataTableToList(QueryPage(PageIndex, PageSize, strwhere));
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <returns></returns>
|
||
|
public List<FangYar.Model.TBL.TBL_SYS_AREA_Model> QueryList(int PageIndex, int PageSize, string strwhere, string order)
|
||
|
{
|
||
|
|
||
|
return DataTableToList(QueryPage(PageIndex, PageSize, strwhere, order));
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <returns></returns>
|
||
|
public DataTable QueryPage(int PageIndex, int PageSize, string strwhere)
|
||
|
{
|
||
|
|
||
|
return FangYar.Common.MySqlHelper.QueryPage(PageIndex, PageSize, "TBL_SYS_AREA", strwhere);
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 分页无排序
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <param name="strwhere">排序</param>
|
||
|
/// <returns></returns>
|
||
|
public DataTable QueryPage(int PageIndex, int PageSize, string strwhere, string order)
|
||
|
{
|
||
|
|
||
|
return FangYar.Common.MySqlHelper.QueryPage(PageIndex, PageSize, "TBL_SYS_AREA", strwhere, order);
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 存储过程分页
|
||
|
/// </summary>
|
||
|
/// <param name="PageIndex">页面索引</param>
|
||
|
/// <param name="PageSize">页面大小</param>
|
||
|
/// <param name="strwhere">查询条件</param>
|
||
|
/// <param name="strwhere">排序</param>
|
||
|
/// <returns></returns>
|
||
|
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 扩展业务方法
|
||
|
|
||
|
/// <summary>
|
||
|
/// 根据区域码获取所有父级区域码以及区域名称
|
||
|
/// </summary>
|
||
|
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
|
||
|
}
|
||
|
}
|