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 EC_ProxyApplicationDAL : IEC_ProxyApplicationDAL { private Database _dataBase = null; public EC_ProxyApplicationDAL() { _dataBase = new Database(); } public EC_ProxyApplicationDAL(Database database) { _dataBase = database; } /// /// 新增 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.EC_ProxyApplication trueModel = model as Model.EC_ProxyApplication; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@ApplicationMemberId",trueModel.ApplicationMemberId), new SqlParameter("@ApplicationType",trueModel.ApplicationType), new SqlParameter("@ApplicationArea",trueModel.ApplicationArea), new SqlParameter("@ApplicationAreaLevel",trueModel.ApplicationAreaLevel), new SqlParameter("@ApplicationTime",trueModel.ApplicationTime), new SqlParameter("@ApplicationStatus",trueModel.ApplicationStatus), new SqlParameter("@UnitName",trueModel.UnitName), new SqlParameter("@UnitLegal",trueModel.UnitLegal), new SqlParameter("@UnitRegistCapital",trueModel.UnitRegistCapital), new SqlParameter("@UnAddressiDetail",trueModel.UnAddressiDetail), new SqlParameter("@UnitContacts",trueModel.UnitContacts), new SqlParameter("@UnitPhoneNum",trueModel.UnitPhoneNum), new SqlParameter("@UnitBusiness",trueModel.UnitBusiness), new SqlParameter("@UnitAnnualMoney",trueModel.UnitAnnualMoney), new SqlParameter("@UnitAnnualProfit",trueModel.UnitAnnualProfit), new SqlParameter("@UnitMachine",trueModel.UnitMachine), new SqlParameter("@UnitStaffNum",trueModel.UnitStaffNum), new SqlParameter("@UnitSize",trueModel.UnitSize), new SqlParameter("@UnitCustomDetail",trueModel.UnitCustomDetail), new SqlParameter("@UnitLegalDetail",trueModel.UnitLegalDetail), new SqlParameter("@UnitShareholder",trueModel.UnitShareholder), new SqlParameter("@UnitAffiliateProgram",trueModel.UnitAffiliateProgram), new SqlParameter("@UnitSuperiority",trueModel.UnitSuperiority), new SqlParameter("@HandleTime",trueModel.HandleTime), new SqlParameter("@HandlePeople",trueModel.HandlePeople), new SqlParameter("@HandleResult",trueModel.HandleResult) }; try { _dataBase.Query("sp_EC_ProxyApplication_Insert", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 修改 /// /// /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { Model.EC_ProxyApplication trueModel = model as Model.EC_ProxyApplication; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid), new SqlParameter("@ApplicationMemberId",trueModel.ApplicationMemberId), new SqlParameter("@ApplicationType",trueModel.ApplicationType), new SqlParameter("@ApplicationArea",trueModel.ApplicationArea), new SqlParameter("@ApplicationAreaLevel",trueModel.ApplicationAreaLevel), new SqlParameter("@ApplicationTime",trueModel.ApplicationTime), new SqlParameter("@ApplicationStatus",trueModel.ApplicationStatus), new SqlParameter("@UnitName",trueModel.UnitName), new SqlParameter("@UnitLegal",trueModel.UnitLegal), new SqlParameter("@UnitRegistCapital",trueModel.UnitRegistCapital), new SqlParameter("@UnAddressiDetail",trueModel.UnAddressiDetail), new SqlParameter("@UnitContacts",trueModel.UnitContacts), new SqlParameter("@UnitPhoneNum",trueModel.UnitPhoneNum), new SqlParameter("@UnitBusiness",trueModel.UnitBusiness), new SqlParameter("@UnitAnnualMoney",trueModel.UnitAnnualMoney), new SqlParameter("@UnitAnnualProfit",trueModel.UnitAnnualProfit), new SqlParameter("@UnitMachine",trueModel.UnitMachine), new SqlParameter("@UnitStaffNum",trueModel.UnitStaffNum), new SqlParameter("@UnitSize",trueModel.UnitSize), new SqlParameter("@UnitCustomDetail",trueModel.UnitCustomDetail), new SqlParameter("@UnitLegalDetail",trueModel.UnitLegalDetail), new SqlParameter("@UnitShareholder",trueModel.UnitShareholder), new SqlParameter("@UnitAffiliateProgram",trueModel.UnitAffiliateProgram), new SqlParameter("@UnitSuperiority",trueModel.UnitSuperiority), new SqlParameter("@HandleTime",trueModel.HandleTime), new SqlParameter("@HandlePeople",trueModel.HandlePeople), new SqlParameter("@HandleResult",trueModel.HandleResult) }; try { _dataBase.Query("sp_EC_ProxyApplication_Update", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { Model.EC_ProxyApplication trueModel = model as Model.EC_ProxyApplication; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid) }; try { _dataBase.Query("sp_EC_ProxyApplication_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 处理代理申请 /// /// /// /// public bool Handle(EC_ProxyApplication m_EC_ProxyApplication, EC_ProxyMember m_EC_ProxyMember) { try { bool result = true; EC_ProxyMemberDAL dal_EC_ProxyMemberDAL = new EC_ProxyMemberDAL(_dataBase); using (TransactionScope t_TransactionScope = new TransactionScope()) { if (result) { result = UpdateModel(m_EC_ProxyApplication); if (result) { if (m_EC_ProxyMember != null) { result = dal_EC_ProxyMemberDAL.InserModel(m_EC_ProxyMember); } if (result) { t_TransactionScope.Complete(); } } } } return result; } catch (Exception ex) { throw ex; } } /// /// 分页查询 /// /// /// /// public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination) { throw new NotImplementedException(); } /// /// 分页查询 /// /// /// /// /// public IEnumerable SelectModelPage(Infrastructure.Query.Pagination pagination, string MemberName, string Status) { try { string condition = " 1=1 "; if (!string.IsNullOrEmpty(MemberName)) { condition += "and UnitName like '%" + MemberName + "%'"; } if (!string.IsNullOrEmpty(Status)) { condition += " and ApplicationStatus = '" + Status + "'"; } return _dataBase.SelectModelPage(pagination, " * ", " EC_ProxyApplication ", " ApplicationStatus DESC ", " ApplicationStatus DESC ", condition); } catch (Exception ex) { throw ex; } } /// /// 单个查询 /// /// /// public IEnumerable SelectAllModel(Infrastructure.Query.Query query) { throw new NotImplementedException(); } /// /// 根据编号获得信息 /// /// 编号 /// public EC_ProxyApplication GetModelByKeyid(int? Keyid) { try { if (Keyid == null || Keyid < 0) return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "EC_ProxyApplication", string.Format(" Keyid='{0}'", Keyid)) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } catch (Exception ex) { throw ex; } } /// /// 根据会员编号判断是否存在申请中的记录 /// /// /// public bool IsAlreadyApplication(Guid MemberId) { try { if (MemberId == null) return false;//错误数据返会空 IList m_EC_ProxyApplicationList = _dataBase.SelectModel("*", "EC_ProxyApplication", string.Format(" ApplicationMemberId='{0}' and (ApplicationStatus ='已申请')", MemberId)) as IList;//执行查询 return (null == m_EC_ProxyApplicationList || m_EC_ProxyApplicationList.Count == 0) ? false : true;//返回结果 } catch (Exception ex) { throw ex; } } } }