public async Task <IActionResult> SaveModuleRoles(AssignmentSaveViewModule model) { string responseCode = string.Empty; string responseMessage = string.Empty; try { //Save to tenantrole var moduleList = _context.ModuleRoles.Where(x => x.ModuleID == new Guid(model.SelectedValue)).ToList(); if (moduleList != null && moduleList.Count > 0) { _context.ModuleRoles.RemoveRange(moduleList); } foreach (var module in model.ListofAssignment) { var roleModule = new RoleModules { RoleID = module, ModuleID = new Guid(model.SelectedValue), TenantId = model.TenantId }; await _context.ModuleRoles.AddAsync(roleModule); await _context.SaveChangesAsync(); } responseCode = "Success"; responseMessage = string.Format(AccountOptions.API_Response_Saved, "Claim"); } catch (Exception ex) { responseCode = "Failed"; responseMessage = string.Format(AccountOptions.API_Response_Failed, "Claim"); } return(Ok(new { MessageCode = responseCode, MessageDetails = responseMessage })); }
public async Task <IActionResult> SaveRolesToUser(AssignmentSaveViewModule model) { string responseCode = string.Empty; string responseMessage = string.Empty; try { var roleName = await _context.Roles.FirstOrDefaultAsync(x => x.Id == model.SelectedValue); var previousroleUser = await _context.UserRoles.Where(x => x.RoleId == model.SelectedValue).ToListAsync(); _context.UserRoles.RemoveRange(previousroleUser); await _context.SaveChangesAsync(); foreach (var role in model.ListofAssignment) { var user = await _userManager.FindByIdAsync(role); await _userManager.AddToRoleAsync(user, roleName.Name); } _context.SaveChanges(); responseCode = "Success"; responseMessage = string.Format(AccountOptions.API_Response_Saved, "Role"); } catch (Exception ex) { responseCode = "Error"; responseMessage = string.Format(AccountOptions.API_Response_Failed, ex.Message); } return(Ok(new { MessageCode = responseCode, MessageDetails = responseMessage })); }