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