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_CustomerApplyDAL : IOA_CustomerApplyDAL
{
private Database _dataBase = null;
public OA_CustomerApplyDAL()
{
_dataBase = new Database();
}
public OA_CustomerApplyDAL(Database database)
{
_dataBase = database;
}
///
/// 新增
///
///
///
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.OA_CustomerApply trueModel = model as Model.OA_CustomerApply;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@FirmId",trueModel.FirmId),
new SqlParameter("@FirmName",trueModel.FirmName),
new SqlParameter("@MemberId",trueModel.MemberId),
new SqlParameter("@MemberName",trueModel.MemberName),
new SqlParameter("@CustomId",trueModel.CustomId),
new SqlParameter("@CustomName",trueModel.CustomName),
new SqlParameter("@Status",trueModel.Status),
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
new SqlParameter("@Operator",trueModel.Operator),
new SqlParameter("@Remark",trueModel.Remark)
};
try
{
_dataBase.Query("sp_OA_CustomerApply_Insert", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 修改
///
///
///
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.OA_CustomerApply trueModel = model as Model.OA_CustomerApply;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid),
new SqlParameter("@FirmId",trueModel.FirmId),
new SqlParameter("@FirmName",trueModel.FirmName),
new SqlParameter("@MemberId",trueModel.MemberId),
new SqlParameter("@MemberName",trueModel.MemberName),
new SqlParameter("@CustomId",trueModel.CustomId),
new SqlParameter("@CustomName",trueModel.CustomName),
new SqlParameter("@Status",trueModel.Status),
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
new SqlParameter("@Operator",trueModel.Operator),
new SqlParameter("@Remark",trueModel.Remark)
};
try
{
_dataBase.Query("sp_OA_CustomerApply_Update", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 回复客户转换申请
///
///
///
///
///
///
public bool UpdateModel(int? Keyid, Guid CustomId, Guid MemberId, string Status)
{
IList sqlParms = new List()
{
new SqlParameter("@Keyid",Keyid),
new SqlParameter("@CustomId",CustomId),
new SqlParameter("@MemberId",MemberId),
new SqlParameter("@Status",Status),
};
try
{
_dataBase.Query("sp_ChangeCustomApply", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 删除
///
///
///
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.OA_CustomerApply trueModel = model as Model.OA_CustomerApply;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid)
};
try
{
_dataBase.Query("sp_OA_CustomerApply_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 分页查询
///
///
///
///
public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination)
{
throw new NotImplementedException();
}
///
/// 分页查询
///
///
///
///
public IEnumerable SelectModelPage(Infrastructure.Query.Pagination pagination, Guid MemberId)
{
try
{
string condition = " 1=1 ";
if (MemberId != Guid.Empty)
{
condition += " and MemberId = '" + MemberId + "'";
}
return _dataBase.SelectModelPage(pagination, " * ", " OA_CustomerApply ", " Status ASC ", " Status ASC ", condition);
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 单个查询
///
///
///
public IEnumerable SelectAllModel(Infrastructure.Query.Query query)
{
throw new NotImplementedException();
}
///
/// 根据编号获得信息
///
/// 编号
///
public OA_CustomerApply GetModelByKeyid(int? Keyid)
{
try
{
if (Keyid == null || Keyid < 0)
return null;//错误数据返会空
IList result = _dataBase.SelectModel("*", "OA_CustomerApply", string.Format(" Keyid='{0}'", Keyid)) as IList;//执行查询
return (null == result || result.Count == 0) ? null : result[0];//返回结果
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 根据客户编号判断是否存在记录
///
///
///
public bool ExitModelByCustomId(Guid CustomId)
{
try
{
if (CustomId == null || CustomId == Guid.Empty)
return false;//错误数据返会空
IList result = _dataBase.SelectModel("*", "OA_CustomerApply", string.Format(" CustomId='{0}' and Status <> '已拒绝'", CustomId)) as IList;//执行查询
return (null == result || result.Count == 0) ? false : true;//返回结果
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 根据客户编号判断申请是否正常
///
///
///
public int IsAlreadyApplication(Guid CustomId)
{
try
{
if (CustomId == null || CustomId == Guid.Empty)
return -1;//错误数据返会空
OA_CorporateClientsDAL dal_OA_CorporateClientsDAL = new OA_CorporateClientsDAL(_dataBase);
EC_MemberBasicDAL dal_EC_MemberBasicDAL = new EC_MemberBasicDAL(_dataBase);
OA_CorporateClients m_OA_CorporateClients = dal_OA_CorporateClientsDAL.SelectModelByKeyid(CustomId);
if (m_OA_CorporateClients.MemberId != m_OA_CorporateClients.Keyid)
{
return 1;//此客户已是线上客户,请勿重复申请
}
EC_MemberBasic m_EC_MemberBasic = dal_EC_MemberBasicDAL.SelectModleMemberByCompanyName(m_OA_CorporateClients.CompanyName);
if (m_EC_MemberBasic == null || string.IsNullOrEmpty(m_EC_MemberBasic.Name))
{
return 2;//不存在与此客户名匹配的会员,请检查客户名称是否正确
}
bool isExit = ExitModelByCustomId(CustomId);
if (isExit)
{
return 3;//此客户已申请转换,请勿重复申请
}
return 0;
}
catch (Exception ex)
{
throw ex;
}
}
}
}