コード例 #1
0
ファイル: PorFiltro.aspx.cs プロジェクト: lincoln-alves/sgus
        protected void rptPerfilUf_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            var ufsUsuario = (DTOUsuarioUF)e.Item.DataItem;

            var rptUsuario = (Repeater)e.Item.FindControl("rptUsuario");

            var queryUsuarios = new ManterUsuario().ObterTodos();

            queryUsuarios = ufsUsuario.PerfisID.Any() ? queryUsuarios.Where(x => x.ListaPerfil.Any(p => ufsUsuario.PerfisID.Contains(p.Perfil.ID))) : queryUsuarios;
            queryUsuarios = ufsUsuario.NivelsOcupacionaisID.Any() ? queryUsuarios.Where(x => ufsUsuario.NivelsOcupacionaisID.Contains(x.NivelOcupacional.ID)) : queryUsuarios;
            queryUsuarios = ufsUsuario.IDUf > 0 ? queryUsuarios.Where(x => ufsUsuario.IDUf == x.UF.ID) : queryUsuarios;
            queryUsuarios = ufsUsuario.Usuario != null?queryUsuarios.Where(x => x.ID == ufsUsuario.Usuario.ID) : queryUsuarios;

            var resultado = queryUsuarios
                            .OrderBy(x => x.Nome)
                            .Select(x => new DTOUsuarioPerfil
            {
                ID               = x.ID,
                Nome             = x.Nome,
                CPF              = x.CPF,
                Email            = x.Email,
                NivelOcupacional = x.NivelOcupacional.Nome
            }).ToList();

            rptUsuario.DataSource = resultado;

            rptUsuario.DataBind();

            ChecarExibirItem("UF", e);

            var colspan = (HtmlTableCell)e.Item.FindControl("colspan");

            if (!chkListaCamposVisiveis.Items.FindByValue("Nome").Selected)
            {
                colspan.ColSpan = colspan.ColSpan - 1;
            }
            if (!chkListaCamposVisiveis.Items.FindByValue("CPF").Selected)
            {
                colspan.ColSpan = colspan.ColSpan - 1;
            }
            if (!chkListaCamposVisiveis.Items.FindByValue("Email").Selected)
            {
                colspan.ColSpan = colspan.ColSpan - 1;
            }
            if (!chkListaCamposVisiveis.Items.FindByValue("NivelOcupacional").Selected)
            {
                colspan.ColSpan = colspan.ColSpan - 1;
            }
            if (!chkListaCamposVisiveis.Items.FindByValue("Perfil").Selected)
            {
                colspan.ColSpan = colspan.ColSpan - 1;
            }
        }