Beispiel #1
0
        public void UploadMembers()
        {
            var list = _Repository.FindBy(null, 1, int.MaxValue);

            var accessToken = _commonService.GetContactsAccessToken();
            var members     = _contactsService.GetMembers(accessToken);

            var sbError = new StringBuilder();

            foreach (var member in list)
            {
                if (string.IsNullOrWhiteSpace(member.Userid))
                {
                    continue;
                }

                try
                {
                    var item  = members.FirstOrDefault(x => x.Userid == member.Userid);
                    var model = new Domain.Weixin.Model.Member(member.Userid, member.Name, member.WeixinId)
                    {
                        Department = new List <int>(member.Departments.Select(x => x.DepartmentId)),
                        Position   = member.Position,
                        Gender     = member.Gender,
                        Mobile     = member.Mobile,
                        Email      = member.Email,
                        Status     = member.Status,
                        Avatar     = member.Avatar,
                        Enable     = member.Status == 2 ? 0 : 1
                    };

                    if (item != null)
                    {
                        _contactsService.UpdateMember(accessToken, model);
                    }
                    else
                    {
                        _contactsService.CreateMember(accessToken, model);
                    }
                }
                catch (Exception ex)
                {
                    sbError.AppendLine(string.Format("{0} {1}", member.Userid, ex.Message));
                }
            }

            if (sbError.Length > 0)
            {
                throw new Exception(sbError.ToString());
            }
        }