Ejemplo n.º 1
0
        /// <summary>
        /// Carrega combos e textos iniciais da tela.
        /// </summary>
        private void CarregarTelaInicial()
        {
            UCComboUAEscola.ObrigatorioUA         =
                UCComboUAEscola.ObrigatorioEscola =
                    UCComboUAEscola.Visible       =
                        VS_permiteCadastroEscola  = ACA_TipoAreaDocumentoBO.GetCadastroEscolaBy_tad_id(VS_tad_id);

            VS_listaArquivoArea = ACA_ArquivoAreaBO.GetSelectBy_tad_id(VS_tad_id);
            VS_listaArquivoArea.ForEach(p => p.id = Guid.NewGuid());

            if (VS_permiteCadastroEscola)
            {
                UCComboUAEscola.Inicializar();

                Dictionary <Guid, List <ACA_ArquivoArea> > dicArquivoUad = (from arquivo in VS_listaArquivoArea.Where(p => p.esc_id > 0 && p.uni_id > 0 && p.uad_idSuperior != Guid.Empty)
                                                                            group arquivo by arquivo.uad_idSuperior into grupo
                                                                            select new
                {
                    chave = grupo.Key
                    ,
                    valor = grupo.ToList()
                }).ToDictionary(p => p.chave, p => p.valor);

                if (UCComboUAEscola.VisibleUA)
                {
                    List <Guid> listaUad = UCComboUAEscola.DdlUA.Items.Cast <ListItem>().Select(p => new Guid(p.Value)).ToList();
                    dicArquivoUad = (from dic in dicArquivoUad
                                     join uad in listaUad on dic.Key equals uad
                                     select dic).ToDictionary(p => p.Key, p => p.Value);

                    if (dicArquivoUad.Any())
                    {
                        UCComboUAEscola.Uad_ID = UCComboUAEscola.Uad_ID == Guid.Empty ? dicArquivoUad.First().Key : UCComboUAEscola.Uad_ID;
                    }
                }

                var listaEscola = UCComboUAEscola.DdlEscola.Items.Cast <ListItem>().Select(p => new { esc_id = Convert.ToInt32(p.Value.Split(';')[0]), uni_id = Convert.ToInt32(p.Value.Split(';')[1]) });
                List <ACA_ArquivoArea> listaArquivoArea = (from arquivo in dicArquivoUad.Where(p => p.Key == uad_idSuperior || (uad_idSuperior == Guid.Empty && !UCComboUAEscola.VisibleUA)).SelectMany(p => p.Value)
                                                           join esc in listaEscola on new { esc_id = arquivo.esc_id, uni_id = arquivo.uni_id } equals new { esc.esc_id, esc.uni_id }
                                                           select arquivo).ToList();

                if (listaArquivoArea.Any())
                {
                    UCComboUAEscola.SelectedValueEscolas = UCComboUAEscola.Esc_ID > 0 ? new int[] { UCComboUAEscola.Esc_ID, UCComboUAEscola.Uni_ID } : new int[] { listaArquivoArea.First().esc_id, listaArquivoArea.First().uni_id };
                }
            }

            UCComboUAEscola.EnableEscolas = UCComboUAEscola.Uad_ID != Guid.Empty || !UCComboUAEscola.VisibleUA;

            Carregar();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// O método carrega os arquivos por escola.
        /// </summary>
        private void Carregar()
        {
            rptDocumentos.DataSource = VS_permiteCadastroEscola ?
                                       VS_listaArquivoArea.Where(p => p.esc_id == esc_id && p.uni_id == uni_id) :
                                       VS_listaArquivoArea;
            rptDocumentos.DataBind();


            if (rptDocumentos.Items.Count == 0)
            {
                AdicionarLinhaRepeater();
            }
            else
            {
                rptDocumentos.Items[rptDocumentos.Items.Count - 1].FindControl("btnAdicionar").Visible = true;
            }

            divDocumentos.Visible = (!VS_permiteCadastroEscola || (VS_permiteCadastroEscola && esc_id > 0));
        }