public ActionResult Save(int?id) { //证件照 string img = ""; //结算账户 BankCardInfo bankCardInfo = new BankCardInfo(); //支付渠道 AgentPay agentPay = new AgentPay(); //是否存在下级代理商(0不存在,1是存在) string readOnly = "0"; int _id = id == null ? 0 : Convert.ToInt32(id); bool isE = agentsInfoService.isExistPAgentsId(_id); if (isE) { readOnly = "1"; } var obj = new AgentsInfo { }; if (id.HasValue) { obj = agentsInfoService.GetOne(id.Value); img = Tool.getIdCardPhotoPath(obj.AgentsId) + obj.IdCardPhoto; bankCardInfo = bankCardInfoService.GetOne(obj.AgentsId); agentPay = agentPayService.GetOne(obj.AgentsId); } //有效期 ViewBag.ValidityY = ListToSelect(tradersService.getDataList(450).Select(o => new SelectListItem() { Value = o.DicSN.ToString(), Text = o.Title }), emptyTitle: "请选择"); //是否存在下级代理商(0不存在,1是存在) ViewBag.ReadOnly = readOnly; //证件照 ViewBag.img = img; //结算账户 ViewBag.BankCardInfo = bankCardInfo; //支付渠道 ViewBag.AgentPay = agentPay; //交易支付通道 ViewBag.PayC = ListToSelect(agentsInfoService.GetPayApiList().Select(o => new SelectListItem() { Value = o.ApiNo.ToString(), Text = o.ApiName }), emptyTitle: "请选择"); //指派人 ViewBag.user = ListToSelect(tradersService.getUserList().Select(o => new SelectListItem() { Value = o.UserId, Text = o.FullName }), emptyTitle: "请选择"); //代理商类型 ViewBag.ty = ListToSelect(tradersService.getDataList(457).Select(o => new SelectListItem() { Value = o.DicSN.ToString(), Text = o.Title }), emptyTitle: "请选择"); return(View(obj.IsNullThrow())); }
/// <summary> /// 验证 /// </summary> /// <param name="nvl"></param> /// <param name="AgentsId">代理商编号</param> /// <returns></returns> public OpResult Verification(System.Collections.Specialized.NameValueCollection nvl, int AgentsId) { //代理商简称 var Name = (nvl["Name"] ?? "").Trim(); //代理商全称 var FullName = (nvl["FullName"] ?? "").Trim(); //上级代理商编号 var PAgentsId = (nvl["PAgentsId"] ?? "").Trim(); //结算卡号 var CardNum = (nvl["CardNum"] ?? "").Trim(); //接口编号 var PayChannel = (nvl["PayChannel"] ?? "").Trim(); if (PayChannel == "") { PayChannel = "0"; } //成本费率 var Cost = (nvl["Cost"] ?? "").Trim(); if (Cost == "") { Cost = "0.00"; } //下级费率 var Lower = (nvl["Lower"] ?? "").Trim(); if (Lower == "") { Lower = "0.00"; } if (PAgentsId != "") { if (!Tool.IsNumber(PAgentsId)) { return(OpResult.Fail("上级代理商编号不存在")); } else { //上级代理商代理商编号是否存在 if (!isExistAgentsId(Convert.ToInt32(PAgentsId))) { return(OpResult.Fail("上级代理商编号不存在")); } } } //代理商简称是否存在 IQueryable <AgentsInfo> isExistName = null; if (AgentsId == 0) { isExistName = AgentsInfoRepository.GetQuery(o => o.Name == Name); } else { isExistName = AgentsInfoRepository.GetQuery(o => o.Name == Name && o.AgentsId != AgentsId); } if (isExistName.Any()) { return(OpResult.Fail("该代理商简称已经存在")); } //代理商全称是否存在 IQueryable <AgentsInfo> isExistFullName = null; if (AgentsId == 0) { isExistFullName = AgentsInfoRepository.GetQuery(o => o.FullName == FullName); } else { isExistFullName = AgentsInfoRepository.GetQuery(o => o.FullName == FullName && o.AgentsId != AgentsId); } if (isExistFullName.Any()) { return(OpResult.Fail("该代理商全称已经存在")); } IQueryable <BankCardInfo> isExistCardNum = null; if (AgentsId == 0) { isExistCardNum = bankCardInfoRepository.GetQuery(o => o.CardNum.Trim() == CardNum && o.Type == 1); } else { isExistCardNum = bankCardInfoRepository.GetQuery(o => o.CardNum.Trim() == CardNum && o.Type == 1 && o.AgentsId != AgentsId); } if (isExistCardNum.Any()) { return(OpResult.Fail("该结算卡号已经存在")); } if (PAgentsId != "") { AgentPay agentPay = agentPayService.GetOne(Convert.ToInt32(PAgentsId)); if (agentPay != null) { if (Cost != "0.00" && agentPay.Lower != Convert.ToDecimal(Cost)) { return(OpResult.Fail("成本费率必须和上级代理商:" + PAgentsId + "设定的下级费率相同")); } } } string[] str = new string[2]; str = isCost(Convert.ToInt32(PayChannel), Convert.ToDecimal(Cost)); if (str[0] == "1") { return(OpResult.Fail("成本费率不能小于交易支付通道成本费率")); } return(OpResult.Success()); }
/// <summary> /// 保存 /// </summary> /// <param name="agentsInfo">基本信息</param> /// <param name="hpf">证件照</param> /// <param name="nvl"></param> /// <returns></returns> public OpResult Save(AgentsInfo agentsInfo, HttpPostedFileBase hpf, System.Collections.Specialized.NameValueCollection nvl) { try { using (EFDbContext context = new EFDbContext()) { using (TransactionScope transaction = new TransactionScope()) { //基本信息 OpResult op = SaveOrUpdate(agentsInfo, hpf); //代理商编号 int AgentsId = Convert.ToInt32(op.Message); //删除已经存在的代理商下级关系 int[] ids = AgentsRelationshipRepository.GetQuery(o => o.SubAgentsId == AgentsId).Select(o => o.Id).ToArray(); agentsRelationshipService.Deletes(ids); //上级代理商编号 int pid = Convert.ToInt32(op.Message); //代理商下级关系 for (int i = 0; i < 3; i++) { AgentsRelationship agentsRelationship = new AgentsRelationship(); AgentsInfo aInfo = AgentsInfoRepository.GetQuery(o => o.AgentsId == pid).FirstOrDefault(); pid = aInfo.PAgentsId; agentsRelationship.SubAgentsId = AgentsId; agentsRelationship.AgentsId = pid; agentsRelationship.Status = 1; if (pid == 0 && i == 0) { agentsRelationship.Depth = 0; agentsRelationshipService.SaveOrUpdate(agentsRelationship); break; } else if (pid == 0 && i != 0) { break; } else if (pid != 0) { agentsRelationship.Depth = Convert.ToInt16(i + 1); } agentsRelationshipService.SaveOrUpdate(agentsRelationship); } //结算银行机构 string Agency = (nvl["Agency"] ?? "").Trim(); //结算账户类型 string BillingType = (nvl["BillingType"] ?? "").Trim(); //结算卡号 string CardNum = (nvl["CardNum"] ?? "").Trim(); //账户名称 string CardName = (nvl["CardName"] ?? "").Trim(); //账户状态 string cardStatus = (nvl["cardStatus"] ?? "").Trim(); //交易支付通道 string PayChannel = (nvl["PayChannel"] ?? "").Trim(); //成本费率(%) string Cost = (nvl["Cost"] ?? "").Trim(); //下级费率(%) string Lower = (nvl["Lower"] ?? "").Trim(); //结算账户 BankCardInfo bankCardInfo = new BankCardInfo(); bankCardInfo.AgentsId = AgentsId; bankCardInfo.Type = 1; bankCardInfo.Agency = Agency; bankCardInfo.BillingType = BillingType == "" ? -1 : Convert.ToInt32(BillingType); bankCardInfo.CardNum = CardNum; bankCardInfo.CardName = CardName; bankCardInfo.Status = cardStatus == "" ? -1 : Convert.ToInt32(cardStatus); if (agentsInfo.Id > 0) { int bankCardInfoId = 0; BankCardInfo bankCardInfo2 = bankCardInfoService.GetOne(AgentsId); if (bankCardInfo2 != null) { bankCardInfoId = bankCardInfo2.Id; } bankCardInfo.Id = bankCardInfoId; } bankCardInfoService.SaveOrUpdate(bankCardInfo); //支付渠道 AgentPay agentPay = new AgentPay(); agentPay.AgentsId = AgentsId; agentPay.ApiNo = PayChannel == "" ? -1 : Convert.ToInt32(PayChannel); agentPay.Cost = Cost == "" ? Convert.ToDecimal("0.00") : Convert.ToDecimal(Cost); agentPay.Lower = Lower == "" ? Convert.ToDecimal("0.00") : Convert.ToDecimal(Lower); if (agentsInfo.Id > 0) { int agentPayId = 0; AgentPay agentPay2 = agentPayService.GetOne(AgentsId); if (agentPay2 != null) { agentPayId = agentPay2.Id; } agentPay.Id = agentPayId; } agentPayService.SaveOrUpdate(agentPay); //提交事务 transaction.Complete(); return(OpResult.Success()); } } } catch (Exception e) { LogEngine.WriteError(e); return(OpResult.Fail(e.InnerException.InnerException.Message)); } }