documentDAL.cs
资源名称:OASystem.rar [点击查看]
上传用户:lishan0805
上传日期:2019-12-08
资源大小:12048k
文件大小:25k
源码类别:
OA系统
开发平台:
C#
- // ===================================================================
- // 产品(COM.OA.SqlServerDAL)项目
- //====================================================================
- // wangyp @Copy Right 2006-2008
- // 文件:documentDAL.cs
- // 项目名称:工程项目管理
- // 创建时间:2008-9-23
- // 负责人:wangyp
- // 先创建SqlHelper.cs文件,引用System.Configuration程序集和实体(COM.OA.Entity)、产品规则(COM.OA.IDAL)项目、引用业务逻辑(COM.OA.BLL)项目
- // ===================================================================
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Data;
- using System.Data.SqlClient;
- using System.Text;
- using COM.OA.Entity;
- using COM.OA.IDAL;
- using COM.OA.BLL;
- namespace COM.OA.SqlServerDAL
- {
- /// <summary>
- /// 数据访问层dbo.document
- /// </summary>
- public partial class documentDAL : IdocumentDAL
- {
- #region 构造函数
- /// <summary>
- /// 数据层实例化
- /// </summary>
- public documentDAL()
- {
- }
- #endregion
- #region -----------实例化接口函数-----------
- #region 添加
- /// <summary>
- /// 向数据库中插入一条新记录
- /// </summary>
- /// <param name="document">document实体对象</param>
- /// <returns></returns>
- public int Insert(document document)
- {
- string sqlCommand = "documentInsert";
- int res;
- SqlParameter[] param ={
- new SqlParameter("@doc_id",SqlDbType.Int),
- new SqlParameter("@doc_dept_id",SqlDbType.Int),
- new SqlParameter("@doc_g_id",SqlDbType.Int),
- new SqlParameter("@doc_u_id",SqlDbType.Int),
- new SqlParameter("@doc_title",SqlDbType.VarChar),
- new SqlParameter("@doc_annex",SqlDbType.VarChar),
- new SqlParameter("@doc_downloads",SqlDbType.Int),
- new SqlParameter("@doc_reads",SqlDbType.Int),
- new SqlParameter("@doc_clicks",SqlDbType.Int),
- new SqlParameter("@doc_releasetime",SqlDbType.DateTime),
- new SqlParameter("@doc_sendu_id",SqlDbType.Int)
- };
- param[0].Direction = ParameterDirection.Output;
- param[1].Value = document.doc_dept_id;
- param[2].Value = document.doc_g_id;
- param[3].Value = document.doc_u_id;
- param[4].Value = document.doc_title;
- param[5].Value = document.doc_annex;
- param[6].Value = document.doc_downloads;
- param[7].Value = document.doc_reads;
- param[8].Value = document.doc_clicks;
- param[9].Value = document.doc_releasetime;
- param[10].Value = document.doc_sendu_id;
- res = SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
- document.doc_id = ((param[0].Value) == DBNull.Value) ? 0 : Convert.ToInt32(param[0].Value);
- return res;
- }
- /// <summary>
- /// 向数据库中插入一条新记录。带事务
- /// </summary>
- /// <param name="sp">事务对象</param>
- /// <param name="document">document实体对象</param>
- /// <returns></returns>
- public int Insert(SqlTransaction sp, document document)
- {
- string sqlCommand = "documentInsert";
- int res;
- SqlParameter[] param ={
- new SqlParameter("@doc_id",SqlDbType.Int),
- new SqlParameter("@doc_dept_id",SqlDbType.Int),
- new SqlParameter("@doc_g_id",SqlDbType.Int),
- new SqlParameter("@doc_u_id",SqlDbType.Int),
- new SqlParameter("@doc_title",SqlDbType.VarChar),
- new SqlParameter("@doc_annex",SqlDbType.VarChar),
- new SqlParameter("@doc_downloads",SqlDbType.Int),
- new SqlParameter("@doc_reads",SqlDbType.Int),
- new SqlParameter("@doc_clicks",SqlDbType.Int),
- new SqlParameter("@doc_releasetime",SqlDbType.DateTime),
- new SqlParameter("@doc_sendu_id",SqlDbType.Int)
- };
- param[0].Direction = ParameterDirection.Output;
- param[1].Value = document.doc_dept_id;
- param[2].Value = document.doc_g_id;
- param[3].Value = document.doc_u_id;
- param[4].Value = document.doc_title;
- param[5].Value = document.doc_annex;
- param[6].Value = document.doc_downloads;
- param[7].Value = document.doc_reads;
- param[8].Value = document.doc_clicks;
- param[9].Value = document.doc_releasetime;
- param[10].Value = document.doc_sendu_id;
- res = SqlHelper.ExecuteNonQuery(sp, CommandType.StoredProcedure, sqlCommand, param);
- document.doc_id = ((param[0].Value) == DBNull.Value) ? 0 : Convert.ToInt32(param[0].Value);
- return res;
- }
- #endregion
- #region 更新
- /// <summary>
- /// 向数据表document更新一条记录
- /// </summary>
- /// <param name="document">document实体对象</param>
- /// <returns></returns>
- public int Update(document document)
- {
- string sqlCommand = "documentUpdate";
- SqlParameter[] param ={
- new SqlParameter("@doc_id",SqlDbType.Int),
- new SqlParameter("@doc_dept_id",SqlDbType.Int),
- new SqlParameter("@doc_g_id",SqlDbType.Int),
- new SqlParameter("@doc_u_id",SqlDbType.Int),
- new SqlParameter("@doc_title",SqlDbType.VarChar),
- new SqlParameter("@doc_annex",SqlDbType.VarChar),
- new SqlParameter("@doc_downloads",SqlDbType.Int),
- new SqlParameter("@doc_reads",SqlDbType.Int),
- new SqlParameter("@doc_clicks",SqlDbType.Int),
- new SqlParameter("@doc_releasetime",SqlDbType.DateTime),
- new SqlParameter("@doc_sendu_id",SqlDbType.Int)
- };
- param[0].Value = document.doc_id;
- param[1].Value = document.doc_dept_id;
- param[2].Value = document.doc_g_id;
- param[3].Value = document.doc_u_id;
- param[4].Value = document.doc_title;
- param[5].Value = document.doc_annex;
- param[6].Value = document.doc_downloads;
- param[7].Value = document.doc_reads;
- param[8].Value = document.doc_clicks;
- param[9].Value = document.doc_releasetime;
- param[10].Value = document.doc_sendu_id;
- return SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
- }
- /// <summary>
- /// 向数据表document更新一条记录。带事务
- /// </summary>
- /// <param name="sp">事务对象</param>
- /// <param name="document">document实体对象</param>
- /// <returns></returns>
- public int Update(SqlTransaction sp, document document)
- {
- string sqlCommand = "documentUpdate";
- SqlParameter[] param ={
- new SqlParameter("@doc_id",SqlDbType.Int),
- new SqlParameter("@doc_dept_id",SqlDbType.Int),
- new SqlParameter("@doc_g_id",SqlDbType.Int),
- new SqlParameter("@doc_u_id",SqlDbType.Int),
- new SqlParameter("@doc_title",SqlDbType.VarChar),
- new SqlParameter("@doc_annex",SqlDbType.VarChar),
- new SqlParameter("@doc_downloads",SqlDbType.Int),
- new SqlParameter("@doc_reads",SqlDbType.Int),
- new SqlParameter("@doc_clicks",SqlDbType.Int),
- new SqlParameter("@doc_releasetime",SqlDbType.DateTime),
- new SqlParameter("@doc_sendu_id",SqlDbType.Int)
- };
- param[0].Value = document.doc_id;
- param[1].Value = document.doc_dept_id;
- param[2].Value = document.doc_g_id;
- param[3].Value = document.doc_u_id;
- param[4].Value = document.doc_title;
- param[5].Value = document.doc_annex;
- param[6].Value = document.doc_downloads;
- param[7].Value = document.doc_reads;
- param[8].Value = document.doc_clicks;
- param[9].Value = document.doc_releasetime;
- param[10].Value = document.doc_sendu_id;
- return SqlHelper.ExecuteNonQuery(sp, CommandType.StoredProcedure, sqlCommand, param);
- }
- #endregion
- #region 删除
- /// <summary>
- /// 删除数据表document中的一条记录
- /// </summary>
- /// <param name="doc_id">doc_id</param>
- /// <returns></returns>
- public int Delete(int doc_id)
- {
- string sqlCommand = "documentDelete";
- SqlParameter[] param ={
- new SqlParameter("@doc_id",SqlDbType.Int)
- };
- param[0].Value = doc_id;
- return SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
- }
- /// <summary>
- /// 删除数据表document中的一条记录
- /// </summary>
- /// <param name="document">document实体对象</param>
- /// <returns></returns>
- public int Delete(document document)
- {
- string sqlCommand = "documentDelete";
- SqlParameter[] param ={
- new SqlParameter("@doc_id",SqlDbType.Int)
- };
- param[0].Value = document.doc_id;
- return SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
- }
- /// <summary>
- /// 删除数据表document中的一条记录,带事务
- /// </summary>
- /// <param name="sp">事务对象</param>
- /// <param name="doc_id">doc_id</param>
- /// <returns></returns>
- public int Delete(SqlTransaction sp, int doc_id)
- {
- string sqlCommand = "documentDelete";
- SqlParameter[] param ={
- new SqlParameter("@doc_id",SqlDbType.Int)
- };
- param[0].Value = doc_id;
- return SqlHelper.ExecuteNonQuery(sp, CommandType.StoredProcedure, sqlCommand, param);
- }
- /// <summary>
- /// 删除数据表document中的一条记录,带事务
- /// </summary>
- /// <param name="sp">事务对象</param>
- /// <param name="document">document实体对象</param>
- /// <returns></returns>
- public int Delete(SqlTransaction sp, document document)
- {
- string sqlCommand = "documentDelete";
- SqlParameter[] param ={
- new SqlParameter("@doc_id",SqlDbType.Int)
- };
- param[0].Value = document.doc_id;
- return SqlHelper.ExecuteNonQuery(sp, CommandType.StoredProcedure, sqlCommand, param);
- }
- #endregion
- #region 实体对象
- /// <summary>
- /// 得到document实体对象
- /// </summary>
- /// <param name="row">row</param>
- /// <returns>document实体对象</returns>
- public document Select(DataRow row)
- {
- document obj = new document();
- if (row != null)
- {
- obj.doc_id = ((row["doc_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["doc_id"]);
- obj.doc_dept_id = ((row["doc_dept_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["doc_dept_id"]);
- obj.doc_g_id = ((row["doc_g_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["doc_g_id"]);
- obj.doc_u_id = ((row["doc_u_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["doc_u_id"]);
- obj.doc_title = row["doc_title"].ToString();
- obj.doc_annex = row["doc_annex"].ToString();
- obj.doc_downloads = ((row["doc_downloads"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["doc_downloads"]);
- obj.doc_reads = ((row["doc_reads"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["doc_reads"]);
- obj.doc_clicks = ((row["doc_clicks"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["doc_clicks"]);
- obj.doc_releasetime = ((row["doc_releasetime"]) == DBNull.Value) ? DateTime.MinValue : Convert.ToDateTime(row["doc_releasetime"]);
- obj.doc_sendu_id = ((row["doc_sendu_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["doc_sendu_id"]);
- }
- else
- {
- return null;
- }
- return obj;
- }
- /// <summary>
- /// 得到document实体对象
- /// </summary>
- /// <param name="dr">dr</param>
- /// <returns>document实体对象</returns>
- public document Select(IDataReader dr)
- {
- document obj = new document();
- obj.doc_id = ((dr["doc_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["doc_id"]);
- obj.doc_dept_id = ((dr["doc_dept_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["doc_dept_id"]);
- obj.doc_g_id = ((dr["doc_g_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["doc_g_id"]);
- obj.doc_u_id = ((dr["doc_u_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["doc_u_id"]);
- obj.doc_title = dr["doc_title"].ToString();
- obj.doc_annex = dr["doc_annex"].ToString();
- obj.doc_downloads = ((dr["doc_downloads"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["doc_downloads"]);
- obj.doc_reads = ((dr["doc_reads"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["doc_reads"]);
- obj.doc_clicks = ((dr["doc_clicks"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["doc_clicks"]);
- obj.doc_releasetime = ((dr["doc_releasetime"]) == DBNull.Value) ? DateTime.MinValue : Convert.ToDateTime(dr["doc_releasetime"]);
- obj.doc_sendu_id = ((dr["doc_sendu_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["doc_sendu_id"]);
- return obj;
- }
- /// <summary>
- /// 根据ID,返回一个document实体对象
- /// </summary>
- /// <param name="doc_id">doc_id</param>
- /// <returns>document实体对象</returns>
- public document Select(int doc_id)
- {
- return this.Select(doc_id, false, false);
- }
- /// <summary>
- /// 根据ID,返回一个document实体对象
- /// </summary>
- /// <param name="doc_id">doc_id</param>
- /// <param name="bParentTable">将document对象设置与父表关联</param>
- /// <param name="bChildrenTable">将document对象设置与子表关联</param>
- /// <returns>document实体对象</returns>
- public document Select(int doc_id, bool bParentTable, bool bChildrenTable)
- {
- document obj = null;
- SqlParameter[] param ={
- new SqlParameter("@doc_id",SqlDbType.Int)
- };
- param[0].Value = doc_id;
- string sqlCommand = "documentSelect";
- using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param))
- {
- while (dr.Read())
- {
- obj = this.Select(dr);
- }
- }
- this.Select(obj, bParentTable, bChildrenTable);
- return obj;
- }
- /// <summary>
- /// 将document实体对象设置与父表和子表关联
- /// </summary>
- /// <param name="obj">document实体对象</param>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- public void Select(document obj, bool bParentTable, bool bChildrenTable)
- {
- //关联的主表
- if (bParentTable)
- {
- obj.users = usersBLL.Select(obj.doc_u_id);
- obj.groups = groupsBLL.Select(obj.doc_g_id);
- obj.department = departmentBLL.Select(obj.doc_dept_id);
- }
- //关联的子表集合
- if (bChildrenTable)
- {
- }
- }
- #endregion
- #region 父表
- /// <summary>
- /// 设置实体对象(document)的父表对象
- /// </summary>
- /// <param name="document">实体对象</param>
- public void users(document document)
- {
- document.users = usersBLL.Select(document.doc_u_id);
- }
- /// <summary>
- /// 设置实体对象(document)的父表对象
- /// </summary>
- /// <param name="document">实体对象</param>
- public void groups(document document)
- {
- document.groups = groupsBLL.Select(document.doc_g_id);
- }
- /// <summary>
- /// 设置实体对象(document)的父表对象
- /// </summary>
- /// <param name="document">实体对象</param>
- public void department(document document)
- {
- document.department = departmentBLL.Select(document.doc_dept_id);
- }
- #endregion
- #region 子表
- #endregion
- #region 查询
- /// <summary>
- /// 得到数据表document所有记录
- /// </summary>
- /// <returns>结果集</returns>
- public IList<document> Select()
- {
- return this.Select(false, false);
- }
- /// <summary>
- /// 得到数据表document所有记录
- /// </summary>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- /// <returns>结果集</returns>
- public IList<document> Select(bool bParentTable, bool bChildrenTable)
- {
- IList<document> list = new List<document>();
- string sqlCommand = "documentSelectAll";
- using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand))
- {
- while (dr.Read())
- {
- list.Add(this.Select(dr));
- }
- }
- foreach (document obj in list)
- {
- this.Select(obj, bParentTable, bChildrenTable);
- }
- return list;
- }
- /// <summary>
- /// 得到数据表document满足查询条件的记录
- /// </summary>
- /// <param name="where">查询条件</param>
- /// <returns>结果集</returns>
- public IList<document> Select(string where)
- {
- return this.Select(where, false, false);
- }
- /// <summary>
- /// 得到数据表document满足查询条件的记录
- /// </summary>
- /// <param name="where">查询条件</param>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- /// <returns>结果集</returns>
- public IList<document> Select(string where, bool bParentTable, bool bChildrenTable)
- {
- IList<document> list = new List<document>();
- SqlParameter[] param ={
- new SqlParameter("@where",SqlDbType.VarChar,8000)
- };
- param[0].Value = where;
- string sqlCommand = "documentSelectByParams";
- using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param))
- {
- while (dr.Read())
- {
- list.Add(this.Select(dr));
- }
- }
- foreach (document obj in list)
- {
- this.Select(obj, bParentTable, bChildrenTable);
- }
- return list;
- }
- /// <summary>
- /// 得到数据表ArticalInfo满足外键字段查询条件的记录
- /// </summary>
- /// <param name="foreignFieldName">外键字段名称</param>
- /// <param name="foreignFieldValue">外键字段值</param>
- /// <returns>结果集</returns>
- public IList<document> Select(string foreignFieldName, int foreignFieldValue)
- {
- return this.Select(foreignFieldName, foreignFieldValue, false, false);
- }
- /// <summary>
- /// 得到数据表ArticalInfo满足外键字段查询条件的记录
- /// </summary>
- /// <param name="foreignFieldName">外键字段名称</param>
- /// <param name="foreignFieldValue">外键字段值</param>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- /// <returns>结果集</returns>
- public IList<document> Select(string foreignFieldName, int foreignFieldValue, bool bParentTable, bool bChildrenTable)
- {
- return this.Select(string.Format("{0}='{1}'", foreignFieldName, foreignFieldValue), bParentTable, bChildrenTable);
- }
- /// <summary>
- /// 得到数据表document满足查询条件的记录数
- /// </summary>
- /// <param name="where">查询条件</param>
- /// <param name="recordCount">记录数</param>
- public void Select(string where, out int recordCount)
- {
- string sqlCommand = "documentCountByWhere";
- SqlParameter[] param ={
- new SqlParameter("@where",SqlDbType.VarChar,8000),
- new SqlParameter("@recordCount",SqlDbType.Int)
- };
- param[0].Value = where;
- param[1].Direction = ParameterDirection.Output;
- SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
- recordCount = Convert.ToInt32(param[1].Value);
- }
- /// <summary>
- /// 得到数据表document满足查询条件的分页记录
- /// </summary>
- /// <param name="pageSize">每页显示记录数</param>
- /// <param name="pageIndex">当前显示第几页</param>
- /// <param name="where">查询条件</param>
- /// <returns>结果集</returns>
- public IList<document> Select(int pageSize, int pageIndex, string where)
- {
- return this.Select(pageSize, pageIndex, where, false, false);
- }
- /// <summary>
- /// 得到数据表document满足查询条件的分页记录
- /// </summary>
- /// <param name="pageSize">每页显示记录数</param>
- /// <param name="pageIndex">当前显示第几页</param>
- /// <param name="where">查询条件</param>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- /// <returns>结果集</returns>
- public IList<document> Select(int pageSize, int pageIndex, string where, bool bParentTable, bool bChildrenTable)
- {
- IList<document> list = new List<document>();
- string sqlCommand = "documentSelectByPagerParams";
- SqlParameter[] param ={
- new SqlParameter("@pageSize",SqlDbType.Int),
- new SqlParameter("@pageIndex",SqlDbType.Int),
- new SqlParameter("@where",SqlDbType.VarChar,8000)
- };
- param[0].Value = pageSize;
- param[1].Value = pageIndex;
- param[2].Value = where;
- using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param))
- {
- while (dr.Read())
- {
- list.Add(this.Select(dr));
- }
- }
- foreach (document obj in list)
- {
- this.Select(obj, bParentTable, bChildrenTable);
- }
- return list;
- }
- /// <summary>
- /// 得到数据表document满足查询条件记录
- /// </summary>
- /// <param name="commandType">命令类型</param>
- /// <param name="sqlCommand">SQL命令</param>
- /// <param name="SqlParameter[]">命令参数数组</param>
- /// <returns>结果集</returns>
- public IList<document> Select(CommandType commandType, string sqlCommand, params SqlParameter[] param)
- {
- return this.Select(false, false, commandType, sqlCommand, param);
- }
- /// <summary>
- /// 得到数据表document满足查询条件记录
- /// </summary>
- /// <param name="bParentTable">是/否设置与父表对象关联</param>
- /// <param name="bChildrenTable">是/否设置与子表对象关联</param>
- /// <param name="commandType">命令类型</param>
- /// <param name="sqlCommand">SQL命令</param>
- /// <param name="SqlParameter[]">命令参数数组</param>
- /// <returns>结果集</returns>
- public IList<document> Select(bool bParentTable, bool bChildrenTable, CommandType commandType, string sqlCommand, params SqlParameter[] param)
- {
- IList<document> list = new List<document>();
- using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, commandType, sqlCommand, param))
- {
- while (dr.Read())
- {
- list.Add(this.Select(dr));
- }
- }
- foreach (document obj in list)
- {
- this.Select(obj, bParentTable, bChildrenTable);
- }
- return list;
- }
- /// <summary>
- /// 根据主键检测是否存在该条记录
- /// </summary>
- /// <param name="doc_id">doc_id</param>
- /// <returns>存在/不存在</returns>
- public bool Exists(int doc_id)
- {
- SqlParameter[] param ={
- new SqlParameter("@doc_id",SqlDbType.Int)
- };
- param[0].Value = doc_id;
- string sqlCommand = "documentIsExist";
- int a = Convert.ToInt32(SqlHelper.ExecuteScalar(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param));
- if (a > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- #endregion
- #endregion
- }
- }