using System; 
using System.Text;
using System.Data.SqlClient;
using System.Collections.Generic; 
using System.Data;
using DSWeb.SoftMng.DBUtility;
// ReSharper disable once CheckNamespace
namespace DSWeb.SoftMng.DAL  
{
	 	//action
	public partial class actionDAL
	{
		public bool Exists(string GID)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select count(1) from [action]");
			strSql.Append(" where ");
			                
                        strSql.Append(" GID = @GID  ");  
                        			SqlParameter[] parameters = {
					new SqlParameter("@GID", SqlDbType.VarChar,36)			};
			parameters[0].Value = GID;

			return DbHelperSQL.Exists(strSql.ToString(),parameters);
		}
		/// <summary>
		/// 增加一条数据
		/// </summary>
		public int Add(DSWeb.SoftMng.Model.action model)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("insert into [action](");			
            strSql.Append("GID,NAME,DESCRIPTION,MODULEID,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,STATE,SORT");
			strSql.Append(") values (");
            strSql.Append("@GID,@NAME,@DESCRIPTION,@MODULEID,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME,@STATE,@SORT");            
            strSql.Append(") ");            
            		
			SqlParameter[] parameters = {
			            new SqlParameter("@GID", SqlDbType.VarChar,36) ,            
                        new SqlParameter("@NAME", SqlDbType.VarChar,50) ,            
                        new SqlParameter("@DESCRIPTION", SqlDbType.VarChar,50) ,            
                        new SqlParameter("@MODULEID", SqlDbType.VarChar,36) ,            
                        new SqlParameter("@CREATEUSER", SqlDbType.VarChar,36) ,            
                        new SqlParameter("@CREATETIME", SqlDbType.DateTime) ,            
                        new SqlParameter("@MODIFIEDUSER", SqlDbType.VarChar,36) ,            
                        new SqlParameter("@MODIFIEDTIME", SqlDbType.DateTime) ,            
                        new SqlParameter("@STATE", SqlDbType.Int,4) ,            
                        new SqlParameter("@SORT", SqlDbType.Int,4)             
              
            };
			            
            parameters[0].Value = model.GID??(Object)DBNull.Value;                        
            parameters[1].Value = model.NAME??(Object)DBNull.Value;                        
            parameters[2].Value = model.DESCRIPTION??(Object)DBNull.Value;                        
            parameters[3].Value = model.MODULEID??(Object)DBNull.Value;                        
            parameters[4].Value = model.CREATEUSER??(Object)DBNull.Value;                        
            parameters[5].Value = model.CREATETIME;                        
            parameters[6].Value = model.MODIFIEDUSER??(Object)DBNull.Value;                        
            parameters[7].Value = model.MODIFIEDTIME??(Object)DBNull.Value;                        
            parameters[8].Value = model.STATE??(Object)DBNull.Value;                        
            parameters[9].Value = model.SORT??(Object)DBNull.Value;                        
			return DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);			
		}
		/// <summary>
		/// 更新一条数据
		/// </summary>
		public int Update(DSWeb.SoftMng.Model.action model)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("update [action] set ");
						 
			strSql.Append(" GID = @GID,");			 
			strSql.Append(" NAME = @NAME,");			 
			strSql.Append(" DESCRIPTION = @DESCRIPTION,");			 
			strSql.Append(" MODULEID = @MODULEID,");			 
			strSql.Append(" CREATEUSER = @CREATEUSER,");			 
			strSql.Append(" CREATETIME = @CREATETIME,");			 
			strSql.Append(" MODIFIEDUSER = @MODIFIEDUSER,");			 
			strSql.Append(" MODIFIEDTIME = @MODIFIEDTIME,");			 
			strSql.Append(" STATE = @STATE,");			 
			strSql.Append(" SORT = @SORT"); 
			strSql.Append(" where GID=@GID  ");	
			SqlParameter[] parameters = {
			            new SqlParameter("@GID", SqlDbType.VarChar,36) ,
                                    new SqlParameter("@NAME", SqlDbType.VarChar,50) ,
                                    new SqlParameter("@DESCRIPTION", SqlDbType.VarChar,50) ,
                                    new SqlParameter("@MODULEID", SqlDbType.VarChar,36) ,
                                    new SqlParameter("@CREATEUSER", SqlDbType.VarChar,36) ,
                                    new SqlParameter("@CREATETIME", SqlDbType.DateTime) ,
                                    new SqlParameter("@MODIFIEDUSER", SqlDbType.VarChar,36) ,
                                    new SqlParameter("@MODIFIEDTIME", SqlDbType.DateTime) ,
                                    new SqlParameter("@STATE", SqlDbType.Int,4) ,
                                    new SqlParameter("@SORT", SqlDbType.Int,4)               
            };
						            
            parameters[0].Value = model.GID??(Object)DBNull.Value;                        
            parameters[1].Value = model.NAME??(Object)DBNull.Value;                        
            parameters[2].Value = model.DESCRIPTION??(Object)DBNull.Value;                        
            parameters[3].Value = model.MODULEID??(Object)DBNull.Value;                        
            parameters[4].Value = model.CREATEUSER??(Object)DBNull.Value;                        
            parameters[5].Value = model.CREATETIME;                        
            parameters[6].Value = model.MODIFIEDUSER??(Object)DBNull.Value;                        
            parameters[7].Value = model.MODIFIEDTIME??(Object)DBNull.Value;                        
            parameters[8].Value = model.STATE??(Object)DBNull.Value;                        
            parameters[9].Value = model.SORT??(Object)DBNull.Value;                        
            return DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
		}
		/// <summary>
		/// 删除一条数据
		/// </summary>
		public int Delete(string GID)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("delete from [action] ");
			strSql.Append(" where GID=@GID ");
						SqlParameter[] parameters = {
					new SqlParameter("@GID", SqlDbType.VarChar,36)			};
			parameters[0].Value = GID;

			return DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
		}
				/// <summary>
		/// 按条件批量删除
		/// </summary>
		public int DeleteListWhere(string strWhere)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("delete from [action] ");
			if(strWhere.Trim()!="")
			{
				strSql.Append(" where "+strWhere);
			}
			return DbHelperSQL.ExecuteSql(strSql.ToString());
		}
		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		public DataSet GetModel(string GID)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select GID, NAME, DESCRIPTION, MODULEID, CREATEUSER, CREATETIME, MODIFIEDUSER, MODIFIEDTIME, STATE, SORT  ");			
			strSql.Append("  from [action] ");
			strSql.Append(" where GID=@GID ");
						SqlParameter[] parameters = {
					new SqlParameter("@GID", SqlDbType.VarChar,36)			};
			parameters[0].Value = GID;

			DSWeb.SoftMng.Model.action model=new DSWeb.SoftMng.Model.action();
			 return DbHelperSQL.Query(strSql.ToString(),parameters);
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public DataSet GetList(string strWhere)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select * ");
			strSql.Append(" FROM [action] ");
			if(strWhere.Trim()!="")
			{
				strSql.Append(" where "+strWhere);
			}
			return DbHelperSQL.Query(strSql.ToString());
		}
		/// <summary>
		/// 获得前几行数据
		/// </summary>
		public DataSet GetList(int Top,string strWhere,string filedOrder)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select ");
			if(Top>0)
			{
				strSql.Append(" top "+Top.ToString());
			}
			strSql.Append(" * ");
			strSql.Append(" FROM [action] ");
			if(strWhere.Trim()!="")
			{
				strSql.Append(" where "+strWhere);
			}
			strSql.Append(" order by " + filedOrder);
			return DbHelperSQL.Query(strSql.ToString());
		}
		/// <summary>
        /// 分页获取数据列表
        /// </summary>
        public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
        {
            //动软代码
            StringBuilder strSql = new StringBuilder();
            strSql.Append("SELECT * FROM ( ");
            strSql.Append(" SELECT ROW_NUMBER() OVER (");
            if (!string.IsNullOrEmpty(orderby.Trim()))
                strSql.Append("order by T." + orderby);
            strSql.Append(")AS Row, T.*  from [action] T ");
            if (!string.IsNullOrEmpty(strWhere.Trim()))
            {
                strSql.Append(" WHERE " + strWhere);
            }
            strSql.Append(" ) TT");
            strSql.AppendFormat(" WHERE TT.Row > {0} and TT.Row <= {1}", startIndex, endIndex);
            //公共代码
            return DbHelperSQL.Query(strSql.ToString());
        }
		/// <summary>
		/// 获取记录总数
		/// </summary>
		public int GetRecordCount(string strWhere)
		{
			StringBuilder strSql=new StringBuilder();
			strSql.Append("select count(1) FROM [action] ");
			if(strWhere.Trim()!="")
			{
				strSql.Append(" where "+strWhere);
			}
		    return DbHelperSQL.ExcuteScalarSQL(strSql.ToString());
		}
	}
}