Esempio n. 1
0
        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);
            }
        }