//To get access rights public IHttpActionResult GetRights(int roleID) { try { RolesData roleRightsData = new RolesData(); var rights = roleRightsData.GetRights(roleID); var workspaceReports = roleRightsData.GetWorkspacesAndReports(); //WorkSpaceData workSpaceData = new WorkSpaceData(); //var workSpaceAndReports = workSpaceData.GetPowerBIWorkspace(); List <RoleRightsMappingDTO> roleRightsMappingsList = new List <RoleRightsMappingDTO>(); foreach (var b in workspaceReports) { RoleRightsMappingDTO a = new RoleRightsMappingDTO(); //a.ID = 0; a.WorkspaceID = b.WorkspaceID; a.WorkspaceName = b.WorkspaceName; a.ReportID = b.ReportID; a.ReportName = b.ReportName; roleRightsMappingsList.Add(a); } List <RoleRightsMappingDTO> updatedRoleRightsMappingsList = new List <RoleRightsMappingDTO>(); foreach (var s in roleRightsMappingsList) { updatedRoleRightsMappingsList.Add(s); } foreach (var l1 in roleRightsMappingsList) { bool existed = false; foreach (var l2 in rights) { if (l1.WorkspaceID == l2.WorkspaceID && l1.ReportID == l2.ReportID) { existed = true; break; } } if (existed) { updatedRoleRightsMappingsList.Remove(l1); } } rights = rights.Concat(updatedRoleRightsMappingsList); return(Ok(rights)); } catch (Exception ex) { return(BadRequest("Could not fetch rights")); } }