using CallCenterApi.DB; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CallCenterApi.DAL { /// /// 数据访问类:T_Sys_WorkCalendar /// public partial class T_Sys_WorkCalendar { public T_Sys_WorkCalendar() { } #region BasicMethod /// /// 是否存在该记录 /// public bool Exists(DateTime F_DateId) { StringBuilder strSql = new StringBuilder(); strSql.Append("select count(1) from T_Sys_WorkCalendar"); strSql.Append(" where F_DateId=@F_DateId "); SqlParameter[] parameters = { new SqlParameter("@F_DateId", SqlDbType.DateTime) }; parameters[0].Value = F_DateId; return DbHelperSQL.Exists(strSql.ToString(), parameters); } /// /// 增加一条数据 /// public bool Add(Model.T_Sys_WorkCalendar model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into T_Sys_WorkCalendar("); strSql.Append("F_DateId,F_WorkingFlag,F_EditFlag,F_HolidayFlag,F_HolidayName,F_LunarDate,F_Remark)"); strSql.Append(" values ("); strSql.Append("@F_DateId,@F_WorkingFlag,@F_EditFlag,@F_HolidayFlag,@F_HolidayName,@F_LunarDate,@F_Remark)"); SqlParameter[] parameters = { new SqlParameter("@F_DateId", SqlDbType.DateTime), new SqlParameter("@F_WorkingFlag", SqlDbType.Bit,1), new SqlParameter("@F_EditFlag", SqlDbType.Bit,1), new SqlParameter("@F_HolidayFlag", SqlDbType.Int,4), new SqlParameter("@F_HolidayName", SqlDbType.NVarChar,100), new SqlParameter("@F_LunarDate", SqlDbType.NVarChar,50), new SqlParameter("@F_Remark", SqlDbType.NVarChar,200)}; parameters[0].Value = model.F_DateId; parameters[1].Value = model.F_WorkingFlag; parameters[2].Value = model.F_EditFlag; parameters[3].Value = model.F_HolidayFlag; parameters[4].Value = model.F_HolidayName; parameters[5].Value = model.F_LunarDate; parameters[6].Value = model.F_Remark; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } /// /// 更新一条数据 /// public bool Update(Model.T_Sys_WorkCalendar model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update T_Sys_WorkCalendar set "); strSql.Append("F_WorkingFlag=@F_WorkingFlag,"); strSql.Append("F_EditFlag=@F_EditFlag,"); strSql.Append("F_HolidayFlag=@F_HolidayFlag,"); strSql.Append("F_HolidayName=@F_HolidayName,"); strSql.Append("F_LunarDate=@F_LunarDate,"); strSql.Append("F_Remark=@F_Remark"); strSql.Append(" where F_DateId=@F_DateId "); SqlParameter[] parameters = { new SqlParameter("@F_WorkingFlag", SqlDbType.Bit,1), new SqlParameter("@F_EditFlag", SqlDbType.Bit,1), new SqlParameter("@F_HolidayFlag", SqlDbType.Int,4), new SqlParameter("@F_HolidayName", SqlDbType.NVarChar,100), new SqlParameter("@F_LunarDate", SqlDbType.NVarChar,50), new SqlParameter("@F_Remark", SqlDbType.NVarChar,200), new SqlParameter("@F_DateId", SqlDbType.DateTime)}; parameters[0].Value = model.F_WorkingFlag; parameters[1].Value = model.F_EditFlag; parameters[2].Value = model.F_HolidayFlag; parameters[3].Value = model.F_HolidayName; parameters[4].Value = model.F_LunarDate; parameters[5].Value = model.F_Remark; parameters[6].Value = model.F_DateId; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } /// /// 删除一条数据 /// public bool Delete(DateTime F_DateId) { StringBuilder strSql = new StringBuilder(); strSql.Append("delete from T_Sys_WorkCalendar "); strSql.Append(" where F_DateId=@F_DateId "); SqlParameter[] parameters = { new SqlParameter("@F_DateId", SqlDbType.DateTime) }; parameters[0].Value = F_DateId; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } /// /// 批量删除数据 /// public bool DeleteList(string F_DateIdlist) { StringBuilder strSql = new StringBuilder(); strSql.Append("delete from T_Sys_WorkCalendar "); strSql.Append(" where F_DateId in (" + F_DateIdlist + ") "); int rows = DbHelperSQL.ExecuteSql(strSql.ToString()); if (rows > 0) { return true; } else { return false; } } /// /// 得到一个对象实体 /// public Model.T_Sys_WorkCalendar GetModel(DateTime F_DateId) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 F_DateId,F_WorkingFlag,F_EditFlag,F_HolidayFlag,F_HolidayName,F_LunarDate,F_Remark from T_Sys_WorkCalendar "); strSql.Append(" where F_DateId=@F_DateId "); SqlParameter[] parameters = { new SqlParameter("@F_DateId", SqlDbType.DateTime) }; parameters[0].Value = F_DateId; Model.T_Sys_WorkCalendar model = new Model.T_Sys_WorkCalendar(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return DataRowToModel(ds.Tables[0].Rows[0]); } else { return null; } } /// /// 得到一个对象实体 /// public Model.T_Sys_WorkCalendar DataRowToModel(DataRow row) { Model.T_Sys_WorkCalendar model = new Model.T_Sys_WorkCalendar(); if (row != null) { if (row["F_DateId"] != null && row["F_DateId"].ToString() != "") { model.F_DateId = DateTime.Parse(row["F_DateId"].ToString()); } if (row["F_WorkingFlag"] != null && row["F_WorkingFlag"].ToString() != "") { if ((row["F_WorkingFlag"].ToString() == "1") || (row["F_WorkingFlag"].ToString().ToLower() == "true")) { model.F_WorkingFlag = true; } else { model.F_WorkingFlag = false; } } if (row["F_EditFlag"] != null && row["F_EditFlag"].ToString() != "") { if ((row["F_EditFlag"].ToString() == "1") || (row["F_EditFlag"].ToString().ToLower() == "true")) { model.F_EditFlag = true; } else { model.F_EditFlag = false; } } if (row["F_HolidayFlag"] != null && row["F_HolidayFlag"].ToString() != "") { model.F_HolidayFlag = int.Parse(row["F_HolidayFlag"].ToString()); } if (row["F_HolidayName"] != null) { model.F_HolidayName = row["F_HolidayName"].ToString(); } if (row["F_LunarDate"] != null) { model.F_LunarDate = row["F_LunarDate"].ToString(); } if (row["F_Remark"] != null) { model.F_Remark = row["F_Remark"].ToString(); } } return model; } /// /// 获得数据列表 /// public DataSet GetList(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append("select F_DateId,F_WorkingFlag,F_EditFlag,F_HolidayFlag,F_HolidayName,F_LunarDate,F_Remark "); strSql.Append(" FROM T_Sys_WorkCalendar "); if (strWhere.Trim() != "") { strSql.Append(" where " + strWhere); } return DbHelperSQL.Query(strSql.ToString()); } /// /// 获得前几行数据 /// 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(" F_DateId,F_WorkingFlag,F_EditFlag,F_HolidayFlag,F_HolidayName,F_LunarDate,F_Remark "); strSql.Append(" FROM T_Sys_WorkCalendar "); if (strWhere.Trim() != "") { strSql.Append(" where " + strWhere); } strSql.Append(" order by " + filedOrder); return DbHelperSQL.Query(strSql.ToString()); } /// /// 获取记录总数 /// public int GetRecordCount(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append("select count(1) FROM T_Sys_WorkCalendar "); if (strWhere.Trim() != "") { strSql.Append(" where " + strWhere); } object obj = DbHelperSQL.GetSingle(strSql.ToString()); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 分页获取数据列表 /// 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); } else { strSql.Append("order by T.F_DateId desc"); } strSql.Append(")AS Row, T.* from T_Sys_WorkCalendar T "); if (!string.IsNullOrEmpty(strWhere.Trim())) { strSql.Append(" WHERE " + strWhere); } strSql.Append(" ) TT"); strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex); return DbHelperSQL.Query(strSql.ToString()); } #endregion BasicMethod #region ExtensionMethod /// /// 获取今天起天数的工作日 /// /// 起止日期 /// 0向前,1向后 /// public string GetOverDay(string today, string day, int type) { string overDay = ""; string strSql = ""; if (day != "0") { if (type == 0) { strSql += " select top 1 * from ( select top " + day + " F_DateId from T_Sys_WorkCalendar where datediff(d,[F_DateId],'" + today + "')>0 and F_WorkingFlag=1 order by F_DateId desc ) as t order by t.F_DateId"; } else if (type == 1) { strSql += " select top 1 * from ( select top " + day + " F_DateId , ROW_NUMBER () over(order by f_dateId) as i from T_Sys_WorkCalendar where 1=1 and datediff(d,[F_DateId],'" + today + "')<0 and F_WorkingFlag=1 ) as t order by t.i desc"; } overDay = DbHelperSQL.Query(strSql).Tables[0].Rows[0]["F_DateId"].ToString(); } else { overDay = DateTime.Now.ToString(); } return overDay; } #endregion ExtensionMethod } }