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
}
}