protected async System.Threading.Tasks.Task GetUsers(string name, string deptname) { List <UserDepartmentRole> reservationList = new List <UserDepartmentRole>(); HttpClient client = new HttpClient(); string url = "https://localhost:44334/api/Users/GetUsers"; var udr = new UserDepartmentRole(); //dept.Department_ID = 3; udr.User_Name = txtname.Text.Trim(); udr.Department_Name = ddlDept.SelectedItem.ToString(); var json = JsonConvert.SerializeObject(udr); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = client.PostAsync(url, data).Result; string result = response.Content.ReadAsStringAsync().Result; reservationList = JsonConvert.DeserializeObject <List <UserDepartmentRole> >(result); //Console.WriteLine(reservationList); GridView1.DataSource = reservationList; GridView1.DataBind(); }
protected async System.Threading.Tasks.Task GetUserInfoByName() { List <UserDepartmentRole> reservationList = new List <UserDepartmentRole>(); HttpClient client = new HttpClient(); string url = "https://localhost:44334/api/Users/GetUserInfoByName"; var udr = new UserDepartmentRole(); udr.User_Name = txtusername.Text.Trim(); var json = JsonConvert.SerializeObject(udr); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = client.PostAsync(url, data).Result; string result = response.Content.ReadAsStringAsync().Result; reservationList = JsonConvert.DeserializeObject <List <UserDepartmentRole> >(result); DataCommon.LoginUserID = Convert.ToInt64(reservationList[0].User_ID); DataCommon.LoginDeptID = Convert.ToInt64(reservationList[0].Department_ID); DataCommon.LoginRoleID = Convert.ToInt64(reservationList[0].Role_ID); DataCommon.LoginDeptName = reservationList[0].Department_Name.ToString(); DataCommon.LoginRoleType = reservationList[0].Role_Type.ToString(); Session["User_ID"] = DataCommon.LoginUserID; }
public async Task <bool> UserIsCheckerOnDepartment(Guid departmentId) { if (Guid.TryParse(_userManager.GetUserId(_signInManager.Context.User), out Guid userId)) { UserDepartmentRole currentUserWithCheckerRole = await db.UserRoleDepartment .FirstOrDefaultAsync(urd => urd.UserId == userId && urd.DepartmentId == departmentId && urd.Role.Name == "Checker"); return(currentUserWithCheckerRole != null); } else { return(false); } }
public async Task <bool> UserIsAdminOnDepartment(Guid departmentId) { if (Guid.TryParse(_userManager.GetUserId(_signInManager.Context.User), out Guid userId)) { UserDepartmentRole currentUserWithAdminRoleOnDepartment = await db.UserRoleDepartment .FirstOrDefaultAsync(urd => urd.UserId.Equals(userId) && urd.Role.Name == "Admin" && urd.DepartmentId == departmentId); return(currentUserWithAdminRoleOnDepartment != null); } else { return(false); } }
public async Task <IActionResult> GetUser(UserDepartmentRole udr) { try { var user = await postRepository.GetUsers(udr.User_Name, udr.Department_Name); if (user == null) { return(NotFound()); } return(Ok(user)); } catch (Exception) { return(BadRequest()); } }
public async Task <IActionResult> OnPostUpdateRolesAsync(string userId, string departmentId, List <string> roles) { try { if (await _getAccountDataService.UserIsAdminOnAnyDepartment() || _getAccountDataService.IsSystemAdmin()) { if (ModelState.IsValid) { // получаем пользователя User user = await _userManager.FindByIdAsync(userId); if (user != null) { // получем список ролей пользователя var UserDepartmentRoles = await db.UserRoleDepartment .Where(urd => urd.UserId.Equals(Guid.Parse(userId)) && urd.DepartmentId.ToString() == departmentId) .Select(urd => urd.Role.Id.ToString().ToLower()) .ToListAsync(); // получаем список ролей, которые были добавлены var addedRoles = roles.Except(UserDepartmentRoles); var allRoles = db.Role .Select(r => r.Id.ToString().ToLower()) .ToList(); // получаем роли, которые были удалены var removedRoles = UserDepartmentRoles.Except(roles); foreach (var role in addedRoles) { if (role != null) { db.UserRoleDepartment.Add(new UserDepartmentRole() { UserId = Guid.Parse(userId), DepartmentId = Guid.Parse(departmentId), RoleId = Guid.Parse(role) }); } } foreach (var role in removedRoles) { if (role != null) { UserDepartmentRole removingRecord = await db.UserRoleDepartment .FirstOrDefaultAsync(urd => urd.RoleId.Equals(Guid.Parse(role)) && urd.UserId.Equals(Guid.Parse(userId)) && urd.DepartmentId.Equals(Guid.Parse(departmentId))); db.UserRoleDepartment.Remove(removingRecord); } } await db.SaveChangesAsync(); return(RedirectToPage("UserDepartmentList")); } else { return(NotFound()); } } else { return(Page()); } } else { return(NotFound()); } } catch (Exception e) { _logger.LogError(e, "Error while saving Department Data for this User"); return(NotFound()); } }