private void LLenaUsuarios() { try { divUsuariosSupervisor.Visible = false; divUsuariosNivel1.Visible = false; divUsuariosNivel2.Visible = false; divUsuariosNivel3.Visible = false; divUsuariosNivel4.Visible = false; List <int> lstSubRoles = ((Usuario)Session["UserData"]).UsuarioGrupo.Where(w => w.SubGrupoUsuario != null && w.IdGrupoUsuario == IdGrupo).Select(s => s.SubGrupoUsuario).Select(subRol => subRol.IdSubRol).ToList(); var supervisor = lstSubRoles.Contains((int)BusinessVariables.EnumSubRoles.Supervisor); List <Usuario> lstUsuarios; List <SubRolEscalacionPermitida> lstAsignacionesPermitidas = new List <SubRolEscalacionPermitida>(); switch (int.Parse(ddlEstatus.SelectedValue)) { case (int)BusinessVariables.EnumeradoresKiiniNet.EnumEstatusAsignacion.Asignado: foreach (int subRol in lstSubRoles) { lstAsignacionesPermitidas.AddRange(_servicioSubRol.ObtenerEscalacion(subRol, int.Parse(ddlEstatus.SelectedValue), null)); } break; case (int)BusinessVariables.EnumeradoresKiiniNet.EnumEstatusAsignacion.ReAsignado: lstAsignacionesPermitidas.AddRange(_servicioSubRol.ObtenerEscalacion(IdSubRolActual, int.Parse(ddlEstatus.SelectedValue), IdNivelEstatusAsignacionActual)); break; case (int)BusinessVariables.EnumeradoresKiiniNet.EnumEstatusAsignacion.Escalado: foreach (int subRol in lstSubRoles) { lstAsignacionesPermitidas.AddRange(_servicioSubRol.ObtenerEscalacion(subRol, int.Parse(ddlEstatus.SelectedValue), IdNivelEstatusAsignacionActual)); } break; } int idUsuario = ((Usuario)Session["UserData"]).Id; if (lstAsignacionesPermitidas.Any(a => a.IdSubRolPermitido == (int)BusinessVariables.EnumSubRoles.Supervisor)) { lstUsuarios = _servicioUsuarios.ObtenerUsuariosByGrupoAgente(IdGrupo, (int)BusinessVariables.EnumSubRoles.Supervisor).Where(w => w.Id != idUsuario).ToList(); lstSupervisor.DataSource = lstUsuarios; lstSupervisor.DataTextField = "NombreCompleto"; lstSupervisor.DataValueField = "Id"; lstSupervisor.DataBind(); divUsuariosSupervisor.Visible = lstUsuarios.Count > 0; } if (lstAsignacionesPermitidas.Any(a => a.IdSubRolPermitido == (int)BusinessVariables.EnumSubRoles.PrimererNivel)) { lstUsuarios = _servicioUsuarios.ObtenerUsuariosByGrupoAgente(IdGrupo, (int)BusinessVariables.EnumSubRoles.PrimererNivel).Where(w => w.Id != idUsuario).ToList(); lstUsuariosGrupoNivel1.DataSource = lstUsuarios; lstUsuariosGrupoNivel1.DataTextField = "NombreCompleto"; lstUsuariosGrupoNivel1.DataValueField = "Id"; lstUsuariosGrupoNivel1.DataBind(); divUsuariosNivel1.Visible = lstUsuarios.Count > 0; } if (lstAsignacionesPermitidas.Any(a => a.IdSubRolPermitido == (int)BusinessVariables.EnumSubRoles.SegundoNivel)) { lstUsuarios = _servicioUsuarios.ObtenerUsuariosByGrupoAgente(IdGrupo, (int)BusinessVariables.EnumSubRoles.SegundoNivel).Where(w => w.Id != idUsuario).ToList(); lstUsuariosGrupoNivel2.DataSource = lstUsuarios; lstUsuariosGrupoNivel2.DataTextField = "NombreCompleto"; lstUsuariosGrupoNivel2.DataValueField = "Id"; lstUsuariosGrupoNivel2.DataBind(); divUsuariosNivel2.Visible = lstUsuarios.Count > 0; } if (lstAsignacionesPermitidas.Any(a => a.IdSubRolPermitido == (int)BusinessVariables.EnumSubRoles.TercerNivel)) { lstUsuarios = _servicioUsuarios.ObtenerUsuariosByGrupoAgente(IdGrupo, (int)BusinessVariables.EnumSubRoles.TercerNivel).Where(w => w.Id != idUsuario).ToList(); lstUsuariosGrupoNivel3.DataSource = lstUsuarios; lstUsuariosGrupoNivel3.DataTextField = "NombreCompleto"; lstUsuariosGrupoNivel3.DataValueField = "Id"; lstUsuariosGrupoNivel3.DataBind(); divUsuariosNivel3.Visible = lstUsuarios.Count > 0; } if (lstAsignacionesPermitidas.Any(a => a.IdSubRolPermitido == (int)BusinessVariables.EnumSubRoles.CuartoNivel)) { lstUsuarios = _servicioUsuarios.ObtenerUsuariosByGrupoAgente(IdGrupo, (int)BusinessVariables.EnumSubRoles.CuartoNivel).Where(w => w.Id != idUsuario).ToList(); lstUsuariosGrupoNivel4.DataSource = lstUsuarios; lstUsuariosGrupoNivel4.DataTextField = "NombreCompleto"; lstUsuariosGrupoNivel4.DataValueField = "Id"; lstUsuariosGrupoNivel4.DataBind(); divUsuariosNivel4.Visible = lstUsuarios.Count > 0; } } catch (Exception e) { throw new Exception(e.Message); } }