//Carrega funcionarios diponíveis! e limpa a tabela funcionarios alocados. private void CarregaGestores() { //cria o contexto Negocio.gsatOrganogramaDataContext objDs = new Negocio.gsatOrganogramaDataContext(); var Gestores = (from g in objDs.ORG_FUNCIONARIO_ALOCADO where (g.COD_SECAO.Equals( txtCodSuperior.Text)) || (g.COD_SECAO_SUP == txtCodSuperior.Text) || (g.COD_SECAO == txtCodigo.Text) select g).Distinct().ToList<Negocio.ORG_FUNCIONARIO_ALOCADO>(); //cria a tabela local de funcionarios ViewState.Add("FUNCIONARIOS", Gestores); //cria a tabela local de selecionados ViewState.Add("SELECIONADOS", new List<Negocio.ORG_FUNCIONARIO_ALOCADO>()); this.cboGestor.SelectedIndex = -1; }
private void CarregaSubSecoes() { //carrega as seções selecionadas List <SECOES> Secoes_sel = (ViewState["SECOES_SEL"] as List <SECOES>); //Carrega as subseções de acordo com as seções selecionadas. //cria o contexto de dados Negocio.gsatOrganogramaDataContext objDs = new Negocio.gsatOrganogramaDataContext(); //carrega a lista de subseções disponíveis cruzando com a seleção do grid de seções List <SUBSECOES> objSubSecoesDisp = (from s in objDs.ORG_HIERARQUIA.Where(f => f.SUBSECAO == "1").ToList() join filtro in Secoes_sel on s.COD_SECAO_SUP equals filtro.COD_SECAO select new SUBSECOES { COD_SECAO = s.COD_SECAO, DESCRICAO = s.NOME + " " + s.COD_SECAO, EMPRESA = filtro.EMPRESA }).ToList(); //adiciona a lista de subseções disponíveis (seções das empresas selecionadas) na memória ViewState.Add("SUBSECOES_DISP", objSubSecoesDisp); //chama a rotina /p bindar o grid BindaGridSubsecoes(); }
private void CarregaSecoes() { //carrega as empresas selecionadas List <Negocio.ORG_EMPRESA> Empresas_Sel = (ViewState["EMPRESA_SEL"] as List <Negocio.ORG_EMPRESA>); //Carrega as seções de acordo com as empresas selecionadas. //cria o contexto de dados Negocio.gsatOrganogramaDataContext objDs = new Negocio.gsatOrganogramaDataContext(); //carrega a lista de seções disponíveis cruzando com a seleção do grid //TODO:Caso esta função apresente problema de performance (pois em cada atualização, consultarei a lista no banco) //Modificar para carregar toda a lista de seções no momento da primeira carga da página //otimizando assim a maneira de acessar a informação. var objSecoesDisp = (from s in objDs.ORG_LISTA_SECOES_SIMPLES.ToList <Negocio.ORG_LISTA_SECOES_SIMPLES>() join ep in Empresas_Sel on s.COD_EMPRESA equals ep.COD_EMPRESA select new SECOES { COD_EMPRESA = s.COD_EMPRESA, COD_SECAO = s.COD_SECAO, EMPRESA = ep.DESCRICAO, NOME_SECAO = s.NOME_SECAO + " " + s.COD_SECAO }).ToList(); //adiciona a lista de seções disponíveis (seções das empresas selecionadas) na memória ViewState.Add("SECOES_DISP", objSecoesDisp); //chama a rotina /p bindar o grid BindaGridSecoes(); }
private void CarregaSecoes() { //carrega as empresas selecionadas List <Negocio.ORG_EMPRESA> Empresas_Sel = (ViewState["EMPRESA_SEL"] as List <Negocio.ORG_EMPRESA>); //Carrega as seções de acordo com as empresas selecionadas. //cria o contexto de dados Negocio.gsatOrganogramaDataContext objDs = new Negocio.gsatOrganogramaDataContext(); //carrega a lista de seções disponíveis cruzando com a seleção do grid var objSecoesDisp = (from s in objDs.ORG_LISTA_SECOES_SIMPLES.ToList <Negocio.ORG_LISTA_SECOES_SIMPLES>() join ep in Empresas_Sel on s.COD_EMPRESA equals ep.COD_EMPRESA where ((s.DIRETORIA.Equals(IncluirDiretorias ? "1" : "0")) || (s.DIRETORIA.Equals(IncluirSecoes ? "0" : "1"))) && (objDs.ORG_HIERARQUIA.Where(f => f.COD_SECAO_SUP.Equals(s.COD_SECAO)).Count()) > (SomenteSuperiores? 0 : -1) select new SECOES { COD_EMPRESA = s.COD_EMPRESA, COD_SECAO = s.COD_SECAO, EMPRESA = ep.DESCRICAO, NOME_SECAO = s.NOME_SECAO + " " + s.COD_SECAO }).ToList(); //adiciona a lista de seções disponíveis (seções das empresas selecionadas) na memória ViewState.Add("SECOES_DISP", objSecoesDisp); //chama a rotina /p bindar o grid BindaGridSecoes(); }
protected void cboSecaoSuperior_SelectedIndexChanged(object sender, EventArgs e) { this.txtCodSuperior.Text = cboSecaoSuperior.SelectedItem.Value.ToString(); //cria o contexto Negocio.gsatOrganogramaDataContext objDs = new Negocio.gsatOrganogramaDataContext(); //carrega as subseções com a mesma seção superior /p gerar o codigo automaticamente var subsecoes = (from s in objDs.ORG_HIERARQUIA where s.COD_SECAO_SUP== txtCodSuperior.Text && s.SUBSECAO.Equals("1") select s).OrderByDescending(f => f.COD_SECAO ).FirstOrDefault(); if (subsecoes == null) //primeira subseção { txtCodigo.Text = cboSecaoSuperior.SelectedItem.Value + ".01"; } else //acrescentar uma subceção { txtCodigo.Text = txtCodSuperior.Text + "." + (Convert.ToInt32(subsecoes.COD_SECAO.Substring(subsecoes.COD_SECAO.Length - 2)) + 1).ToString().PadLeft(2,'0'); } //preenche a diretoria var diretoria = (from d in objDs.ORG_LISTA_SECOES where d.COD_SECAO == txtCodSuperior.Text select d.DIRETORIA).FirstOrDefault(); txtDiretoria.Text = diretoria != null ? diretoria : string.Empty; //atualiza os GRIS de Pessoas disponíveis pra ser gestor CarregaGestores(); //atualiza os Grids e todo resto BindaCombos(); }
private void CarregaEmpresas() { //Cria o contexto de dados Negocio.gsatOrganogramaDataContext objDs = new Negocio.gsatOrganogramaDataContext(); //cria o obj de saída List <Negocio.ORG_EMPRESA> objEmp = objDs.ORG_EMPRESA.ToList(); //Grava a tabela na seção ViewState.Add("EMPRESA", objEmp); //Grava a tabela de selecionados na seção List <Negocio.ORG_EMPRESA> objEmpSel = new List <Negocio.ORG_EMPRESA>(); ViewState.Add("EMPRESA_SEL", objEmpSel); }
//deve ser executado em toda mudança do combobox de seção superior private void CarregaSessoes() { //cria o contexto Negocio.gsatOrganogramaDataContext objDs = new Negocio.gsatOrganogramaDataContext(); //Carrega os combos de seções superiores var objSecoesSup = (from s in objDs.ORG_LISTA_SECOES_SIMPLES select s).Distinct(); this.cboSecaoSuperior.DataSource = objSecoesSup; this.cboSecaoSuperior.TextField = "NOME_SECAO"; this.cboSecaoSuperior.ValueField = "COD_SECAO"; this.cboSecaoSuperior.DataBind(); }