using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CY.IDAL;
using System.Data.SqlClient;
using System.Data;
using CY.Model;
using System.Transactions;
namespace CY.SQLDAL
{
public class OA_WorkReminderDAL : IOA_WorkReminderDAL
{
private Database _dataBase = null;
public OA_WorkReminderDAL()
{
_dataBase = new Database();
}
///
/// 新增
///
///
///
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.OA_WorkReminder trueModel = model as Model.OA_WorkReminder;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@FirmId",trueModel.FirmId),
new SqlParameter("@Content",trueModel.Content),
new SqlParameter("@Remender",trueModel.Remender),
new SqlParameter("@RemenderObject",trueModel.RemenderObject),
new SqlParameter("@RemenderType",trueModel.RemenderType),
new SqlParameter("@RemenderDept",trueModel.RemenderDept),
new SqlParameter("@RemenderTime",trueModel.RemenderTime),
new SqlParameter("@Remark",trueModel.Remark),
new SqlParameter("@RemenderDelState",trueModel.RemenderDelState),
new SqlParameter("@RemenderObjectDelState",trueModel.RemenderObjectDelState),
new SqlParameter("@IsFinish",trueModel.IsFinish),
new SqlParameter("@RemindState",trueModel.RemindState)
};
try
{
_dataBase.Query("sp_OA_WorkReminder_Insert", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 修改
///
///
///
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.OA_WorkReminder trueModel = model as Model.OA_WorkReminder;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid),
new SqlParameter("@RemenderDelState",trueModel.RemenderDelState),
new SqlParameter("@RemenderObjectDelState",trueModel.RemenderObjectDelState),
new SqlParameter("@IsFinish",trueModel.IsFinish),
new SqlParameter("@FeedBackContent",trueModel.FeedBackContent),
new SqlParameter("@RemindState",trueModel.RemindState)
};
try
{
_dataBase.Query("sp_OA_WorkReminder_Update", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 删除
///
///
///
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model, string trueName)
{
Model.OA_WorkReminder trueModel = model as Model.OA_WorkReminder;
if (trueModel == null)
{
return false;
}
if (trueModel.RemenderType == 2)
{
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid)
};
try
{
_dataBase.Query("sp_OA_WorkReminder_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
}
else
{
try
{
if (trueModel.Remender == trueName)
{
trueModel.RemenderDelState = 1;
}
else if (trueModel.RemenderObject == trueName)
{
trueModel.RemenderObjectDelState = 1;
}
UpdateModel(trueModel);
}
catch (Exception ex)
{
throw ex;
}
}
return true;
}
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
{
return true;
}
///
/// 分页查询
///
///
///
///
public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination)
{
throw new NotImplementedException();
}
///
/// 单个查询
///
///
///
public IEnumerable SelectAllModel(Infrastructure.Query.Query query)
{
throw new NotImplementedException();
}
///
/// 根据编号获得信息
///
/// 编号
///
public OA_WorkReminder GetModelByKeyid(int? Keyid)
{
try
{
if (Keyid == null || Keyid < 0)
return null;//错误数据返会空
IList result = _dataBase.SelectModel("*", "OA_WorkReminder", string.Format(" Keyid='{0}'", Keyid)) as IList;//执行查询
return (null == result || result.Count == 0) ? null : result[0];//返回结果
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 分页查询
///
///
///
///
///
///
public IEnumerable SelectModelPage(Infrastructure.Query.Pagination pagination, Guid MemberId, string Name, string RemenderType, DateTime? beginTime, DateTime? endTime, string IsFinish)
{
try
{
string condition = " 1=1 ";
if (!string.IsNullOrEmpty(RemenderType))
{
if (RemenderType == "0")
{
condition += "and RemenderObject = '" + Name + "' and RemenderType = 0 and RemenderObjectDelState = 0";
}
else if (RemenderType == "1")
{
condition += " and Remender = '" + Name + "' and RemenderType = 0 and RemenderDelState = 0";
}
else
{
condition += " and RemenderType = 2 and Remender = '" + Name + "'";
}
}
else
{
condition += "and ((Remender = '" + Name + "' and RemenderDelState = 0) or (RemenderObject = '" + Name + "' and RemenderObjectDelState = 0)) ";
}
if (MemberId != Guid.Empty)
{
condition += " and FirmId = '" + MemberId + "'";
}
if (beginTime.HasValue)
{
condition += string.Format(" and CAST(RemenderTime AS DATE) >='{0}'", beginTime);
}
if (endTime.HasValue)
{
condition += string.Format(" and CAST(RemenderTime AS DATE) <='{0}'", endTime);
}
if (!string.IsNullOrEmpty(IsFinish))
{
condition += "and IsFinish = '" + IsFinish + "'";
}
return _dataBase.SelectModelPage(pagination, " *", " OA_WorkReminder", " RemenderTime desc", "RemenderTime desc", condition);
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 根据登录会员获取未读取信息条数
///
///
///
///
public int GetModelByKeyid(Guid MemberId, string Name)
{
try
{
if (MemberId == null || string.IsNullOrEmpty(Name))
return 0;//错误数据返会空
string condition = " 1=1 and RemindState ='0' ";
condition += "and ((Remender = '" + Name + "' and RemenderDelState = 0) or (RemenderObject = '" + Name + "' and RemenderObjectDelState = 0)) ";
if (MemberId != Guid.Empty)
{
condition += " and FirmId = '" + MemberId + "'";
}
IList result = _dataBase.SelectModel("*", " OA_WorkReminder ", condition) as IList;//执行查询
return (null == result || result.Count == 0) ? 0 : result.Count;//返回结果
}
catch (Exception ex)
{
throw ex;
}
}
}
}