private void CarregarProjeto(int idProjeto) { fachada = new Fachada(); try { Persistencia.Projeto projeto = fachada.CarregarProjeto(idProjeto); if (projeto != null) { txtNomeProjeto.Text = projeto.proj_nome; txtDescProjeto.Text = projeto.proj_descricao; txtDataInicio.Text = Convert.ToString(projeto.proj_data_inicio.ToShortDateString(), Master.Cultura); txtDataTermino.Text = Convert.ToString(projeto.proj_data_termino.ToShortDateString(), Master.Cultura); ddlStatusProjeto.Text = projeto.proj_status; ddlPrioridadeProjeto.Text = projeto.proj_prioridade; foreach (Competencia comp in projeto.Competencias) { DropDownItem item = new DropDownItem(comp.comp_id, comp.comp_nome); ListaCompetencias.Add(item); ListaCompetenciasOriginal.Add(item); } if (ListaCompetencias.Count > 0) { grvSelecionados.DataSource = ListaCompetencias; grvSelecionados.DataBind(); } } } catch (Exception ex) { Master.OpenErrorModal(ex.Message); } }
private void SelecionarEquipe() { List <UsuarioDTO> listaUsuariosSelecionados = new List <UsuarioDTO>(); int index = 0; foreach (GridViewRow row in grvResultadoPesquisa.Rows) { CheckBox chkSelecionado = row.FindControl("chkSelecionarRecurso") as CheckBox; if (chkSelecionado.Checked) { UsuarioDTO usuarioselecionado = new UsuarioDTO(); // colunas invisiveis no grid não guardam valores pela propriedade row.Cell, portanto foi utilizada para recuperar o Id do usuário os DataKeys. usuarioselecionado.UsuarioID = Convert.ToInt32(grvResultadoPesquisa.DataKeys[index].Value); usuarioselecionado.NomeUsuario = row.Cells[1].Text; usuarioselecionado.SobrenomeUsuario = row.Cells[2].Text; usuarioselecionado.Email = row.Cells[3].Text; usuarioselecionado.Alocado = Convert.ToBoolean(row.Cells[4].Text); listaUsuariosSelecionados.Add(usuarioselecionado); } index += 1; } // validação adicional, pois já foi validado no evento. int NumeroRecursos = Convert.ToInt32(txtNumeroRecursos.Text); if (listaUsuariosSelecionados.Count == NumeroRecursos) { fachada = new Fachada(); int projetoID = Convert.ToInt32(ddlProjeto.SelectedItem.Value); if (projetoID > 0) { Persistencia.Projeto projetoSelecionado = fachada.CarregarProjeto(projetoID); ListaUsuariosSelecionados = listaUsuariosSelecionados; foreach (UsuarioDTO usuario in ListaUsuariosSelecionados) { usuario.DataInicio = projetoSelecionado.proj_data_inicio; usuario.DataTermino = projetoSelecionado.proj_data_termino; } DataInicioProjeto = projetoSelecionado.proj_data_inicio; DataTerminoProjeto = projetoSelecionado.proj_data_termino; grvEquipeSelecionada.DataSource = ListaUsuariosSelecionados; grvEquipeSelecionada.DataBind(); lblLegend.Text = "Confirmar Equipe"; string nomeProjeto = ddlProjeto.SelectedItem.Text; lblEquipeSelecionada.Text = String.Format("Abaixo está a equipe selecionada. Você deseja confirmar esta equipe para o projeto {0} ?", nomeProjeto); divResultadoPesquisa.Visible = false; divSelecionados.Visible = true; } else { Master.OpenWarningModal("É preciso ter um projeto selecionado!"); } } }
// evento que gerencia cada inserção de uma linha do gridView protected void grvGridProjetos_RowDataBound(object sender, GridViewRowEventArgs e) { // verfica se a row é do tipo de dados, pois ela pode ter outros valores if (e.Row.RowType == DataControlRowType.DataRow) { Persistencia.Projeto dataItem = (Persistencia.Projeto)e.Row.DataItem; if (dataItem.proj_usu_id == Master.UsuarioAtual.UsuarioID) { // se o gerente da row do grid for o mesmo gerente que fez a consulta, libera os links para alterar um projeto LinkButton btnEditarProjeto = (LinkButton)e.Row.FindControl("btnEditarProjeto"); btnEditarProjeto.CssClass = ""; btnEditarProjeto.Enabled = true; } } }