public void UploadDepartments() { var list = _Repository.FindBy(null, null, 1, int.MaxValue); var accessToken = _commonService.GetContactsAccessToken(); var departments = _contactsService.GetDepartments(accessToken); var sbError = new StringBuilder(); foreach (var dep in list) { if (dep.DepartmentId == 1) { continue; } try { var item = departments.FirstOrDefault(x => x.Id == dep.DepartmentId); var model = new Domain.Weixin.Model.Department(dep.DepartmentId, dep.Name, dep.ParentId, dep.SortOrder); if (item != null) { _contactsService.UpdateDepartment(accessToken, model); } else { _contactsService.CreateDepartment(accessToken, model); } } catch (Exception ex) { sbError.AppendLine(string.Format("{0} {1}", dep.Name, ex.Message)); } } if (sbError.Length > 0) { throw new Exception(sbError.ToString()); } }