private void TratarComboTurma(System.Web.UI.WebControls.GridViewRowEventArgs e) { //Procura o dropdownlist de turma nas linhas da grid DropDownList ddlTurma = (DropDownList)e.Row.FindControl("ddlTurma"); //Se encontrou o dropdownlist de turma, seta o status da matricula turma com o status da oferta if (ddlTurma != null) { Dominio.Classes.MatriculaCapacitacao matriculaCapacitacao = (Dominio.Classes.MatriculaCapacitacao)e.Row.DataItem; if (matriculaCapacitacao != null) { WebFormHelper.PreencherLista(new BMTurmaCapacitacao().ObterPorCapacitacao(int.Parse(ddlCapacitacao.SelectedValue)), ddlTurma, false, true); Dominio.Classes.MatriculaTurmaCapacitacao matriculaTurmaCapacitacao = new BMMatriculaTurmaCapacitacao().ObterPorMatriculaCapacitacao(matriculaCapacitacao.ID).FirstOrDefault(); if (matriculaTurmaCapacitacao != null) { WebFormHelper.SetarValorNaCombo(matriculaTurmaCapacitacao.TurmaCapacitacao.ID.ToString(), ddlTurma); } } } }
protected void ddlTurma_SelectedIndexChanged(object sender, EventArgs e) { DropDownList comboTurma = (DropDownList)sender; if (comboTurma != null && comboTurma.SelectedItem != null) { try { //Obtém a linha da grid onde a dropdownlist (combo) de oferta, está contida GridViewRow linhadaGrid = (GridViewRow)comboTurma.NamingContainer; if (linhadaGrid != null) { HiddenField hdfIdMatriculaOferta = (HiddenField)linhadaGrid.FindControl("hdfIdMatriculaOferta"); BMMatriculaCapacitacao bmMatriculaCapacitacao = new BMMatriculaCapacitacao(); DropDownList ddlStatusOferta = (DropDownList)linhadaGrid.FindControl("ddlStatusOferta"); DropDownList ddlTurma = (DropDownList)linhadaGrid.FindControl("ddlTurma"); BMMatriculaTurmaCapacitacao bmMatriculaTurmaCapacitacao = new BMMatriculaTurmaCapacitacao(); MatriculaTurmaCapacitacao matriculaTurmaCapacitacao = bmMatriculaTurmaCapacitacao.ObterPorMatriculaCapacitacao(Convert.ToInt32(hdfIdMatriculaOferta.Value)).FirstOrDefault(); if (matriculaTurmaCapacitacao == null) { matriculaTurmaCapacitacao = new MatriculaTurmaCapacitacao(); } int idTurma = ddlTurma.SelectedIndex > 0 ? int.Parse(ddlTurma.SelectedValue) : 0; if (idTurma > 0 && (matriculaTurmaCapacitacao.TurmaCapacitacao == null || matriculaTurmaCapacitacao.TurmaCapacitacao.ID != idTurma)) { // Alteração otimizada para não precisar realizar uma consulta por um objeto TurmaCapacitacao. // Em vez disso cria um novo, pois tudo que o NHibernate precisa pra alter o ID no banco // é o ID da TurmaCapacitacao. matriculaTurmaCapacitacao.TurmaCapacitacao = new Dominio.Classes.TurmaCapacitacao { ID = idTurma }; if (matriculaTurmaCapacitacao.ID == 0) { matriculaTurmaCapacitacao.DataMatricula = DateTime.Now; matriculaTurmaCapacitacao.MatriculaCapacitacao = new BMMatriculaCapacitacao().ObterPorId(Convert.ToInt32(hdfIdMatriculaOferta.Value)); } bmMatriculaTurmaCapacitacao.Salvar(matriculaTurmaCapacitacao); } else { bmMatriculaTurmaCapacitacao.Excluir(matriculaTurmaCapacitacao); } } WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Dados alterados com sucesso!"); } catch { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Ocorreu um erro na edição, por favor, tente novamente mais tarde!"); } } }