protected void gvPesquisa_RowCommand(object sender, GridViewCommandEventArgs e) { try { if (e.CommandName == "Matricular") { int alunoID = int.Parse(e.CommandArgument.ToString()); var consulta = (from p in bd.db._GEM_Matriculas where p.alunoID == alunoID && p._GEM.status == 2 //verifica se o aluno já está matriculado em uma GEM ativa select p).ToList(); if (consulta.Count > 0) { ClientScript.RegisterStartupScript(GetType(), "alerta", "alert('Aluno já matriculado na GEM id: " + consulta[0].gemID.ToString() + ". Consulte o suporte para mais informações!');", true); } else { var matricula = new _GEM_Matricula(); matricula.alunoID = alunoID; matricula.data = app.DateTimeCorrigido(); matricula.gemID = idGem; matricula.statusID = 1; bd.db._GEM_Matriculas.InsertOnSubmit(matricula); var gem = (from p in bd.db._GEMs where p.Id == idGem select p).Single(); gem.status = 2; var aluno = (from p in bd.db._alunos where p.id == alunoID select p).Single(); if (aluno.matricula == null) { aluno.matricula = GeraMatricula(idGem, gem.periodoID.Value, alunoID).ToString(); } bd.db.SubmitChanges(); //lança no log _user usuarioLogado = (_user)Session["usuarioLogado"]; log.AdicionarEntrada(26, usuarioLogado.id, 6, "", 1, 0); CarregaForm(); txtNome.Text = string.Empty; gvPesquisa.DataSource = null; gvPesquisa.DataBind(); ClientScript.RegisterStartupScript(GetType(), "alerta", "alert('Matrícula realizada com sucesso!');", true); } } } catch (Exception e3) { ClientScript.RegisterStartupScript(GetType(), "alerta", "alert('" + e3.Message + "');", true); } }
private void TransferirAluno() { try { string novaGemDdl = ddlNovaGem.Text; string[] novagenDdlSplit = novaGemDdl.Split('-'); string municipio = novagenDdlSplit[0].Trim(); string igreja = novagenDdlSplit[1].Trim(); string nipe = novagenDdlSplit[2].Trim(); string periodo = novagenDdlSplit[3].Trim(); int alunoID = int.Parse(lblAlunoId.Text); ////!!!! AQUI FALTA CHECAR SE O ALUNO PODE OU NÃO SER TRANSFERIDO!!! var novaGem = (from p in bd.db._GEMs where p._municipio.descricao == municipio && p._igreja.descricao == igreja && p._instrumentoNipe.descricao == nipe && p._GEM_Periodo.descricao == periodo select p).Single(); //checa se esse aluno já esteve nessa GEMM var matriculaAnteriores = (from p in bd.db._GEM_Matriculas where p.alunoID == alunoID && p.gemID == novaGem.Id && p.statusID == 5 select p).ToList(); var matricula = (from p in bd.db._GEM_Matriculas where p.alunoID == alunoID && p.gemID == idGem && p.statusID == 1 select p).Single(); if (matriculaAnteriores.Count() > 0) { //aluno já esteve nessa gem matricula.statusID = 5; //muda o status da matricula atual para matricula transferida var matriculaAnteriores2 = (from p in bd.db._GEM_Matriculas where p.alunoID == alunoID && p.gemID == novaGem.Id && p.statusID == 5 select p).Single(); matriculaAnteriores2.statusID = 1; bd.db.SubmitChanges(); //lança no log _user usuarioLogado = (_user)Session["usuarioLogado"]; log.AdicionarEntrada(51, usuarioLogado.id, 6, "", 1, 0); CarregaForm(); fdsPesquisa.Visible = true; fdsAlunosMatriculados.Visible = true; fdsTransferir.Visible = false; hlBackMatricula.Visible = false; ClientScript.RegisterStartupScript(GetType(), "alerta", "alert('Matrícula transferida com sucesso!');", true); } else { matricula.statusID = 5; //muda o status da matricula atual para matricula transferida //gerar nova matricula var novaMatricula = new _GEM_Matricula(); novaMatricula.alunoID = alunoID; novaMatricula.data = app.DateTimeCorrigido(); novaMatricula.gemID = novaGem.Id; novaMatricula.statusID = 1; bd.db._GEM_Matriculas.InsertOnSubmit(novaMatricula); bd.db.SubmitChanges(); //lança no log _user usuarioLogado = (_user)Session["usuarioLogado"]; log.AdicionarEntrada(51, usuarioLogado.id, 6, "", 1, 0); CarregaForm(); fdsPesquisa.Visible = true; fdsAlunosMatriculados.Visible = true; fdsTransferir.Visible = false; hlBackMatricula.Visible = false; ClientScript.RegisterStartupScript(GetType(), "alerta", "alert('Matrícula transferida com sucesso!');", true); } } catch (Exception e3) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alerta", "alert('" + e3.Message + "');", true); } }