示例#1
0
        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));
        }
示例#2
0
        /// <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 = "新增成功"
            });
        }