public async Task <int> UpdateAsync(Tbiz_DepartmentInfo log) { int result = 0; try { result = await _departmentInfoRepository.UpdateAsync(log); await _uowManager.CommitAsync(); } catch (Exception ex) { ex.ToExceptionless().Submit(); } return(result); }
public async Task <IActionResult> Get() { #region // //var data= await _baseUserServices.GetList(); //var data = await _baseUserServices.UnitOfWork.GetRepository<LR_Base_Company>().Select.ToListAsync(); //return Ok(data); //LR_Test model = new LR_Test(); ////await _uow.GetGuidRepository<LR_Test>().InsertAsync(model); //model = await _uow.GetGuidRepository<LR_Test>().Where(it => it.Id == 1).FirstAsync(); //string F_EnCode = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); //var sql = await _uow.GetRepository<LR_Test>().UpdateDiy.SetRaw("F_Encode=@F_Encode,F_TestId=@F_TestId", new { F_Encode = F_EnCode, F_TestId = "2313123123" }).Where(it => it.Id == 1).ExecuteUpdatedAsync(); ////var insert = _uow.GetRepository<LR_Test>().UpdateDiy.SetSource(model).Where(it=>it.F_EnCode=="111"); //_uow.Commit(); #region 获取公司所有角色 //var db_userList = await _baseUserServices.UnitOfWork.GetGuidRepository<V_EmployeeToDingTalk>().Select.Where(it => it.Enabled == 1).ToListAsync(); //var db_role = await _baseUserServices.UnitOfWork.GetGuidRepository<V_EmployeeToDingTalk>().Select.Where(it => it.Enabled == 1).GroupBy(it => it.PositionName).ToListAsync(a => a.Key); #endregion 获取公司所有角色 #region 获取钉钉Token //IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken"); //OapiGettokenRequest request = new OapiGettokenRequest(); //request.Appkey = "1111111111"; //request.Appsecret = "222222222222222"; //request.SetHttpMethod("GET"); //OapiGettokenResponse response = client.Execute(request); #endregion 获取钉钉Token #region 获取角色列表 //client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/list"); //var requestRole = new OapiRoleListRequest(); //requestRole.Offset = 0L; //requestRole.Size = 200L; //OapiRoleListResponse responseRoleList = client.Execute(requestRole, response.AccessToken); #endregion 获取角色列表 //List<OapiRoleAddroleResponse> result = new List<OapiRoleAddroleResponse>(); //var dd_roleList = responseRoleList.Result.List.Where(it => it.Name == "职位").FirstOrDefault(); #region 获取职位角色下所有角色列表,然后删除其中的所有员工 //foreach (var item in dd_roleList.Roles) //{ // client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/deleterole"); // OapiRoleDeleteroleRequest delete_request = new OapiRoleDeleteroleRequest(); // delete_request.RoleId = item.Id; // OapiRoleDeleteroleResponse del_response = client.Execute(delete_request, response.AccessToken); // if (del_response.Errcode != 0) // { // #region 获取该角色下的用户 // client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/simplelist"); // OapiRoleSimplelistRequest request_roleUser = new OapiRoleSimplelistRequest(); // request_roleUser.RoleId = item.Id; // request_roleUser.Offset = 0; // request_roleUser.Size = 200; // OapiRoleSimplelistResponse response_roleUser = client.Execute(request_roleUser, response.AccessToken); // foreach (var userList in response_roleUser.Result.List) // { // client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/removerolesforemps"); // OapiRoleRemoverolesforempsRequest request_deleteUser = new OapiRoleRemoverolesforempsRequest(); // request_deleteUser.RoleIds = item.Id.ToString(); // request_deleteUser.UserIds = userList.Userid; // OapiRoleRemoverolesforempsResponse response_delUser = client.Execute(request_deleteUser, response.AccessToken); // if (response_delUser.Errcode != 0) // { // Console.WriteLine("\n" + response_delUser.Errmsg + "\n"); // } // } // client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/deleterole"); // delete_request = new OapiRoleDeleteroleRequest(); // delete_request.RoleId = item.Id; // del_response = client.Execute(delete_request, response.AccessToken); // if (del_response.Errcode != 0) // { // Console.WriteLine("\n" + del_response.Errmsg + "\n"); // } // else // { // Console.WriteLine("\n角色下有人员,但已删除成功!\n"); // } // #endregion // } //} #endregion 获取职位角色下所有角色列表,然后删除其中的所有员工 //var dd_roles = dd_roleList.Roles?.Select(it => it.Name).ToList(); //var strlist = dd_roles; //if (dd_roles != null) //{ // strlist = db_role.Except(dd_roles).ToList(); //} #region 获取角色下的所有用户 //client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/simplelist"); //List<EmpSimpleDomain> simpleDomainsList = new List<EmpSimpleDomain>(); //if (dd_roleList.Roles != null) //{ // foreach (var item in dd_roleList.Roles) // { // GetSimplelistResponse(simpleDomainsList, client, response, item); // } //} #endregion 获取角色下的所有用户 #region 过滤掉加入到钉钉的用户 // 不包含 ////var query4 = list2s.Where(s => list1.All(t => !s.name.Contains(t))).ToList(); //string userListJson = db_userList.ToJson(); //List<V_EmployeeToDingTalk> userList = userListJson.ToObject<List<V_EmployeeToDingTalk>>(); //var roleList = userList.GroupBy(it => it.PositionName).ToList(); //List<V_EmployeeToDingTalk> UpdateUserList = new List<V_EmployeeToDingTalk>(); //List<V_EmployeeToDingTalk> AddUserList = new List<V_EmployeeToDingTalk>(); ////钉钉加入到职务角色下的所有员工 //var ddroleList = simpleDomainsList.GroupBy(it => it.RoleName).ToList(); //var res = ddroleList.Select(r => //{ // var dbusers = db_userList.Where(u => u.PositionName == r.Key).Select(ur => ur.UserId); // var ddUsers = r.SelectMany(ru => ru.List).Select(rl => rl.Userid); // return new // { // RoleId = r.First().RoleId, // RoleName = r.Key, // InserUser = dbusers.Except(ddUsers), // DeleteUser = ddUsers.Except(dbusers) // }; //}); //string userStr = ""; //int pageSize = 20; //foreach (var item in res) //{ // var userListCount = item.InserUser.Count(); // var updateListCount = item.DeleteUser.Count(); // if (userListCount > 0 || updateListCount > 0) // { // if (userListCount > 0) // { // var uList = new List<string>(); // if (userListCount > pageSize) // { // int pageNum = ((userListCount / pageSize) + (userListCount % pageSize > 0 ? 1 : 0)); // for (int i = 0; i < pageNum; i++) // { // //Skip是起始数据,表示从第n+1条数据开始.(此处pageNum应从0开始) // //pageNum:页数、=0是第一页,pageSize:一页多少条 // uList = item.InserUser.OrderBy(it => it).Skip(i * pageSize).Take(pageSize).Select(it => it).ToList(); // userStr = string.Join(",", uList.ToArray()); // client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/addrolesforemps"); // OapiRoleAddrolesforempsRequest addUserRoleRequest = new OapiRoleAddrolesforempsRequest(); // addUserRoleRequest.RoleIds = item.RoleId.ToString(); // addUserRoleRequest.UserIds = userStr; // OapiRoleAddrolesforempsResponse resp = client.Execute(addUserRoleRequest, response.AccessToken); // if (resp.ErrCode != "0") // { // Console.WriteLine("\n" + resp.ErrMsg + "\n"); // } // } // } // else // { // uList = item.InserUser.OrderBy(it => it).Select(it => it).ToList(); // userStr = string.Join(",", uList.ToArray()); // client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/addrolesforemps"); // OapiRoleAddrolesforempsRequest addUserRoleRequest = new OapiRoleAddrolesforempsRequest(); // addUserRoleRequest.RoleIds = item.RoleId.ToString(); // addUserRoleRequest.UserIds = userStr; // OapiRoleAddrolesforempsResponse resp = client.Execute(addUserRoleRequest, response.AccessToken); // if (resp.ErrCode != "0") // { // Console.WriteLine("\n" + resp.ErrMsg + "\n"); // } // } // } // if (updateListCount > 0) // { // ; // } // } //} //foreach (var item in ddroleList) //{ // var i = item.FirstOrDefault(); // foreach (var value in i.List) // { // UpdateUserList.AddRange(db_userList.Where(it => (it.PositionName != i.RoleName && it.UserId == value.Userid)).ToList()); // userList = userList.Where(it => !(it.PositionName == i.RoleName && it.UserId == value.Userid)).ToList(); // userList = userList.Where(it => !UpdateUserList.Select(u => u.UserId).Contains(it.UserId)).ToList(); // } //} #endregion 过滤掉加入到钉钉的用户 #region 在职位角色组下创建角色 //foreach (var item in strlist) //{ // client = new DefaultDingTalkClient("https://oapi.dingtalk.com/role/add_role"); // OapiRoleAddroleRequest req = new OapiRoleAddroleRequest(); // req.RoleName = item; // req.GroupId = dd_roleList.GroupId; // OapiRoleAddroleResponse rsp = client.Execute(req, response.AccessToken); // result.Add(rsp); //} #endregion 在职位角色组下创建角色 //string userStr = ""; //int pageSize = 100; //foreach (var item in dd_roleList.Roles) //{ // var userListCount = db_userList.Where(it => it.PositionName == item.Name).Count(); // var userList = new List<string>(); // if (userListCount > pageSize) // { // int pageNum = ((userListCount / pageSize) + (userListCount % pageSize > 0 ? 1 : 0)); // for (int i = 0; i < pageNum; i++) // { // //Skip是起始数据,表示从第n+1条数据开始.(此处pageNum应从0开始) // //pageNum:页数、=0是第一页,pageSize:一页多少条 // userList = db_userList.Where(it => it.PositionName == item.Name).OrderBy(it => it.UserId).Skip(i * pageSize).Take(pageSize).Select(it => it.UserId).ToList(); // userStr = string.Join(",", userList.ToArray()); // client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/addrolesforemps"); // OapiRoleAddrolesforempsRequest addUserRoleRequest = new OapiRoleAddrolesforempsRequest(); // addUserRoleRequest.RoleIds = item.Id.ToString(); // addUserRoleRequest.UserIds = userStr; // OapiRoleAddrolesforempsResponse resp = client.Execute(addUserRoleRequest, response.AccessToken); // } // } // else // { // userList = db_userList.Where(it => it.PositionName == item.Name).OrderBy(it => it.UserId).Select(it => it.UserId).ToList(); // userStr = string.Join(",", userList.ToArray()); // client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/addrolesforemps"); // OapiRoleAddrolesforempsRequest addUserRoleRequest = new OapiRoleAddrolesforempsRequest(); // addUserRoleRequest.RoleIds = item.Id.ToString(); // addUserRoleRequest.UserIds = userStr; // OapiRoleAddrolesforempsResponse resp = client.Execute(addUserRoleRequest, response.AccessToken); // } //} #region 根据角色ID删除角色 //client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/role/deleterole"); //OapiRoleDeleteroleRequest request_del = new OapiRoleDeleteroleRequest(); //request_del.RoleId = postId.Roles[0].Id; //OapiRoleDeleteroleResponse res = client.Execute(request_del, response.AccessToken); #endregion 根据角色ID删除角色 #endregion // //var list=await _departmentInfoService.FindListAsync(); //var delete = await _departmentInfoService.DeleteAsync(16800); //_logger.Debug(nameof(FreeSqlTestController),"进入到FreeSql测试","testTags"); Tbiz_DepartmentInfo log = await _departmentInfoService.GetAsync(75110); log.ModifyDate = DateTime.Now; log.Enabled = "A"; var update = await _departmentInfoService.UpdateAsync(log); return(Ok(log)); }