using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using MySql.Data.MySqlClient;
namespace FangYar.OracleDAL.TBL
{
class SysPermDAL : FangYar.IDAL.TBL.SysPermIDAL
{
#region 私有方法
///
/// DataRow转model实体类对象
///
///
///
private void DataRowToModel(Model.TBL.TBL_SYS_PERM_Model model, DataRow dr)
{
if (!DBNull.Value.Equals(dr["ID"]))
model.ID = dr["ID"].ToString();
if (!DBNull.Value.Equals(dr["APP_ID"]))
model.APP_ID = dr["APP_ID"].ToString();
if (!DBNull.Value.Equals(dr["PERM_NAME"]))
model.PERM_NAME = dr["PERM_NAME"].ToString();
if (!DBNull.Value.Equals(dr["PERM_VALUE"]))
model.PERM_VALUE = dr["PERM_VALUE"].ToString();
if (!DBNull.Value.Equals(dr["PERM_DES"]))
model.PERM_DES = dr["PERM_DES"].ToString();
}
///
/// DataRow转model实体类对象
///
///
///
private Model.TBL.TBL_SYS_PERM_Model DataRowToModel(DataRow dr)
{
Model.TBL.TBL_SYS_PERM_Model model = new Model.TBL.TBL_SYS_PERM_Model();
if (!DBNull.Value.Equals(dr["ID"]))
model.ID = dr["ID"].ToString();
if (!DBNull.Value.Equals(dr["APP_ID"]))
model.APP_ID = dr["APP_ID"].ToString();
if (!DBNull.Value.Equals(dr["PERM_NAME"]))
model.PERM_NAME = dr["PERM_NAME"].ToString();
if (!DBNull.Value.Equals(dr["PERM_VALUE"]))
model.PERM_VALUE = dr["PERM_VALUE"].ToString();
if (!DBNull.Value.Equals(dr["PERM_DES"]))
model.PERM_DES = dr["PERM_DES"].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 基本方法
///
/// 根据ID获取实体对象
///
public Model.TBL.TBL_SYS_PERM_Model GetModelByID(string Id)
{
Model.TBL.TBL_SYS_PERM_Model model = null;
string sql = "select * from TBL_SYS_PERM where ID=@ID";
MySqlParameter[] paras ={
new MySqlParameter("@ID",MySqlDbType.VarChar,36)
};
paras[0].Value = Id;
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql, paras);
if (dt.Rows.Count > 0)
{
model = new Model.TBL.TBL_SYS_PERM_Model();
DataRowToModel(model, dt.Rows[0]);
return model;
}
else
{
return null;
}
}
///
/// 根据APP_ID获取实体类对象
///
public Model.TBL.TBL_SYS_PERM_Model GetModelByAppId(string AppId)
{
Model.TBL.TBL_SYS_PERM_Model model = null;
string sql = "select * from TBL_SYS_PERM where APP_ID=@APP_ID";
MySqlParameter[] paras ={
new MySqlParameter("@APP_ID",MySqlDbType.VarChar,50)
};
paras[0].Value = AppId;
DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql, paras);
if (dt.Rows.Count > 0)
{
model = new Model.TBL.TBL_SYS_PERM_Model();
DataRowToModel(model, dt.Rows[0]);
return model;
}
else
{
return null;
}
}
///
/// 添加
///
public bool Add(Model.TBL.TBL_SYS_PERM_Model model)
{
StringBuilder strsql = new StringBuilder();
strsql.Append("insert into TBL_SYS_PERM (APP_ID,PERM_NAME,PERM_VALUE,PERM_DES,ID)");
strsql.Append("values");
strsql.Append("(@APP_ID,@PERM_NAME,@PERM_VALUE,@PERM_DES,@ID)");
MySqlParameter[] paras ={
new MySqlParameter("@APP_ID",model.APP_ID),
new MySqlParameter("@PERM_NAME",model.PERM_NAME),
new MySqlParameter("@PERM_VALUE",model.PERM_VALUE),
new MySqlParameter("@PERM_DES",model.PERM_DES),
new MySqlParameter("@ID",model.ID),
};
int i = FangYar.Common.MySqlHelper.ExecuteSql(strsql.ToString(), paras);
if (i > 0)
{
return true;
}
else
{
return false;
}
}
///
///修改
///
public bool Edit(Model.TBL.TBL_SYS_PERM_Model model)
{
StringBuilder strsql = new StringBuilder();
strsql.Append("update TBL_SYS_PERM set ");
strsql.Append("APP_ID=@APP_ID,");
strsql.Append("PERM_NAME=@PERM_NAME,");
strsql.Append("PERM_VALUE=@PERM_VALUE,");
strsql.Append("PERM_DES=@PERM_DES ");
strsql.Append(" where ID=@ID");
MySqlParameter[] paras ={
new MySqlParameter("@APP_ID",model.APP_ID),
new MySqlParameter("@PERM_NAME",model.PERM_NAME),
new MySqlParameter("@PERM_VALUE",model.PERM_VALUE),
new MySqlParameter("@PERM_DES",model.PERM_DES),
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_PERM where ID in('" + IDList + "')";
try
{
int i = FangYar.Common.MySqlHelper.ExecuteSql(sql);
if (i > 0)
{
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
public int Count(string where)
{
string sql = "select count(1) from TBL_SYS_PERM ";
if (where != null && where != "")
{
sql += " where " + where;
}
try
{
return FangYar.Common.MySqlHelper.GetCount(sql);
}
catch
{
return 0;
}
}
#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_PERM", strwhere);
}
///
/// 分页无排序
///
/// 页面索引
/// 页面大小
/// 查询条件
/// 排序
///
public DataTable QueryPage(int PageIndex, int PageSize, string strwhere, string order)
{
return FangYar.Common.MySqlHelper.QueryPage(PageIndex, PageSize, "TBL_SYS_PERM", 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_PERM", "*", null, null, null);
}
#endregion
}
}