//public void ChangeStatus(SysAgent SysAgent, string InfoList, string Clomn, string Value) //{ // if (string.IsNullOrEmpty(InfoList)) { InfoList = SysAgent.Id.ToString(); } // int Ret = Entity.ChangeEntity<SysAgent>(InfoList, Clomn, Value); // Entity.SaveChanges(); // Response.Write(Ret); //} //public void Delete(SysAgent SysAgent, string InfoList, int? IsDel) //{ // if (string.IsNullOrEmpty(InfoList)) { InfoList = SysAgent.Id.ToString(); } // int Ret = Entity.MoveToDeleteEntity<SysAgent>(InfoList, IsDel, AdminUser.UserName); // Entity.SaveChanges(); // Response.Write(Ret); //} /// <summary> /// 销售信息记录 /// </summary> /// <returns></returns> public ActionResult EditSalesLogIndex(SalesLog SalesLog, EFPagingInfo <SalesLog> p) { SysAgent SysAgent = null; if (!SalesLog.AgentId.IsNullOrEmpty()) { SysAgent = this.Entity.SysAgent.FirstOrDefault(o => o.Id == SalesLog.AgentId); } if (SysAgent == null) { ViewBag.ErrorMsg = AgentLanguage.Empty; return(View("Error")); } if (!IsBelongToAgent(SysAgent.Id)) { ViewBag.ErrorMsg = AgentLanguage.Surmount; return(View("Error")); } p.SqlWhere.Add(o => o.AgentId == SysAgent.Id); p.OrderByList.Add("AddTime", "DESC"); IPageOfItems <SalesLog> SalesLogList = Entity.Selects <SalesLog>(p); ViewBag.SalesLogList = SalesLogList; ViewBag.SalesLog = SalesLog; return(View("SalesLogIndex")); }
public ActionResult EditSalesLog(SalesLog SalesLog) { if (SalesLog.Id != 0) { SalesLog = Entity.SalesLog.FirstOrDefault(o => o.Id == SalesLog.Id); } ViewBag.SalesLog = SalesLog; var Contract = new List <Attach>(); var Certificate = new List <Attach>(); var IDCard_Front = new List <Attach>(); var IDCard_Hand = new List <Attach>(); var IDCard_Reverse = new List <Attach>(); if (SalesLog.AgentId != 0) { var attachs = Entity.Attach.Where(o => o.SLogId == SalesLog.Id || o.RemoveSLogId == SalesLog.Id).ToList(); Contract = attachs.Where(o => o.AType == (byte)AttachType.Contract).ToList(); Certificate = attachs.Where(o => o.AType == (byte)AttachType.Certificate).ToList(); IDCard_Front = attachs.Where(o => o.AType == (byte)AttachType.IDCard_Front).ToList(); IDCard_Hand = attachs.Where(o => o.AType == (byte)AttachType.IDCard_Hand).ToList(); IDCard_Reverse = attachs.Where(o => o.AType == (byte)AttachType.IDCard_Reverse).ToList(); } this.ViewBag.Contract = Contract; this.ViewBag.Certificate = Certificate; this.ViewBag.IDCard_Front = IDCard_Front; this.ViewBag.IDCard_Hand = IDCard_Hand; this.ViewBag.IDCard_Reverse = IDCard_Reverse; return(View("EditSalesLog")); }
public void TryDoTransaction(OKCParameters okcparameters) { if (!PrepareSaleOrAdmin(EcrModeType.SALE)) { return; } _requestMembers = JsonConvert.DeserializeObject <Members>(okcparameters.Content); _okc.TryDoTransaction(_requestMembers); SalesLog.Write(_requestMembers.ItemName, _requestMembers.Amount, _requestMembers.DepartmentId); }
public void SetSalesLogStat(bool EnableStat, string strLogPath = "SalesLogs") { SalesLog.LogEnable = EnableStat; if (!SalesLog.LogEnable) { return; } SalesLog.SetLogPath(strLogPath); SalesLog.CloseLogFile(); SalesLog.OpenLogFile(); }
// GET: SalesLogs/Details/5 public ActionResult Details(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } SalesLog salesLog = db.SalesLogs.Find(id); if (salesLog == null) { return HttpNotFound(); } return View(salesLog); }
/// <summary> /// 编辑仓库 /// </summary> /// <param name="Rid"></param> /// <returns></returns> public ActionResult Edit(int Rid) { var model = new SalesLog(); if (Rid > 0) { model = new DALSalesLog().GetSingleSalesLog(Rid); } ViewBag.WarehouseList = new DALWarehouse().QueryList(); return(View(model)); }
/// <summary> /// 添加/修改保存 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult Save(SalesLog model) { ResultMsg msg = new ResultMsg(); //修改 if (model.Rid > 0) { msg = new DALSalesLog().Update(model); } //添加 else if (model.Rid == 0) { msg = new DALSalesLog().Insert(model); } return(Json(new { Success = msg.Success, Result = msg.ReturnInt, ErrMsg = msg.ErrMsg })); }
/// <summary> /// 销售信息记录 /// </summary> /// <returns></returns> public ActionResult EditSalesLogIndex(SalesLog SalesLog, EFPagingInfo <SalesLog> p) { if (!SalesLog.AgentId.IsNullOrEmpty()) { p.SqlWhere.Add(o => o.AgentId == SalesLog.AgentId); } else { ViewBag.ErrorMsg = "查询不到对应的数据"; return(View("Error")); } p.OrderByList.Add("AddTime", "DESC"); IPageOfItems <SalesLog> SalesLogList = Entity.Selects <SalesLog>(p); ViewBag.SalesLogList = SalesLogList; ViewBag.SalesLog = SalesLog; return(View("SalesLogIndex")); }
public ActionResult Create([Bind(Include = "SalesLogID,ItemOrderQTY,ItemID,SaleOrderID")] SalesLog salesLog, int id) { if (ModelState.IsValid) { Item items = db.Items.Find(salesLog.ItemID); if (salesLog.ItemOrderQTY <= items.ItemQTY) { ViewBag.mensaje = "1"; items.ItemQTY = items.ItemQTY - salesLog.ItemOrderQTY; salesLog.SaleOrderID = id; db.SalesLogs.Add(salesLog); db.SaveChanges(); if(items.ItemQTY < items.ItemThres) { MailMessage mail = new MailMessage("*****@*****.**", "*****@*****.**")); SmtpClient client = new SmtpClient(); client.Port = 25; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Host = "localhost"; mail.Subject = "WARNING, one of your items has reached its threshold: " + items.ItemName; mail.Body = mail.Body = "The item " + items.ItemName + " is low in stock, you have " + items.ItemQTY + " and its threshold is " + items.ItemThres + " , order more."; mail.IsBodyHtml = true; client.Send(mail); } return RedirectToAction("AddItems", "SaleOrders", new { id = salesLog.SaleOrderID }); } else { ViewBag.mensaje = "0"; salesLog.SaleOrderID = id; } } ViewBag.ItemID = new SelectList(db.Items, "ItemID", "ItemName", salesLog.ItemID); ViewBag.SaleOrderID = new SelectList(db.SaleOrders, "SaleOrderID", "SaleOrderID", salesLog.SaleOrderID); return View(salesLog); }
/// <summary> /// 处理附件 /// </summary> /// <param name="Contract">合同</param> /// <param name="salesLog">销售信息记录</param> /// <param name="IDCard_Front">身份证-正面</param> /// <param name="IDCard_Reverse">身份证-反面</param> /// <param name="IDCard_Hand">身份证-手持</param> /// <param name="Certificate">营业执照或其它证件</param> private void ProcessAttach(SysAgent SysAgent, SalesLog salesLog, List <Attach> Contract, Attach IDCard_Front, Attach IDCard_Reverse, Attach IDCard_Hand, List <Attach> Certificate, List <int> DelIds) { #region 处理附件 if (IDCard_Front != null) { IDCard_Front.State = 1; this.SaveOrAdd(IDCard_Front, AttachType.IDCard_Front, SysAgent.Id, salesLog.Id); } if (IDCard_Hand != null) { IDCard_Hand.State = 1; this.SaveOrAdd(IDCard_Hand, AttachType.IDCard_Hand, SysAgent.Id, salesLog.Id); } if (IDCard_Reverse != null) { IDCard_Reverse.State = 1; this.SaveOrAdd(IDCard_Reverse, AttachType.IDCard_Reverse, SysAgent.Id, salesLog.Id); } if (Contract != null && Contract.Count > 0) { foreach (var item in Contract) { item.State = 1; this.SaveOrAdd(item, AttachType.Contract, SysAgent.Id, salesLog.Id); } } if (Certificate != null && Certificate.Count() > 0) { foreach (var item in Certificate) { item.State = 1; this.SaveOrAdd(item, AttachType.Certificate, SysAgent.Id, salesLog.Id); } } if (DelIds != null && DelIds.Count > 0) { string sql = "UPDATE Attach SET State = 0, RemoveSLogId= " + salesLog.Id + " WHERE Id in(" + string.Join(",", DelIds) + ");"; Entity.ExecuteStoreCommand(sql); } #endregion }
public object Save(SysAgent SysAgent, List <string> PId, List <Attach> Contract, Attach IDCard_Front, Attach IDCard_Reverse, Attach IDCard_Hand, List <Attach> Certificate, List <int> DelIds, string PassWord, int?AnsyCash0, int?AnsyNext0, int?AnsyCash1, int?AnsyNext1) { SysAgent baseSysAgent = Entity.SysAgent.FirstOrDefault(n => n.Id == SysAgent.Id); if (baseSysAgent == null) { ViewBag.ErrorMsg = AgentLanguage.Empty; return(View("Error")); } if (!IsBelongToAgent(baseSysAgent.Id)) { ViewBag.ErrorMsg = AgentLanguage.Surmount; return(View("Error")); } if (SysAgent.Tel.Contains("400-608-6765") || SysAgent.Tel.Contains("23769678") || SysAgent.Tel.Contains("22220076") || SysAgent.Tel.Contains("4006086765")) { ViewBag.ErrorMsg = "该客服号码禁止使用"; return(View("Error")); } SysAgent.PayGet = SysAgent.PayGet.IsNullOrEmpty() ? 0 : SysAgent.PayGet / 100; SysAgent.CashGet = 0;//SysAgent.CashGet.IsNullOrEmpty() ? 0 : SysAgent.CashGet / 100; SysAgent.LoanGet = SysAgent.LoanGet.IsNullOrEmpty() ? 0 : SysAgent.LoanGet / 100; SysAgent.Credit = SysAgent.Credit.IsNullOrEmpty() ? 0 : SysAgent.Credit / 100; SysAgent.Cash0 = SysAgent.Cash0.IsNullOrEmpty() ? 0 : SysAgent.Cash0 / 1000; SysAgent.Cash1 = SysAgent.Cash1.IsNullOrEmpty() ? 0 : SysAgent.Cash1 / 1000; bool MySysAgentMoney = this.checkPower("MySysAgent", "MoneySave"); if (!MySysAgentMoney) { //无权限的时候,以上级代理为准 SysAgent.Cash0 = BasicAgent.Cash0; SysAgent.Cash1 = BasicAgent.Cash1; SysAgent.ECash0 = BasicAgent.ECash0; SysAgent.ECash1 = BasicAgent.ECash1; SysAgent.Cash0Times = BasicAgent.Cash0Times; SysAgent.Cash1Times = BasicAgent.Cash1Times; } if (SysAgent.Cash0 < BasicSet.AgentCash0 || SysAgent.ECash0 < BasicSet.AgentECash0 || SysAgent.Cash1 < BasicSet.AgentCash1 || SysAgent.ECash1 < BasicSet.AgentECash1) { ViewBag.ErrorMsg = "费率设置有误!"; return(View("Error")); } if (SysAgent.Cash0Times > BasicSet.AgentCash0Times || SysAgent.Cash1Times > BasicSet.AgentCash1Times) { ViewBag.ErrorMsg = "费率设置有误!"; return(View("Error")); } SysAgent.AgentState = SysAgent.AgentState; //已绑定,手机不能改 if (!baseSysAgent.MyUId.IsNullOrEmpty()) { SysAgent.LinkMobile = baseSysAgent.LinkMobile; } bool IsLock = false; if (baseSysAgent.State == 1 && SysAgent.State == 0) { IsLock = true; } //保存销售记录为了取得id var salesLog = new SalesLog() { AddTime = DateTime.Now, AgentFee = SysAgent.AgentFee, ExpireTime = SysAgent.ExpireTime, State = 1, AgentId = SysAgent.Id, Salesman = SysAgent.Salesman, }; Entity.SalesLog.AddObject(salesLog); Entity.SaveChanges(); baseSysAgent = Request.ConvertRequestToModel <SysAgent>(baseSysAgent, SysAgent); //处理推广代理佣金 if (baseSysAgent.DaiLiGetType == 1) { baseSysAgent.DaiLiGet = baseSysAgent.DaiLiGet / 100; } //权限 string Str = string.Empty; if (PId != null) { foreach (var p in PId) { if (p != string.Empty) { Str += "," + p; } } Str += ","; } string AgentIds = baseSysAgent.Id.ToString();//用户下方批量更新下级代理 IList <SysAgent> AgentList = null; //取得之前的权限 string powerChar = Entity.SysAdmin.FirstOrDefault(s => s.Id == baseSysAgent.AdminId).PowerID; //取得之前的权限跟修改后的权限不同的权限 string[] strSpile = Str.Split(','); string[] powerSpile = powerChar.Split(','); strSpile = strSpile.Where(s => !string.IsNullOrEmpty(s)).ToArray(); powerSpile = powerSpile.Where(x => !string.IsNullOrEmpty(x)).ToArray(); //只有减少权限的时候才执行 if (strSpile.Length < powerSpile.Length) { string retChar = ""; for (int i = 0; i < powerSpile.Length; i++) { if (!string.IsNullOrWhiteSpace(powerSpile[i])) { if (!strSpile.Contains(powerSpile[i])) { retChar += powerSpile[i] + ","; } } } //取得代理商所有的下级 AgentList = SysAgent.GetSupAgent(Entity, true); foreach (var agentItem in AgentList) { IList <SysAdmin> SysAdminList = Entity.SysAdmin.Where(x => x.AgentId == agentItem.Id).ToList(); string[] retSplit = retChar.Split(','); foreach (var modelAdmin in SysAdminList) { foreach (var item in retSplit) { string formatChar = string.Format(",{0},", item); if (modelAdmin.PowerID.Contains(formatChar)) { modelAdmin.PowerID = modelAdmin.PowerID.Replace(formatChar, ","); } } if (!string.IsNullOrWhiteSpace(modelAdmin.PowerID) && !modelAdmin.PowerID.StartsWith(",")) { modelAdmin.PowerID = "," + modelAdmin.PowerID; } string SQL = "Update SysAdmin set PowerID = '" + modelAdmin.PowerID + "' where Id=" + modelAdmin.Id; Entity.ExecuteStoreCommand(SQL); } } } SysAdmin SysAdmin = Entity.SysAdmin.FirstOrDefault(n => n.Id == baseSysAgent.AdminId); if (SysAdmin != null) { SysAdmin.PowerID = Str; if (!PassWord.IsNullOrEmpty()) { SysAdmin.PassWord = PassWord.GetAdminMD5(); } SysAdmin.State = SysAgent.State; } this.ProcessAttach(SysAgent, salesLog, Contract, IDCard_Front, IDCard_Reverse, IDCard_Hand, Certificate, DelIds); Entity.SaveChanges(); //如果是修改的话这个应该不会执行 OpenOrBindUser(SysAgent.Id, Str); if (IsLock) { //锁定其下级所有代理 2016-07-05 Lin this.LockAllAgent(baseSysAgent); } Entity.SaveChanges(); if (!AnsyCash0.IsNullOrEmpty() || !AnsyCash1.IsNullOrEmpty() || !AnsyNext0.IsNullOrEmpty() || !AnsyNext1.IsNullOrEmpty()) { if (AgentList == null) { //取得代理商所有的下级 AgentList = SysAgent.GetSupAgent(Entity, true); } ; foreach (var p in AgentList) { AgentIds = AgentIds + "," + p.Id; } } if (AnsyCash0 == 1)//同步到用户 { string SQL = "Update Users Set ECash0=" + baseSysAgent.ECash0 + ",Cash0=" + baseSysAgent.Cash0 + " where Agent in(" + AgentIds + ")"; Entity.ExecuteStoreCommand(SQL); } if (AnsyCash1 == 1)//同步到用户 { string SQL = "Update Users Set ECash1=" + baseSysAgent.ECash1 + ",Cash1=" + baseSysAgent.Cash1 + " where Agent in(" + AgentIds + ")"; Entity.ExecuteStoreCommand(SQL); } if (AnsyNext0 == 1)//同步到代理 { string SQL = "Update SysAgent Set ECash0=" + baseSysAgent.ECash0 + ",Cash0=" + baseSysAgent.Cash0 + ",Cash0Times=" + baseSysAgent.Cash0Times + " where Id in(" + AgentIds + ")"; Entity.ExecuteStoreCommand(SQL); } if (AnsyNext0 == 1)//同步到代理 { string SQL = "Update SysAgent Set ECash1=" + baseSysAgent.ECash1 + ",Cash1=" + baseSysAgent.Cash1 + ",Cash1Times=" + baseSysAgent.Cash1Times + " where Id in(" + AgentIds + ")"; Entity.ExecuteStoreCommand(SQL); } ViewBag.Msg = "操作成功!"; ViewBag.IsColse = true; return(View("Succeed")); }
public object Add(SysAgent SysAgent, List <string> PId, List <Attach> Contract, Attach IDCard_Front, Attach IDCard_Reverse, Attach IDCard_Hand, List <Attach> Certificate, List <int> DelIds, string code) { //验证号码格式 //var rx = new System.Text.RegularExpressions.Regex(@"^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|4|5|6|7|8|9])\d{8}$"); //if (!rx.IsMatch(SysAgent.LinkMobile)) //{ // ViewBag.ErrorMsg = "请正确填写联系手机号格式"; // return View("Error"); //} //电信手机号码正则 string dianxin = @"^1[3578][01379]\d{8}$"; Regex dReg = new Regex(dianxin); //联通手机号正则 string liantong = @"^1[34578][01256]\d{8}$"; Regex tReg = new Regex(liantong); //移动手机号正则 string yidong = @"^(134[012345678]\d{7}|1[34578][012356789]\d{8})$"; Regex yReg = new Regex(yidong); if (!dReg.IsMatch(SysAgent.LinkMobile) && !tReg.IsMatch(SysAgent.LinkMobile) && !yReg.IsMatch(SysAgent.LinkMobile)) { ViewBag.ErrorMsg = "请正确填写联系手机号格式"; return(View("Error")); } //验证是否重复 SysAdmin Old = Entity.SysAdmin.FirstOrDefault(n => n.UserName == SysAgent.LinkMobile); if (Old != null) { ViewBag.ErrorMsg = "“联系手机号”已在系统中存在,无法开通管理员!"; return(View("Error")); } if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == SysAgent.LinkMobile && UBL.State == 1) != null) { ViewBag.ErrorMsg = "暂不支持您的手机号入网!"; return(View("Error")); } SysSet SysSet = Entity.SysSet.FirstOrNew(); //失效之前获取验证码 SMSCode SMSCode = Entity.SMSCode.OrderByDescending(n => n.Id).FirstOrDefault(n => n.UId == BasicAgent.Id && n.Mobile == SysAgent.LinkMobile && n.CType == 5 && n.Code == code); if (SMSCode == null) { ViewBag.ErrorMsg = "验证码错误!"; return(View("Error")); } if (SMSCode.State != 1) { ViewBag.ErrorMsg = "验证码已被使用过!"; return(View("Error")); } if (SMSCode.AddTime.AddMinutes(SysSet.SMSActives) < DateTime.Now) { ViewBag.ErrorMsg = "验证码已失效!"; return(View("Error")); } if (SysAgent.Tel.Contains("400-608-6765") || SysAgent.Tel.Contains("23769678") || SysAgent.Tel.Contains("22220076") || SysAgent.Tel.Contains("4006086765")) { ViewBag.ErrorMsg = "该客服号码禁止使用"; return(View("Error")); } if (Contract == null || Contract.Count <= 0) { ViewBag.ErrorMsg = "请上传合同"; return(View("Error")); } if (IDCard_Front == null || IDCard_Front.AFile.IsNullOrEmpty()) { ViewBag.ErrorMsg = "请上传身份证正面"; return(View("Error")); } if (IDCard_Reverse == null || IDCard_Reverse.AFile.IsNullOrEmpty()) { ViewBag.ErrorMsg = "请上传身份证反面"; return(View("Error")); } if (IDCard_Hand == null || IDCard_Hand.AFile.IsNullOrEmpty()) { ViewBag.ErrorMsg = "请上传手持身份证"; return(View("Error")); } if (Certificate == null || Certificate.Count <= 0) { ViewBag.ErrorMsg = "请上传营业执照或其它证件"; return(View("Error")); } //整理代理商信息 SysAgent.AddTime = DateTime.Now; SysAgent.PayGet = SysAgent.PayGet.IsNullOrEmpty() ? 0 : SysAgent.PayGet / 100; SysAgent.CashGet = 0;// SysAgent.CashGet.IsNullOrEmpty() ? 0 : SysAgent.CashGet / 100; SysAgent.LoanGet = SysAgent.LoanGet.IsNullOrEmpty() ? 0 : SysAgent.LoanGet / 100; SysAgent.Credit = SysAgent.Credit.IsNullOrEmpty() ? 0 : SysAgent.Credit / 100; SysAgent.Cash0 = SysAgent.Cash0.IsNullOrEmpty() ? 0 : SysAgent.Cash0 / 1000; SysAgent.Cash1 = SysAgent.Cash1.IsNullOrEmpty() ? 0 : SysAgent.Cash1 / 1000; bool MySysAgentMoney = this.checkPower("MySysAgent", "MoneySave"); if (!MySysAgentMoney) { //无权限的时候,以上级代理为准 SysAgent.Cash0 = BasicAgent.Cash0; SysAgent.Cash1 = BasicAgent.Cash1; SysAgent.ECash0 = BasicAgent.ECash0; SysAgent.ECash1 = BasicAgent.ECash1; SysAgent.Cash0Times = BasicAgent.Cash0Times; SysAgent.Cash1Times = BasicAgent.Cash1Times; } if (SysAgent.Cash0 < BasicSet.AgentCash0 || SysAgent.ECash0 < BasicSet.AgentECash0 || SysAgent.Cash1 < BasicSet.AgentCash1 || SysAgent.ECash1 < BasicSet.AgentECash1) { ViewBag.ErrorMsg = "费率设置有误!"; return(View("Error")); } SysAgent.AdminId = 0; SysAgent.IsTeiPai = 0; //二级起不能贴牌 SysAgent.AgentID = BasicAgent.Id; //上级代理Id SysAgent.IsPromote = 0; //默认关闭 SysAgent.PromoteGet = 0; //默认为于推广用户返佣为0 SysAgent.Tier = (byte)(BasicAgent.Tier + 1); //增加一层 SysAgent.NoteDownload = ""; SysAgent.LinkMobile = SysAgent.LinkMobile.Trim(); SysAgent.AgentState = 0; //默认为0 SysAgent.AgentLevelMax = BasicAgent.AgentLevelMax; //处理推广代理佣金 if (SysAgent.DaiLiGetType == 1) { SysAgent.DaiLiGet = SysAgent.DaiLiGet / 100; } Entity.SysAgent.AddObject(SysAgent); //先保存拿agentId Entity.SaveChanges(); //保存销售记录为了取得id var salesLog = new SalesLog() { AddTime = DateTime.Now, AgentFee = SysAgent.AgentFee, ExpireTime = SysAgent.ExpireTime, State = 1, AgentId = SysAgent.Id, Salesman = SysAgent.Salesman, }; Entity.SalesLog.AddObject(salesLog); //再保存拿到logid Entity.SaveChanges(); this.ProcessAttach(SysAgent, salesLog, Contract, IDCard_Front, IDCard_Reverse, IDCard_Hand, Certificate, DelIds); //权限 string Str = string.Empty; if (PId != null) { foreach (var p in PId) { if (p != string.Empty) { Str += "," + p; } } Str += ","; } //自动配置代理商的用户入网费率 IList <PayConfig> PCList = Entity.PayConfig.Where(n => n.State == 1).ToList(); IList <UserPayAgent> UPAList = Entity.UserPayAgent.Where(n => n.AId == BasicAgent.Id).ToList(); foreach (var PC in PCList) { UserPayAgent UP = UPAList.FirstOrDefault(n => n.PId == PC.Id); UserPayAgent UserPayAgent = new UserPayAgent(); UserPayAgent.AId = SysAgent.Id; UserPayAgent.PId = PC.Id; if (UP == null) { UserPayAgent.Cost = (double)PC.CostUser; } else { UserPayAgent.Cost = (double)UP.Cost; } Entity.UserPayAgent.AddObject(UserPayAgent); } SMSCode.State = 2; Entity.SaveChanges(); //新添加这个里面会执行savecheng OpenOrBindUser(SysAgent.Id, Str); ViewBag.Msg = "操作成功!"; ViewBag.IsColse = true; return(View("Succeed")); }
public void Save(SysAgent SysAgent, List <string> PId, List <Attach> Contract, Attach IDCard_Front, Attach IDCard_Reverse, Attach IDCard_Hand, List <Attach> Certificate, List <int> DelIds, string PassWord, int?AnsyCash0, int?AnsyNext0, int?AnsyCash1, int?AnsyNext1, int sameid) { SysAgent.PayGet = SysAgent.PayGet.IsNullOrEmpty() ? 0 : SysAgent.PayGet / 100; SysAgent.CashGet = 0;//SysAgent.CashGet.IsNullOrEmpty() ? 0 : SysAgent.CashGet / 100; SysAgent.LoanGet = SysAgent.LoanGet.IsNullOrEmpty() ? 0 : SysAgent.LoanGet / 100; SysAgent.Credit = SysAgent.Credit.IsNullOrEmpty() ? 0 : SysAgent.Credit / 100; //已绑定,手机不能改 SysAgent baseSysAgent = Entity.SysAgent.FirstOrDefault(n => n.Id == SysAgent.Id); if (!baseSysAgent.MyUId.IsNullOrEmpty()) { SysAgent.LinkMobile = baseSysAgent.LinkMobile; } bool IsLock = false; if (baseSysAgent.State == 1 && SysAgent.State == 0) { IsLock = true; } //保存销售记录为了取得id var salesLog = new SalesLog() { AddTime = DateTime.Now, AgentFee = SysAgent.AgentFee, ExpireTime = SysAgent.ExpireTime, State = 1, AgentId = SysAgent.Id, Salesman = SysAgent.Salesman, }; Entity.SalesLog.AddObject(salesLog); Entity.SaveChanges(); SysAgent.Cash0 = SysAgent.Cash0 / 1000; SysAgent.Cash1 = SysAgent.Cash1 / 1000; //判断是否更新级数 bool IsUpMaxTier = false; if (SysAgent.AgentLevelMax > baseSysAgent.AgentLevelMax) { IsUpMaxTier = true; } else { SysAgent.AgentLevelMax = baseSysAgent.AgentLevelMax;//不大于的情况下不能修改 } baseSysAgent = Request.ConvertRequestToModel <SysAgent>(baseSysAgent, SysAgent); //处理推广代理佣金 if (baseSysAgent.DaiLiGetType == 1) { baseSysAgent.DaiLiGet = baseSysAgent.DaiLiGet / 100; } //默认代理不能被关闭 if (baseSysAgent.State == 0 && baseSysAgent.Id == 1) { baseSysAgent.State = 1; } //处理设置 if (SysAgent.IsTeiPai != 1) { SysAgent.Set3 = 0; SysAgent.Set4 = 0; } //权限 string Str = string.Empty; if (PId != null) { foreach (var p in PId) { if (p != string.Empty) { Str += "," + p; } } Str += ","; } string AgentIds = baseSysAgent.Id.ToString();//用户下方批量更新下级代理 IList <SysAgent> AgentList = null; //取得之前的权限 string powerChar = Entity.SysAdmin.FirstOrDefault(s => s.Id == baseSysAgent.AdminId).PowerID; //取得之前的权限跟修改后的权限不同的权限 string[] strSpile = Str.Split(','); string[] powerSpile = powerChar.Split(','); strSpile = strSpile.Where(s => !string.IsNullOrEmpty(s)).ToArray(); powerSpile = powerSpile.Where(x => !string.IsNullOrEmpty(x)).ToArray(); //只有减少权限的时候才执行 if (strSpile.Length < powerSpile.Length) { string retChar = ""; for (int i = 0; i < powerSpile.Length; i++) { if (!string.IsNullOrWhiteSpace(powerSpile[i])) { if (!strSpile.Contains(powerSpile[i])) { retChar += powerSpile[i] + ","; } } } //取得代理商所有的下级 AgentList = SysAgent.GetSupAgent(Entity); foreach (var agentItem in AgentList) { //根据商户Id获取管理员信息 IList <SysAdmin> SysAdminList = Entity.SysAdmin.Where(x => x.AgentId == agentItem.Id).ToList(); string[] retSplit = retChar.Split(','); foreach (var modelAdmin in SysAdminList) { foreach (var item in retSplit) { string formatChar = string.Format(",{0},", item); if (modelAdmin.PowerID.Contains(formatChar)) { modelAdmin.PowerID = modelAdmin.PowerID.Replace(formatChar, ","); } } if (!string.IsNullOrWhiteSpace(modelAdmin.PowerID) && !modelAdmin.PowerID.StartsWith(",")) { modelAdmin.PowerID = "," + modelAdmin.PowerID; } string SQL = "Update SysAdmin set PowerID = '" + modelAdmin.PowerID + "' where Id=" + modelAdmin.Id; Entity.ExecuteStoreCommand(SQL); } } } SysAdmin SysAdmin = Entity.SysAdmin.FirstOrDefault(n => n.Id == baseSysAgent.AdminId); if (SysAdmin != null) { SysAdmin.PowerID = Str; if (!PassWord.IsNullOrEmpty()) { SysAdmin.PassWord = PassWord.GetAdminMD5(); } SysAdmin.State = SysAgent.State; } this.ProcessAttach(SysAgent, salesLog, Contract, IDCard_Front, IDCard_Reverse, IDCard_Hand, Certificate, DelIds); Entity.SaveChanges(); //如果是修改的话这个应该不会执行 OpenOrBindUser(SysAgent.Id, Str); if (IsLock) { //锁定其下级所有代理 2016-07-05 Lin this.LockAllAgent(baseSysAgent); } Entity.SaveChanges(); //if (SysAgent) if (!AnsyCash0.IsNullOrEmpty() || !AnsyCash1.IsNullOrEmpty() || !AnsyNext0.IsNullOrEmpty() || !AnsyNext1.IsNullOrEmpty() || IsUpMaxTier) { if (AgentList == null) { //取得代理商所有的下级 AgentList = SysAgent.GetSupAgent(Entity, true); } foreach (var p in AgentList) { AgentIds = AgentIds + "," + p.Id; } } if (IsUpMaxTier) { string SQL = "Update SysAgent Set AgentLevelMax=" + baseSysAgent.AgentLevelMax + " where Id in(" + AgentIds + ")"; Entity.ExecuteStoreCommand(SQL); } if (AnsyCash0 == 1)//同步到用户 { string SQL = "Update Users Set ECash0=" + baseSysAgent.ECash0 + ",Cash0=" + baseSysAgent.Cash0 + " where Agent in(" + AgentIds + ")"; Entity.ExecuteStoreCommand(SQL); } if (AnsyCash1 == 1)//同步到用户 { string SQL = "Update Users Set ECash1=" + baseSysAgent.ECash1 + ",Cash1=" + baseSysAgent.Cash1 + " where Agent in(" + AgentIds + ")"; Entity.ExecuteStoreCommand(SQL); } if (AnsyNext0 == 1)//同步到代理 { string SQL = "Update SysAgent Set ECash0=" + baseSysAgent.ECash0 + ",Cash0=" + baseSysAgent.Cash0 + ",Cash0Times=" + baseSysAgent.Cash0Times + " where Id in(" + AgentIds + ")"; Entity.ExecuteStoreCommand(SQL); } if (AnsyNext0 == 1)//同步到代理 { string SQL = "Update SysAgent Set ECash1=" + baseSysAgent.ECash1 + ",Cash1=" + baseSysAgent.Cash1 + ",Cash1Times=" + baseSysAgent.Cash1Times + " where Id in(" + AgentIds + ")"; Entity.ExecuteStoreCommand(SQL); } if (sameid != SysAgent.SameAgent) { SysAgent tempAgent = Entity.SysAgent.FirstOrNew(o => o.Id == SysAgent.SameAgent); //调入商户 SysAgent Agengt = Entity.SysAgent.FirstOrNew(o => o.Id == sameid); //调出商户 UsersMoveLog UsersMoveLog = new UsersMoveLog() { AddTime = DateTime.Now, ToSAId = tempAgent.Id, ToName = tempAgent.Name.IsNullOrEmpty()?"":tempAgent.Name, FromName = Agengt.Name.IsNullOrEmpty()?"":Agengt.Name, FromSAId = Agengt.Id, UId = baseSysAgent.Id, UTrueName = baseSysAgent.Name.IsNullOrEmpty() ? "" : baseSysAgent.Name, OpName = AdminUser.TrueName, Type = 3, Tel = baseSysAgent.LinkMobile, }; this.Entity.UsersMoveLog.AddObject(UsersMoveLog); Entity.SaveChanges(); } BaseRedirect(); }
public object Add(SysAgent SysAgent, List <string> PId, List <Attach> Contract, Attach IDCard_Front, Attach IDCard_Reverse, Attach IDCard_Hand, List <Attach> Certificate, List <int> DelIds) { //验证号码格式 //var rx = new System.Text.RegularExpressions.Regex(@"^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|4|5|6|7|8|9])\d{8}$"); //if (!rx.IsMatch(SysAgent.LinkMobile)) //{ // ViewBag.ErrorMsg = "请正确填写联系手机号格式"; // return View("Error"); //} //电信手机号码正则 string dianxin = @"^1[3578][01379]\d{8}$"; Regex dReg = new Regex(dianxin); //联通手机号正则 string liantong = @"^1[34578][01256]\d{8}$"; Regex tReg = new Regex(liantong); //移动手机号正则 string yidong = @"^(134[012345678]\d{7}|1[34578][012356789]\d{8})$"; Regex yReg = new Regex(yidong); if (!dReg.IsMatch(SysAgent.LinkMobile) && !tReg.IsMatch(SysAgent.LinkMobile) && !yReg.IsMatch(SysAgent.LinkMobile)) { ViewBag.ErrorMsg = "请正确填写联系手机号格式"; return(View("Error")); } //验证是否重复 SysAdmin Old = Entity.SysAdmin.FirstOrDefault(n => n.UserName == SysAgent.LinkMobile); if (Old != null) { ViewBag.ErrorMsg = "“联系手机号”已在系统中存在,无法开通管理员!"; return(View("Error")); } if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == SysAgent.LinkMobile && UBL.State == 1) != null) { ViewBag.ErrorMsg = "暂不支持您的手机号入网!"; return(View("Error")); } if (Contract == null || Contract.Count <= 0) { ViewBag.ErrorMsg = "请上传合同"; return(View("Error")); } if (IDCard_Front == null || IDCard_Front.AFile.IsNullOrEmpty()) { ViewBag.ErrorMsg = "请上传身份证正面"; return(View("Error")); } if (IDCard_Reverse == null || IDCard_Reverse.AFile.IsNullOrEmpty()) { ViewBag.ErrorMsg = "请上传身份证反面"; return(View("Error")); } if (IDCard_Hand == null || IDCard_Hand.AFile.IsNullOrEmpty()) { ViewBag.ErrorMsg = "请上传手持身份证"; return(View("Error")); } if (Certificate == null || Certificate.Count <= 0) { ViewBag.ErrorMsg = "请上传营业执照或其它证件"; return(View("Error")); } //整理代理商信息 SysAgent.AddTime = DateTime.Now; SysAgent.PayGet = SysAgent.PayGet.IsNullOrEmpty() ? 0 : SysAgent.PayGet / 100; SysAgent.CashGet = 0;// SysAgent.CashGet.IsNullOrEmpty() ? 0 : SysAgent.CashGet / 100; SysAgent.LoanGet = SysAgent.LoanGet.IsNullOrEmpty() ? 0 : SysAgent.LoanGet / 100; SysAgent.Credit = SysAgent.Credit.IsNullOrEmpty() ? 0 : SysAgent.Credit / 100; SysAgent.AdminId = 0; //SysAgent.AgentID = 0;//上级代理Id SysAgent.IsPromote = 1; //默认开启 SysAgent.PromoteGet = 0; //默认为于推广用户返佣为0 SysAgent.AgentLevelMax = 0; //SysAgent.Tier = 1;//系统开通出来的为第一级代理 SysAgent.NoteDownload = ""; SysAgent.AgentState = 0; //默认为显示好付 SysAgent.Cash0 = SysAgent.Cash0 / 1000; SysAgent.Cash1 = SysAgent.Cash1 / 1000; //处理推广代理佣金 if (SysAgent.DaiLiGetType == 1) { SysAgent.DaiLiGet = SysAgent.DaiLiGet / 100; } //处理设置 if (SysAgent.IsTeiPai != 1) { SysAgent.Set3 = 0; SysAgent.Set4 = 0; } Entity.SysAgent.AddObject(SysAgent); //先保存拿agentId Entity.SaveChanges(); //保存销售记录为了取得id var salesLog = new SalesLog() { AddTime = DateTime.Now, AgentFee = SysAgent.AgentFee, ExpireTime = SysAgent.ExpireTime, State = 1, AgentId = SysAgent.Id, Salesman = SysAgent.Salesman, }; Entity.SalesLog.AddObject(salesLog); //再保存拿到logid Entity.SaveChanges(); this.ProcessAttach(SysAgent, salesLog, Contract, IDCard_Front, IDCard_Reverse, IDCard_Hand, Certificate, DelIds); Entity.SaveChanges(); //权限 string Str = string.Empty; if (PId != null) { foreach (var p in PId) { if (p != string.Empty) { Str += "," + p; } } Str += ","; } //自动配置代理商的用户入网费率 IList <PayConfig> PCList = Entity.PayConfig.Where(n => n.State == 1).ToList(); foreach (var PC in PCList) { UserPayAgent UserPayAgent = new UserPayAgent(); UserPayAgent.AId = SysAgent.Id; UserPayAgent.PId = PC.Id; UserPayAgent.Cost = (double)PC.CostUser; Entity.UserPayAgent.AddObject(UserPayAgent); } Entity.SaveChanges(); //新添加这个里面会执行savecheng OpenOrBindUser(SysAgent.Id, Str); BaseRedirect(); return(true); }