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;
namespace CY.SQLDAL
{
public class Integrity_ComplainanInfoDAL : IIntegrity_ComplainanInfoDAL
{
private Database _dataBase = null;
public Integrity_ComplainanInfoDAL()
{
_dataBase = new Database();
}
///
/// 新增
///
///
///
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.Integrity_ComplainanInfo trueModel = model as Model.Integrity_ComplainanInfo;
if (trueModel == null)
{
return false;
}
SqlParameter orderIdPar = null;
if (trueModel.OrderId.HasValue)
{
orderIdPar = new SqlParameter("@OrderId", trueModel.OrderId);
}
else
{
orderIdPar = new SqlParameter("@OrderId", DBNull.Value);
}
IList sqlParms = new List()
{
new SqlParameter("@RespondentId",trueModel.RespondentId),
new SqlParameter("@ComplainantId",trueModel.ComplainantId),
new SqlParameter("@OrderCode",trueModel.OrderCode),
new SqlParameter("@ComplaintsReason",trueModel.ComplaintsReason),
new SqlParameter("@ComplaintsStatusId",trueModel.ComplaintsStatusId),
new SqlParameter("@ComplaintsTypeId",trueModel.ComplaintsTypeId),
new SqlParameter("@ComplaintsTime",trueModel.ComplaintsTime),
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
orderIdPar
};
try
{
_dataBase.Query("sp_Integrity_ComplainanInfo_Insert", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 修改
///
///
///
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.Integrity_ComplainanInfo trueModel = model as Model.Integrity_ComplainanInfo;
if (trueModel == null)
{
return false;
}
SqlParameter auditTimePar = null;
if (trueModel.AuditTime.HasValue)
{
auditTimePar = new SqlParameter("@AuditTime", trueModel.AuditTime.Value);
}
else
{
auditTimePar = new SqlParameter("@AuditTime", DBNull.Value);
}
SqlParameter handleTimePar = null;
if (trueModel.HandleTime.HasValue)
{
handleTimePar = new SqlParameter("@HandleTime", trueModel.HandleTime.Value);
}
else
{
handleTimePar = new SqlParameter("@HandleTime", DBNull.Value);
}
SqlParameter canclTimePar = null;
if (trueModel.CanclTime.HasValue)
{
canclTimePar = new SqlParameter("@CanclTime", trueModel.CanclTime.Value);
}
else
{
canclTimePar = new SqlParameter("@CanclTime", DBNull.Value);
}
SqlParameter reciveTimePar = null;
if (trueModel.ReciveTime.HasValue)
{
reciveTimePar = new SqlParameter("@ReciveTime", trueModel.ReciveTime.Value);
}
else
{
reciveTimePar = new SqlParameter("@ReciveTime", DBNull.Value);
}
IList sqlParms = new List()
{ new SqlParameter("@Keyid",trueModel.Keyid),
new SqlParameter("@ComplaintsStatusId",trueModel.ComplaintsStatusId),
new SqlParameter("@ProcessingResults",trueModel.ProcessingResults),
new SqlParameter("@HandlePeople",trueModel.HandlePeople),
new SqlParameter("@AuditPeople",trueModel.AuditPeople),
new SqlParameter("@RecivePeople",trueModel.RecivePeople),
auditTimePar,
handleTimePar,
canclTimePar,
reciveTimePar,
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime)
};
try
{
_dataBase.Query("sp_Integrity_ComplainanInfo_Update", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 删除
///
///
///
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.Integrity_ComplainanInfo trueModel = model as Model.Integrity_ComplainanInfo;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid)
};
try
{
_dataBase.Query("sp_Integrity_ComplainanInfo_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
public IEnumerable SelectModelPageByFirm(int complaintsTypeId, string respondentName, string orderCode, int complaintsStatusId, Guid memberId, Infrastructure.Query.Pagination pagination)
{
string selectTarget = @" t.* ";
string fromSouce = @" (
SELECT a.*,b.Name AS RespondentName,c.Name AS ComplaintsStatus,d.Name as ComplaintsTypeName
FROM Integrity_ComplainanInfo a INNER JOIN dbo.EC_MemberBasic b
ON a.RespondentId=b.MemberId INNER JOIN Sys_Dictionary c ON a.ComplaintsStatusId=c.MeanValue AND c.DicType='投诉状态'
INNER JOIN Sys_Dictionary d ON a.ComplaintsTypeId=d.MeanValue AND d.DicType='投诉类型'
where a.ComplainantId='" + memberId.ToString() + "' ";
if (complaintsTypeId != -1)
{
fromSouce += " and a.complaintsTypeId='" + complaintsTypeId + "'";
}
if (!string.IsNullOrEmpty(respondentName))
{
fromSouce += " and b.Name like '%" + respondentName + "%'";
}
if (!string.IsNullOrEmpty(orderCode))
{
fromSouce += " and a.orderCode like '%" + orderCode + "%'";
}
if (complaintsStatusId != -1)
{
fromSouce += " and a.complaintsStatusId=" + complaintsStatusId;
}
fromSouce += " ) as t";
return _dataBase.SelectModelPage(pagination, selectTarget, fromSouce, "t.LastUpdateTime desc ", "LastUpdateTime desc ");
}
public IEnumerable SelectModelPageBysys(int complaintsTypeId, string respondentName, string orderCode, int complaintsStatusId, Infrastructure.Query.Pagination pagination)
{
string selectTarget = @" t.* ";
string fromSouce = @" (
SELECT a.*,b.Name AS RespondentName,c.Name AS ComplaintsStatus,d.Name as ComplaintsTypeName,e.Name as ComplainantName
FROM Integrity_ComplainanInfo a INNER JOIN dbo.EC_MemberBasic b
ON a.RespondentId=b.MemberId
INNER JOIN dbo.EC_MemberBasic e
ON a.ComplainantId=e.MemberId
INNER JOIN Sys_Dictionary c ON a.ComplaintsStatusId=c.MeanValue AND c.DicType='投诉状态'
INNER JOIN Sys_Dictionary d ON a.ComplaintsTypeId=d.MeanValue AND d.DicType='投诉类型'
where 1=1 ";
if (complaintsTypeId != -1)
{
fromSouce += " and a.complaintsTypeId='" + complaintsTypeId + "'";
}
if (!string.IsNullOrEmpty(respondentName))
{
fromSouce += " and b.Name like '%" + respondentName + "%'";
}
if (!string.IsNullOrEmpty(orderCode))
{
fromSouce += " and a.orderCode like '%" + orderCode + "%'";
}
if (complaintsStatusId != -1)
{
fromSouce += " and a.complaintsStatusId=" + complaintsStatusId;
}
fromSouce += " ) as t";
return _dataBase.SelectModelPage(pagination, selectTarget, fromSouce, "t.LastUpdateTime desc ", "LastUpdateTime desc ");
}
///
/// 根据keyId获取投诉实体
///
///
///
public Integrity_ComplainanInfo GetModel(int keyId)
{
string selectTarget = " a.*,b.Name AS RespondentName,c.Name AS ComplaintsStatus,d.Name as ComplaintsTypeName,e.Name as ComplainantName ";
string fromSouce = @" Integrity_ComplainanInfo a INNER JOIN dbo.EC_MemberBasic b
ON a.RespondentId=b.MemberId
INNER JOIN dbo.EC_MemberBasic e
ON a.ComplainantId=e.MemberId
INNER JOIN Sys_Dictionary c ON a.ComplaintsStatusId=c.MeanValue AND c.DicType='投诉状态'
INNER JOIN Sys_Dictionary d ON a.ComplaintsTypeId=d.MeanValue AND d.DicType='投诉类型' ";
string condition = string.Empty;
condition = " a.KeyId=" + keyId;
IList result = _dataBase.SelectModel(selectTarget, fromSouce, condition);
return null == result || result.Count == 0 ? null : result[0];
}
}
}