public ActionResult GetFromAndToByCardID(string fromUserID, int cardID, Common.Enums.EnterpriseUserCustomerSource source = Common.Enums.EnterpriseUserCustomerSource.CardList) { var from = db.Users.FirstOrDefault(s => s.Id == fromUserID); if (from == null) { return(Json(Comm.ToJsonResult("FromUserNoFound", "用户不存在"))); } var api = new Common.TxIm.ImApi(); var to = (from u in db.Users from c in db.Cards where u.Id == c.UserID && c.ID == cardID select new { u.Id, u.UserName, c.Avatar, NickName = c.Name }).FirstOrDefault(); if (to == null) { return(Json(Comm.ToJsonResult("CardNoFound", "卡片不存在"))); } try { api.ImportUser(from.UserName, from.NickName, from.Avatar); api.ImportUser(to.UserName, to.NickName, to.Avatar); } catch (Exception ex) { Json(Comm.ToJsonResult("Error", ex.Message)); } //新增客户 var addcustresult = AddUserCustomer(fromUserID, cardID, source); return(Json(Comm.ToJsonResult("Success", "成功", new { From = new { Avatar = from.Avatar.SplitToArray <string>(',')[0], UserID = from.Id, UserName = from.UserName, NickName = from.NickName, Sign = Common.TxIm.SigCheck.Sign(from.UserName), }, To = new { Avatar = to.Avatar.SplitToArray <string>(',')[0], UserID = to.Id, UserName = to.UserName, NickName = to.NickName, } }), JsonRequestBehavior.AllowGet)); }
/// <summary> /// 新增名片归属用户下的客户信息 /// </summary> /// <param name="custuserid"></param> /// <param name="ownerusercardid"></param> /// <returns></returns> private RunterResult AddUserCustomer(string custuserid, int ownerusercardid, Common.Enums.EnterpriseUserCustomerSource source) { var from = db.Users.FirstOrDefault(s => s.Id == custuserid); //根据客户对应的userid获取企业客户信息 var cust = db.EnterpriseCustomers.FirstOrDefault(s => s.UserID == custuserid); var to = (from u in db.Users from c in db.Cards where u.Id == c.UserID && c.ID == ownerusercardid select new { u.Id, u.UserName, c.EnterpriseID, c.Avatar, NickName = c.Name }).FirstOrDefault(); if (to == null) { return(new RunterResult { IsSuccess = false, Message = "名片不存在" }); } if (from == null) { return(new RunterResult { IsSuccess = false, Message = "用户不存在" }); } else { if (!to.Id.Equals(custuserid)) { //如果不存在企业客户则新增 if (cust == null) { //保存企业客户信息 EnterpriseCustomer ecust = new EnterpriseCustomer(); ecust.UserID = custuserid; ecust.EnterpriseID = to.EnterpriseID.Value; ecust.RealName = from.NickName; ecust.Mobile = from.PhoneNumber; ecust.Birthday = null; db.EnterpriseCustomers.Add(ecust); int resultrow = db.SaveChanges(); if (resultrow > 0) { //保存企业名片用户下的客户信息 EnterpriseUserCustomer euscust = new EnterpriseUserCustomer(); euscust.CustomerID = ecust.ID; euscust.OwnerID = to.Id; euscust.State = Common.Enums.EnterpriseUserCustomerState.NoFllow; euscust.Source = source; euscust.CreateDateTime = DateTime.Now; db.EnterpriseUserCustomer.Add(euscust); db.SaveChanges(); } } else { //如果存在就检测归宿人客户是否存在 var us = db.EnterpriseUserCustomer.FirstOrDefault(s => s.OwnerID == to.Id && s.CustomerID == cust.ID); if (us == null) { //保存企业名片用户下的客户信息 EnterpriseUserCustomer euscust = new EnterpriseUserCustomer(); euscust.CustomerID = cust.ID; euscust.OwnerID = to.Id; euscust.State = Common.Enums.EnterpriseUserCustomerState.NoFllow; euscust.Source = source; euscust.CreateDateTime = DateTime.Now; db.EnterpriseUserCustomer.Add(euscust); db.SaveChanges(); } } } } return(new RunterResult { IsSuccess = true, Message = "新增成功" }); }