private void validaNotasMatricula(MatriculaTurma matriculaTurma) { if (matriculaTurma.Turma.InAvaliacaoAprendizagem) { if (matriculaTurma.MatriculaOferta.StatusMatricula == enumStatusMatricula.Aprovado) { if (matriculaTurma.Nota1 != null && (matriculaTurma.Nota1 < 0 || matriculaTurma.Nota1 > 10)) { throw new AcademicoException("O campo Nota 1 deve ser um numero entre 0 e 10."); } if (matriculaTurma.Nota2 != null && (matriculaTurma.Nota2 < 0 || matriculaTurma.Nota2 > 10)) { throw new AcademicoException("O campo Nota 2 deve ser um numero entre 0 e 10."); } if (matriculaTurma.MediaFinal == null || (matriculaTurma.MediaFinal < 0 || matriculaTurma.MediaFinal > 10)) { throw new AcademicoException("O campo Média Final deve ser um numero entre 0 e 10."); } if (matriculaTurma.MediaFinal < (double)matriculaTurma.Turma.NotaMinima) { throw new AcademicoException(string.Format("A(s) nota(s) informada(s) deve(m) ser maior ou igual a {0}", matriculaTurma.Turma.NotaMinima)); } } } }
/// <summary> /// Verifica se existem pendências de resposta do questionário informado /// </summary> /// <param name="matricula"></param> /// <param name="mtOferta"></param> /// <param name="tipoQuestionario"></param> /// <returns></returns> public bool VerificarQuestionarioPendente(MatriculaTurma matricula, MatriculaOferta mtOferta, enumTipoQuestionarioAssociacao tipoQuestionario) { if (matricula.Turma.ListaQuestionarioAssociacao.Count > 0) { var questionarioAssociacao = matricula.Turma.ListaQuestionarioAssociacao.FirstOrDefault( x => x.TipoQuestionarioAssociacao.ID == (int)tipoQuestionario); if (questionarioAssociacao != null) { if ( !(new BMQuestionarioParticipacao().ObterPorUsuario(mtOferta.Usuario) .Any( x => x.TipoQuestionarioAssociacao.ID == (int)tipoQuestionario && x.Turma.ID == mtOferta.MatriculaTurma.FirstOrDefault().Turma.ID&& x.DataParticipacao != null))) { return(true); } } } return(false); }
internal void PreencherCamposDaMatriculaTurma(MatriculaTurma matriculaTurma) { if (matriculaTurma != null) { this.PrepararTelaParaEdicaoDeUmaTurma(matriculaTurma); } }
private void EfetuarMatricula(Usuario usuarioLogado, Dominio.Classes.Oferta oferta, Usuario usuario, ManterMatriculaOferta manterMatriculaOferta, ManterMatriculaTurma manterMatriculaTurma) { var novaMatriculaOferta = new MatriculaOferta { Auditoria = new Auditoria(usuarioLogado.CPF), Oferta = oferta, Usuario = usuario, StatusMatricula = enumStatusMatricula.Inscrito, UF = usuario.UF, NivelOcupacional = usuario.NivelOcupacional, DataSolicitacao = DateTime.Today }; manterMatriculaOferta.Salvar(novaMatriculaOferta); var novaMatriculaTurma = new MatriculaTurma { Auditoria = new Auditoria(usuarioLogado.CPF), Turma = oferta.ListaTurma.FirstOrDefault(t => Helpers.Util.ObterVigente(t.DataInicio, t.DataFinal)), MatriculaOferta = novaMatriculaOferta, DataMatricula = DateTime.Today }; novaMatriculaTurma.DataLimite = novaMatriculaTurma.CalcularDataLimite(); manterMatriculaTurma.Salvar(novaMatriculaTurma); }
private MatriculaTurma ObterObjetoMatriculaTurma(int idMatriculaOferta) { var matriculaOferta = new BMMatriculaOferta().ObterPorID(idMatriculaOferta); MatriculaTurma matriculaTurma = new MatriculaTurma(); /* * Demanda #3474 * * usuários com perfis de gestores UC e administradores, podem fazer inscrições de alunos fora do prazo de inscrição estipulado pela oferta. */ if (matriculaOferta != null && matriculaOferta.MatriculaTurma != null) { matriculaTurma = matriculaOferta.MatriculaTurma.FirstOrDefault(); } else { matriculaTurma = new MatriculaTurma { Turma = new BMTurma().ObterPorID(int.Parse(ddlTurma.SelectedValue)), MatriculaOferta = matriculaOferta, DataMatricula = IsAdminOrGestorUc && !string.IsNullOrEmpty(txtDataInscricao.Text) ? Convert.ToDateTime(txtDataInscricao.Text) : DateTime.Now, //Demanda #3474 DataTermino = IsAdminOrGestorUc && !string.IsNullOrEmpty(txtDataConclusao.Text) ? Convert.ToDateTime(txtDataConclusao.Text) : DateTime.Now //Demanda #3474 }; } if (!string.IsNullOrEmpty(txtJustificativa.Text)) { matriculaTurma.Observacao = txtJustificativa.Text; } var informarDataInscricao = matriculaTurma.Turma.Oferta.DataInicioInscricoes.HasValue && matriculaTurma.Turma.Oferta.DataFimInscricoes.HasValue && matriculaTurma.DataMatricula.Between( matriculaTurma.Turma.Oferta.DataInicioInscricoes.Value.Date, matriculaTurma.Turma.Oferta.DataFimInscricoes.Value.Date); if (!informarDataInscricao) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, matriculaTurma.Turma.Oferta.DataInicioInscricoes.HasValue && matriculaTurma.Turma.Oferta.DataFimInscricoes.HasValue ? "Data de Matrícula deve ser entre " + matriculaTurma.Turma.Oferta.DataInicioInscricoes.Value.Date.ToString("dd/MM/yyyy") + " e " + matriculaTurma.Turma.Oferta.DataFimInscricoes.Value.Date.ToString("dd/MM/yyyy") : "Data de Matrícula inválida."); return(null); } matriculaTurma.DataLimite = matriculaTurma.CalcularDataLimite(matriculaOferta.Oferta); return(matriculaTurma); }
public IQueryable <MatriculaTurma> ObterPorFiltro(MatriculaTurma matriculaTurma) { var query = repositorio.session.Query <MatriculaTurma>(); if (matriculaTurma.DataLimite != DateTime.MinValue) { query = query.Where(x => x.DataLimite.AddDays(1).Date == matriculaTurma.DataLimite.Date); } if (matriculaTurma.MatriculaOferta.Usuario != null) { query = query.Where(x => x.MatriculaOferta.Usuario.ID == matriculaTurma.MatriculaOferta.Usuario.ID); } if (matriculaTurma.Turma != null) { query = query.Where(x => x.Turma.ID == matriculaTurma.Turma.ID); } if (matriculaTurma.MatriculaOferta != null) { query = query.Where(x => x.MatriculaOferta.ID == matriculaTurma.MatriculaOferta.ID); } return(query); }
public JsonResult Excluir(int id) { Matricula matricula = dbMatricula.FindOne(cur => cur.idMatricula == id); Aluno aluno = dbAluno.FindOne(x => x.idAluno == matricula.idAluno); MatriculaTurma matriculaTurma = dbMatriculaTurma.FindOne(x => x.idMatricula == matricula.idMatricula); Cobranca cobranca = dbCobranca.FindOne(x => x.idAluno == aluno.idAluno && x.idTaxa == 1); Turma turma = dbTurma.FindOne(x => x.idTurma == matriculaTurma.idTurma); try { dbCobranca.Remover(cobranca); dbCobranca.SaveChanges(); dbMatriculaTurma.Remover(matriculaTurma); dbMatriculaTurma.SaveChanges(); dbMatricula.Remover(matricula); dbMatricula.SaveChanges(); dbAluno.Remover(aluno); dbAluno.SaveChanges(); turma.vagasOcupadas -= 1; dbTurma.Atualizar(turma); dbTurma.SaveChanges(); return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { success = false, message = e.Message }, JsonRequestBehavior.AllowGet)); } }
private string MatricularAlunoNaTurma(int idMatriculaOferta, int idTurma) { string retorno = "Ocorreu um erro no processo"; MatriculaOferta matriculaOferta = new ManterMatriculaOferta().ObterMatriculaOfertaPorID(idMatriculaOferta); if (matriculaOferta != null) { MatriculaTurma matriculaTurma = this.ObterObjetoMatriculaTurma(idTurma, matriculaOferta); ManterMatriculaOferta manterMatriculaOferta = new ManterMatriculaOferta(); if (matriculaOferta.MatriculaTurma.Count == 0) { matriculaOferta.MatriculaTurma.Add(matriculaTurma); } else { matriculaOferta.MatriculaTurma[0] = matriculaTurma; } manterMatriculaOferta.AtualizarMatriculaOferta(matriculaOferta); retorno = string.Format("O usuário '{0}' foi matriculado na turma '{1}'", matriculaOferta.Usuario.Nome, matriculaTurma.Turma.Nome); } return(retorno); }
protected void btnEnviar_Click(object sender, EventArgs e) { try { MatriculaTurma matriculaTurma = this.ObterObjetoMatriculaTurma(); ManterMatriculaTurma manterMatriculaTurma = new ManterMatriculaTurma(); validaNotasMatricula(matriculaTurma); if (matriculaTurma.Turma.Oferta.TipoOferta != enumTipoOferta.Continua && matriculaTurma.DataTermino > matriculaTurma.DataLimite) { throw new AcademicoException("A Data de Conclusão não pode ser maior que a Data Limite da Turma."); } var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); matriculaTurma.Auditoria = new Auditoria(usuarioLogado.CPF); manterMatriculaTurma.AlterarMatriculaTurma(matriculaTurma); if (MatriculouAlunoEmUmaTurma != null) { MatriculouAlunoEmUmaTurma(this, new MatricularAlunoEmUmaTurmaEventArgs(matriculaTurma)); } } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); return; } }
public MatriculaTurma ObterMatriculaTurma(int idUsuario, int idTurma) { var query = repositorio.session.Query <MatriculaTurma>(); MatriculaTurma matriculaTurma = query.FirstOrDefault(x => x.MatriculaOferta.Usuario.ID == idUsuario && x.Turma.ID == idTurma); return(matriculaTurma); }
private void MatricularNovoUsuarioEmCursosObrigatorios(Usuario usuario) { try { var listaSolucoesEducacionais = new ManterSolucaoEducacional().ObterObrigatorios(usuario.NivelOcupacional) .Select(x => x.SolucaoEducacional); foreach (var solucaoEducacional in listaSolucoesEducacionais) { //VER SE O USUÁRIO JÁ ESTÁ MATRICULADO if (usuario.ListaMatriculaOferta.All(x => x.Oferta.SolucaoEducacional != solucaoEducacional)) { var oferta = solucaoEducacional.ListaOferta.FirstOrDefault( x => Helpers.Util.ObterVigente(x.DataInicioInscricoes, x.DataFimInscricoes) && x.ListaTurma.Any(t => Helpers.Util.ObterVigente(t.DataInicio, t.DataFinal))); var novaMatriculaOferta = new MatriculaOferta { Auditoria = new Auditoria(new ManterUsuario().ObterUsuarioLogado().CPF), Oferta = oferta, Usuario = usuario, StatusMatricula = enumStatusMatricula.Inscrito, UF = usuario.UF, NivelOcupacional = usuario.NivelOcupacional, DataSolicitacao = DateTime.Today }; new ManterMatriculaOferta().Salvar(novaMatriculaOferta); if (oferta == null) { continue; } var novaMatriculaTurma = new MatriculaTurma { Auditoria = new Auditoria(new ManterUsuario().ObterUsuarioLogado().CPF), Turma = oferta.ListaTurma.FirstOrDefault( t => Helpers.Util.ObterVigente(t.DataInicio, t.DataFinal)), MatriculaOferta = novaMatriculaOferta, DataMatricula = DateTime.Today }; novaMatriculaTurma.DataLimite = novaMatriculaTurma.CalcularDataLimite(); new ManterMatriculaTurma().Salvar(novaMatriculaTurma); } } } catch (Exception) { // ignored } }
public DTO.Services.RetornoWebService EntrarNaFilaDeEspera(int pUsuario, int idOferta) { try { var usuario = new BMUsuario().ObterPorId(pUsuario); var oferta = new BMOferta().ObterPorId(idOferta); if (EstaInscrito(pUsuario, idOferta)) { return(new DTO.Services.RetornoWebService { Erro = 0, Mensagem = "Já Inscrito" }); } var matriculaOferta = new MatriculaOferta { Usuario = usuario, Oferta = oferta, StatusMatricula = enumStatusMatricula.FilaEspera, UF = usuario.UF, NivelOcupacional = usuario.NivelOcupacional, DataSolicitacao = DateTime.Now, Auditoria = new Auditoria(usuario.CPF) }; new BMMatriculaOferta().Salvar(matriculaOferta); var matriculaTurma = new MatriculaTurma { Turma = oferta.ListaTurma.FirstOrDefault(), MatriculaOferta = matriculaOferta, DataMatricula = DateTime.Now, Auditoria = new Auditoria(usuario.CPF) }; matriculaTurma.DataLimite = matriculaTurma.CalcularDataLimite(matriculaOferta.Oferta); new BMMatriculaTurma().Salvar(matriculaTurma); EnvialEmailFilaEspera(usuario); return(new DTO.Services.RetornoWebService { Erro = 0, Mensagem = "Success" }); } catch (Exception ex) { return(new DTO.Services.RetornoWebService { Erro = 1, Mensagem = "Falha", Stack = ex.Message }); } }
protected void Setup() { oferta = new Oferta { ID = 1, DiasPrazo = 5, TipoOferta = Academico.Dominio.Enumeracao.enumTipoOferta.Continua, Nome = "Oferta Test" }; turma = new Turma { ID = 1, Nome = "TURMA 1", DataInicio = DateTime.Today.AddDays(-1), DataFinal = DateTime.Today.AddDays(10), Oferta = oferta }; matriculaOferta = new MatriculaOferta { ID = 1, Oferta = oferta }; matriculaTurma = new MatriculaTurma { ID = 1, DataMatricula = DateTime.Today, DataLimite = DateTime.Today.AddDays(10), DataTermino = DateTime.Today.AddDays(5), MatriculaOferta = matriculaOferta, Turma = turma }; turmaFechada = new Turma { ID = 2, Nome = "TURMA 2", DataInicio = DateTime.Today.AddDays(-30), DataFinal = DateTime.Today.AddDays(-10), Oferta = oferta }; matriculaTurmaFechada = new MatriculaTurma { ID = 2, DataMatricula = DateTime.Today.AddDays(-10), DataLimite = DateTime.Today.AddDays(10), DataTermino = DateTime.Today.AddDays(5), MatriculaOferta = matriculaOferta, Turma = turmaFechada }; }
public void AlterarMatriculaTurma(MatriculaTurma pMatriculaTurma) { try { bmMatriculaTurma.Salvar(pMatriculaTurma); } catch (AcademicoException ex) { throw ex; } }
private void TransferirInformacoesDeUmaTurmaParaOutra(MatriculaTurma pTurmaAnterior, MatriculaTurma pNovaTurma) { pNovaTurma.Nota1 = pTurmaAnterior.Nota1; pNovaTurma.Nota2 = pTurmaAnterior.Nota2; pNovaTurma.MediaFinal = pTurmaAnterior.MediaFinal; //pNovaTurma.StatusMatricula = pTurmaAnterior.StatusMatricula; pNovaTurma.Turma = pTurmaAnterior.Turma; //pNovaTurma.Usuario = pTurmaAnterior.Usuario; pNovaTurma.DataLimite = pTurmaAnterior.DataLimite; pNovaTurma.DataMatricula = DateTime.Now; }
public void PrepararTelaParaEdicaoDeUmaTurma(MatriculaTurma matriculaTurma) { if (matriculaTurma != null) { this.IdMatriculaTurma = matriculaTurma.ID; this.PreencherInformacoesDaMatriculaTurma(matriculaTurma); this.ExibirPanelDeProvasRealizadas(); PreencherGridComProvasRealizadas(matriculaTurma); } }
private void PreencherGridComProvasRealizadas(MatriculaTurma matriculaTurma) { try { ManterQuestionarioParticipacao manterQuestionarioParticipacao = new ManterQuestionarioParticipacao(); //IList<QuestionarioParticipacao> ListaProvasDoUsuario = manterQuestionarioParticipacao.ObterProvasDaTrilhaDoUsuario(usuarioTrilha.Usuario.ID, usuarioTrilha.TrilhaNivel.ID); IList <QuestionarioParticipacao> ListaProvasDoUsuario = manterQuestionarioParticipacao.ObterProvasDaTurmaDoUsuario(matriculaTurma.MatriculaOferta.Usuario.ID, matriculaTurma.Turma.ID); WebFormHelper.PreencherGrid(ListaProvasDoUsuario, this.dgvProvasRealizadas); } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } }
public IList <MatriculaTurma> ListaMatriulaTurmaPorId(int id) { string query = @"SELECT t.Id, m.Nome, m.DataNascimento, m.CPF, m.RG, m.Telefone, m.CEP, m.Endereco, m.Numero, m.Bairro , m.Cidade, m.Estado, t.Descricao, t.Tipo, c.Nome Colaborador, t.DiaDaSemana, t.HorarioInicial, t.HorarioFinal FROM Matriculas m JOIN MatriculaTurma mt ON m.Id = mt.IdMatricula JOIN Turmas t ON t.id = mt.IdTurma JOIN Colaboradores c ON c.Id = t.ColaboradorId WHERE m.Id = @ID"; List <MatriculaTurma> lista = new List <MatriculaTurma>(); using (var con = new SqlConnection(stringConexao)) { con.Open(); SqlCommand cmd = new SqlCommand(query, con); cmd.Parameters.AddWithValue("@ID", id); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.HasRows) { while (sdr.Read()) { var matricula = new MatriculaTurma { Id = Convert.ToInt32(sdr["Id"]), DataNascimento = sdr["DataNascimento"].ToString(), CPF = sdr["CPF"].ToString(), RG = sdr["RG"].ToString(), Telefone = sdr["Telefone"].ToString(), CEP = sdr["CEP"].ToString(), Endereco = sdr["Endereco"].ToString(), Numero = sdr["Numero"].ToString(), Bairro = sdr["Bairro"].ToString(), Cidade = sdr["Cidade"].ToString(), Estado = sdr["Estado"].ToString(), Colaborador = sdr["Colaborador"].ToString(), Descricao = sdr["Descricao"].ToString(), Tipo = sdr["Tipo"].ToString(), DiaDaSemana = sdr["DiaDaSemana"].ToString(), HorarioInicial = sdr["HorarioInicial"].ToString(), HorarioFinal = sdr["HorarioFinal"].ToString(), Nome = sdr["Nome"].ToString() }; lista.Add(matricula); } } } return(lista); }
/// <summary> /// Atualiza a data início e data fim do curso no histórico acadêmico /// </summary> /// <param name="matricula"></param> /// <param name="historico"></param> /// <returns></returns> public void preencherDataInicioDataFimCurso(MatriculaTurma matricula, Oferta oferta, ref DTOItemHistoricoAcademico historico) { if (oferta.TipoOferta != enumTipoOferta.Continua) { historico.DataInicio = matricula.Turma.DataInicio.ToString("dd/MM/yyyy"); historico.DataFim = matricula.Turma.DataFinal.HasValue ? matricula.Turma.DataFinal.Value.ToString("dd/MM/yyyy") : ""; } else { historico.DataInicio = matricula.DataMatricula.ToString("dd/MM/yyyy"); historico.DataFim = matricula.DataTermino.HasValue ? matricula.DataTermino.Value.ToString("dd/MM/yyyy") : ""; } }
/// <summary> /// Consulta a quantidade de itens questionário agrupados /// </summary> /// <param name="matricula"></param> /// <returns></returns> public int ConsultarQuantidadeItensQuestionarioAssociados(MatriculaTurma matricula) { if (matricula.Turma.ListaQuestionarioAssociacao.Count > 0) { var itemQuestionarioAssociacaoEficacia = matricula.Turma.ListaQuestionarioAssociacao.FirstOrDefault( x => x.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Eficacia); if (itemQuestionarioAssociacaoEficacia != null) { int quantidade = new ManterQuestionario().QuantidadeQuestionariosAgrupados(itemQuestionarioAssociacaoEficacia.Questionario); return(quantidade > 0 ? quantidade : 1); } } return(1); }
/* * private void PrepararTelaDeTurmaParaEdicao(int idTurma) * { * ucTurma1.LimparCampos(); * ucTurma1.CarregarLoad = true; * ucTurma1.CarregarDados(); * ucTurma1.EsconderBotaoSalvar(); * * * var turma = ucTurma1.ObterTurma(idTurma); * * ucTurma1.PreencherCampos(turma); * * ExibirModalTurma(); * } */ //Atualiza o status da mátricula no curso do moodle do usuário private void AtualizarStatusUsuarioTurma(MatriculaTurma matriculaTurma) { var matriculaOferta = matriculaTurma.MatriculaOferta.Oferta; if (matriculaOferta.SolucaoEducacional.Fornecedor.ID == (int)enumFornecedor.MoodleSebrae) { try { var response = new Sebrae.Academico.BP.Services.SgusWebService.ManterSolucaoEducacionalService().AtualizarStatusMatriculaAlunoMoodle( matriculaTurma.MatriculaOferta.Usuario.CPF, matriculaOferta.IDChaveExterna, (int)matriculaTurma.MatriculaOferta.StatusMatricula); } catch (Exception e) { throw new AcademicoException("Erro ao tentar atualizar staus no Moodle " + e.Message); } } }
//Inserir registro de acordo com a Quantidade maxima de envio calculando o intervalo de envio de 7 em 7 dias public void Inserir(MatriculaTurma matriculaTurma) { int qtdMaxEnvio = 3; int qtdIntervaloEnvio = 7; DateTime agora = DateTime.Now; for (int i = 0; i < qtdMaxEnvio; i++) { double qtdDia = (i == 0) ? i : (qtdIntervaloEnvio * i); var questionarioAssociacaoEnvio = new QuestionarioAssociacaoEnvio(); questionarioAssociacaoEnvio.Ativo = true; questionarioAssociacaoEnvio.DataEnvio = agora.AddDays(qtdDia); questionarioAssociacaoEnvio.Usuario = matriculaTurma.MatriculaOferta.Usuario; questionarioAssociacaoEnvio.QuestionarioAssociacao = matriculaTurma.Turma.ListaQuestionarioAssociacao.FirstOrDefault( y => y.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pos); bmQuestionarioAssociacaoEnvio.Salvar(questionarioAssociacaoEnvio); } }
public IList <MatriculaTurma> ListaMatriculaTurma() { string query = @"select t.Id, count(1) Quantidade, t.Descricao, t.Tipo, t.DiaDaSemana, t.HorarioInicial, t.HorarioFinal, c.Nome from turmas t JOIN Colaboradores c ON t.ColaboradorId = c.Id GROUP BY t.Id, t.Descricao, t.Tipo, t.DiaDaSemana, t.HorarioInicial, t.HorarioFinal, c.Nome"; var lista = new List <MatriculaTurma>(); using (var con = new SqlConnection(stringConexao)) { con.Open(); SqlCommand cmd = new SqlCommand(query, con); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.HasRows) { MatriculaTurma model; while (sdr.Read()) { model = new MatriculaTurma { Id = Convert.ToInt32(sdr["Id"]) , Quantidade = Convert.ToInt32(sdr["Quantidade"]) , Descricao = sdr["Descricao"].ToString() , Tipo = sdr["Tipo"].ToString() , DiaDaSemana = sdr["DiaDaSemana"].ToString() , HorarioInicial = sdr["HorarioInicial"].ToString() , HorarioFinal = sdr["HorarioFinal"].ToString() , Nome = sdr["Nome"].ToString() }; lista.Add(model); } } } return(lista); }
public void IncluirMatriculaTurma(MatriculaTurma matriculaTurma) { try { matriculaTurma.DataMatricula = DateTime.Now; if (matriculaTurma.ID == 0) { //Se if tipooferta == normal || exclusiva var bmOferta = new BMOferta(); var oferta = bmOferta.ObterPorTurma(matriculaTurma.Turma.ID); if (oferta != null) { matriculaTurma.DataLimite = matriculaTurma.CalcularDataLimite(oferta); } //Insere, ou seja, matricula o usuário na turma bmMatriculaTurma.Salvar(matriculaTurma); } else { //Atualiza var turmaAnterior = bmMatriculaTurma.ObterMatriculaTurma(matriculaTurma.MatriculaOferta.Usuario.ID, matriculaTurma.TurmaAnterior.ID); if (turmaAnterior != null) { //Passa os dados de uma Turma para a nova Turma //this.TransferirInformacoesDeUmaTurmaParaOutra(turmaAnterior, pMatriculaTurma); turmaAnterior.Turma = new BMTurma().ObterPorID(matriculaTurma.Turma.ID); bmMatriculaTurma.Salvar(matriculaTurma); } } } catch (AcademicoException ex) { throw ex; } }
public string VincularAluno(int idMatriculaTurma) { MatriculaTurma matriculaTurma = dbMatriculaTurma.FindOne(x => x.idMatriculaTurma == idMatriculaTurma); Matricula matricula = dbMatricula.FindOne(x => x.idMatricula == matriculaTurma.idMatricula); Turma turma = dbTurma.FindOne(x => x.idTurma == matriculaTurma.idTurma); Taxa taxa = dbTaxa.FindOne(x => x.idTaxa == 1); Cobranca cobranca = new Cobranca(); cobranca.idTaxa = 1; cobranca.idAluno = matricula.idAluno; cobranca.statusPagamento = (int)EnumStatus.NaoPago; cobranca.valorTotal = taxa.valor; cobranca.juros = 0; cobranca.dataVencimento = DateTime.Now.AddDays(5); cobranca.idCurso = turma.idCurso; matricula.tipo = "matricula"; turma.vagasOcupadas++; try { dbCobranca.Adicionar(cobranca); dbCobranca.SaveChanges(); dbMatricula.Atualizar(matricula); dbMatricula.SaveChanges(); dbTurma.Atualizar(turma); dbTurma.SaveChanges(); return("Sim"); } catch { return("Não"); } }
private MatriculaTurma ObterObjetoMatriculaTurma(int idTurma, MatriculaOferta matriculaOferta) { MatriculaTurma matriculaTurma = null; if (matriculaOferta.MatriculaTurma != null && matriculaOferta.MatriculaTurma.Count > 0) { matriculaTurma = matriculaOferta.MatriculaTurma.FirstOrDefault(); } //Se o usuário não estiver matriculado em nenhuma turma, preenche o objeto matricula turma com os dados da oferta. if (matriculaTurma == null) { matriculaTurma = new MatriculaTurma { MatriculaOferta = matriculaOferta, Turma = new ManterTurma().ObterTurmaPorID(idTurma), DataMatricula = DateTime.Now }; matriculaTurma.DataLimite = matriculaTurma.CalcularDataLimite(matriculaOferta.Oferta); } else { //Troca a turma, pois o usuário informou uma nova turma int idTurmaEscolhidaNaCombo = idTurma; if (!matriculaTurma.ID.Equals(idTurmaEscolhidaNaCombo)) { matriculaTurma.TurmaAnterior = matriculaTurma.Turma; /* Troca a Turma do usuário (ou seja, matricula o aluno em uma nova turma), * pois ele escolheu uma nova turma na combo.*/ matriculaTurma.Turma = new ManterTurma().ObterTurmaPorID(idTurma); } } return(matriculaTurma); }
public JsonResult ExcluirPreMatricula(int id) { Matricula matricula = dbMatricula.FindOne(cur => cur.idMatricula == id); Aluno aluno = dbAluno.FindOne(x => x.idAluno == matricula.idAluno); MatriculaTurma matriculaTurma = dbMatriculaTurma.FindOne(x => x.idMatricula == matricula.idMatricula); try { dbMatriculaTurma.Remover(matriculaTurma); dbMatriculaTurma.SaveChanges(); dbMatricula.Remover(matricula); dbMatricula.SaveChanges(); dbAluno.Remover(aluno); dbAluno.SaveChanges(); return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { success = false, message = e.Message }, JsonRequestBehavior.AllowGet)); } }
public void MatricularSolucaoEducacional(int idUsuario, int idSolucaoEducacional, int idOferta, List <int> pListaIdMetaIndividualAssociada, List <int> pListaIdMetaInstitucionalAssociada, AuthenticationRequest autenticacao) { Usuario userSelected = new BMUsuario().ObterPorId(idUsuario); SolucaoEducacional solucaoEducacional = new BMSolucaoEducacional().ObterPorId(idSolucaoEducacional); BMMatriculaOferta moBM = new BMMatriculaOferta(); if (solucaoEducacional == null) { throw new AcademicoException("Solução Educacional não encontrada"); } //VALIDAR SE ELE TEM ALGUMA OFERTA EXCLUSIVA PENDENTE DE CONFIRMACAO if (userSelected.ListaMatriculaOferta.Any(x => x.Oferta.ID == idOferta && x.Oferta.SolucaoEducacional.ID == idSolucaoEducacional && x.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno && x.Oferta.DataFim.Value.Date >= DateTime.Now.Date)) { MatriculaOferta mo = userSelected.ListaMatriculaOferta.Where(x => x.Oferta.SolucaoEducacional.ID == idSolucaoEducacional && x.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno).FirstOrDefault(); if (mo != null) { mo.StatusMatricula = enumStatusMatricula.Inscrito; mo.Auditoria = new Auditoria(autenticacao.Login); moBM.Salvar(mo); ValidarMetaIndividual(idUsuario, idSolucaoEducacional, pListaIdMetaIndividualAssociada, autenticacao); ValidarMetaInstitucional(idUsuario, idSolucaoEducacional, pListaIdMetaInstitucionalAssociada, autenticacao); if (!(mo.MatriculaTurma != null && mo.MatriculaTurma.Count > 0)) { try { if (mo.Oferta.TipoOferta.Equals(enumTipoOferta.Continua)) { string retornows; switch (mo.Oferta.SolucaoEducacional.Fornecedor.ID) { case (int)enumFornecedor.MoodleSebrae: moodle.IntegracaoSoapClient soapCliente = new moodle.IntegracaoSoapClient(); retornows = soapCliente.MatricularAluno( userSelected.Nome, userSelected.CPF, userSelected.Email, userSelected.Cidade, mo.Oferta.SolucaoEducacional.IDChaveExterna.ToString(), mo.MatriculaTurma.FirstOrDefault().Turma.IDChaveExterna.ToString()); break; case (int)enumFornecedor.WebAula: Turma turma = mo.MatriculaTurma.FirstOrDefault().Turma; webaula.waIntegracaoSoapClient wa = new webaula.waIntegracaoSoapClient(); webaula.AuthenticationProviderRequest aut = new webaula.AuthenticationProviderRequest(); webaula.DTOUsuario dtoUsuario = new webaula.DTOUsuario(); webaula.DTOTurma dtoTurma = new webaula.DTOTurma(); dtoTurma.IDChaveExterna = turma.IDChaveExterna; dtoUsuario.CPF = userSelected.CPF; dtoUsuario.Email = userSelected.Email; dtoUsuario.Nome = userSelected.Nome; dtoUsuario.Sexo = userSelected.Sexo; dtoUsuario.UF = userSelected.UF.Sigla; aut.Login = mo.Oferta.SolucaoEducacional.Fornecedor.Login; aut.Senha = CriptografiaHelper.Decriptografar(mo.Oferta.SolucaoEducacional.Fornecedor.Senha); retornows = wa.Matricular(aut, dtoUsuario, dtoTurma); break; } } } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } } if (!string.IsNullOrEmpty(mo.Usuario.Email)) { Template mensagemRecuperacaoDeSenhaSemConfirmacao = TemplateUtil.ObterInformacoes(enumTemplate.InscricaoSESucesso); string assuntoDoEmail = mensagemRecuperacaoDeSenhaSemConfirmacao.DescricaoTemplate.Substring(0, mensagemRecuperacaoDeSenhaSemConfirmacao.DescricaoTemplate.IndexOf(Environment.NewLine)); Dictionary <string, string> registros = new Dictionary <string, string>(); registros.Add("NOMESOLUCAOEDUCACIONAL", mo.Oferta.SolucaoEducacional.Nome); registros.Add("DATASISTEMA", DateTime.Now.ToString("dd'/'MM'/'yyyy HH:mm")); registros.Add("NOMEALUNO", mo.Usuario.Nome); //Envia e-mail para o usuário EmailUtil.Instancia.EnviarEmail(mo.Usuario.Email, assuntoDoEmail, this.FormatarTextoEmail(registros, mensagemRecuperacaoDeSenhaSemConfirmacao.DescricaoTemplate) ); } return; } } //Verificando se existe alguma matricula na SE. MatriculaOferta buscaMatricula = new MatriculaOferta(); buscaMatricula.Usuario = new Usuario(); buscaMatricula.Usuario.ID = userSelected.ID; List <MatriculaOferta> possiveisMatriculas = new BMMatriculaOferta().ObterPorFiltro(buscaMatricula).ToList(); if (possiveisMatriculas != null && possiveisMatriculas.Any(y => y.Oferta.SolucaoEducacional.ID == idSolucaoEducacional && !(y.StatusMatricula == enumStatusMatricula.CanceladoAdm || y.StatusMatricula == enumStatusMatricula.CanceladoAluno))) { throw new AcademicoException("Erro: O usuário já está matriculado em uma oferta desta Solução Educacional"); } //VALIDAR SE O USUARIO POSSUI ACESSO A SE bool usuarioPossuiPermissao = new BMSolucaoEducacional().VerificarSeUsuarioPossuiPermissao(idUsuario, solucaoEducacional.ID); // .ObterListaUsuariosPermitidos(); if (!usuarioPossuiPermissao) { throw new AcademicoException("Erro: O usuário Informado não possui permissão à Solução Educacional"); } //VALIDAR SE O USUARIO ESTA CURSANDO OUTRA SE if (userSelected.ListaMatriculaOferta.Any(y => y.Usuario.ID == userSelected.ID && y.StatusMatricula == enumStatusMatricula.Inscrito)) { throw new AcademicoException("Erro: O usuário já está inscrito em outra oferta."); } //VALIDAR SE O USUARIO ESTA COM ALGUM ABANDONO ATIVO if (new BMUsuarioAbandono().ValidarAbandonoAtivo(idUsuario)) { throw new AcademicoException("Erro: Existe um abandono registrado para este usuário!"); } Oferta oferta = new Oferta(); oferta = solucaoEducacional.ListaOferta.FirstOrDefault(x => x.ID == idOferta); if (oferta == null) { throw new AcademicoException("Erro: Oferta não encontrada"); } //VALIDADO OFERTA CONTINUA. if (oferta.TipoOferta.Equals(enumTipoOferta.Continua)) { Turma t = null; if (oferta.SolucaoEducacional.Fornecedor.PermiteGestaoSGUS) { t = oferta.ListaTurma.FirstOrDefault(x => x.DataFinal == null || x.DataFinal.Value.Date >= DateTime.Now.Date && x.InAberta); } int qtdInscritosNaOferta = oferta.ListaMatriculaOferta.Where(x => (x.StatusMatricula != enumStatusMatricula.CanceladoAdm && x.StatusMatricula != enumStatusMatricula.CanceladoAluno)).Count(); MatriculaOferta matriculaOferta = new MatriculaOferta() { Oferta = new BMOferta().ObterPorId(oferta.ID), Usuario = new BMUsuario().ObterPorId(userSelected.ID), Auditoria = new Auditoria(autenticacao.Login), DataSolicitacao = DateTime.Now, UF = new BMUf().ObterPorId(userSelected.UF.ID), NivelOcupacional = new BMNivelOcupacional().ObterPorID(userSelected.NivelOcupacional.ID) }; if (qtdInscritosNaOferta >= oferta.QuantidadeMaximaInscricoes) { if (oferta.FiladeEspera) { matriculaOferta.StatusMatricula = enumStatusMatricula.FilaEspera; } else { throw new AcademicoException("Erro: A quantidade máxima de alunos foi atingida"); } } else { matriculaOferta.StatusMatricula = enumStatusMatricula.Inscrito; } qtdInscritosNaOferta++; if (t != null) { MatriculaTurma matriculaTurma = new MatriculaTurma() { Turma = new BMTurma().ObterPorID(t.ID), Auditoria = new Auditoria(autenticacao.Login), DataMatricula = DateTime.Now, MatriculaOferta = matriculaOferta, DataLimite = DateTime.Today.AddDays(oferta.DiasPrazo) }; if (matriculaOferta.MatriculaTurma == null) { matriculaOferta.MatriculaTurma = new List <MatriculaTurma>(); } matriculaOferta.MatriculaTurma.Add(matriculaTurma); } moBM.Salvar(matriculaOferta); //validando se a turma já está chegando ao limite. if (qtdInscritosNaOferta > (oferta.QuantidadeMaximaInscricoes - int.Parse(ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.LimiteAlertaInscricaoOferta).Registro))) { EnviarEmailLimiteOferta(oferta, matriculaOferta); } ValidarMetaIndividual(idUsuario, idSolucaoEducacional, pListaIdMetaIndividualAssociada, autenticacao); ValidarMetaInstitucional(idUsuario, idSolucaoEducacional, pListaIdMetaInstitucionalAssociada, autenticacao); try { if (matriculaOferta.Oferta.TipoOferta.Equals(enumTipoOferta.Continua) && matriculaOferta.MatriculaTurma != null) { string retornows; switch (matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.ID) { case (int)enumFornecedor.MoodleSebrae: moodle.IntegracaoSoapClient soapCliente = new moodle.IntegracaoSoapClient(); retornows = soapCliente.MatricularAluno(userSelected.Nome, userSelected.CPF, userSelected.Email, userSelected.Cidade, matriculaOferta.Oferta.SolucaoEducacional.IDChaveExterna.ToString(), matriculaOferta.MatriculaTurma.FirstOrDefault().Turma.IDChaveExterna.ToString()); break; case (int)enumFornecedor.WebAula: Turma turma = matriculaOferta.MatriculaTurma.FirstOrDefault().Turma; webaula.waIntegracaoSoapClient wa = new webaula.waIntegracaoSoapClient(); webaula.AuthenticationProviderRequest aut = new webaula.AuthenticationProviderRequest(); webaula.DTOUsuario dtoUsuario = new webaula.DTOUsuario(); webaula.DTOTurma dtoTurma = new webaula.DTOTurma(); dtoTurma.IDChaveExterna = turma.IDChaveExterna; dtoUsuario.CPF = userSelected.CPF; dtoUsuario.Email = userSelected.Email; dtoUsuario.Nome = userSelected.Nome; dtoUsuario.Sexo = userSelected.Sexo; dtoUsuario.UF = userSelected.UF.Sigla; aut.Login = matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.Login; aut.Senha = CriptografiaHelper.Decriptografar(matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.Senha); retornows = wa.Matricular(aut, dtoUsuario, dtoTurma); break; } } } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } return; } //VALIDANDO A OFETA NORMAL if (oferta.TipoOferta.Equals(enumTipoOferta.Normal)) { int qtdInscritosNaOferta = oferta.ListaMatriculaOferta.Where(x => (x.StatusMatricula != enumStatusMatricula.CanceladoAdm && x.StatusMatricula != enumStatusMatricula.CanceladoAluno)).Count(); MatriculaOferta matriculaOferta = new MatriculaOferta() { Oferta = new BMOferta().ObterPorId(oferta.ID), Usuario = new BMUsuario().ObterPorId(userSelected.ID), Auditoria = new Auditoria(autenticacao.Login), DataSolicitacao = DateTime.Now, UF = new BMUf().ObterPorId(userSelected.UF.ID), NivelOcupacional = new BMNivelOcupacional().ObterPorID(userSelected.NivelOcupacional.ID) }; if (qtdInscritosNaOferta >= oferta.QuantidadeMaximaInscricoes) { if (oferta.FiladeEspera) { matriculaOferta.StatusMatricula = enumStatusMatricula.FilaEspera; } else { throw new AcademicoException("Erro: A quantidade máxima de alunos foi atingida"); } } else { matriculaOferta.StatusMatricula = enumStatusMatricula.Inscrito; } BMMatriculaOferta bmMatriculaOferta = new BMMatriculaOferta(); bmMatriculaOferta.Salvar(matriculaOferta); qtdInscritosNaOferta++; //validando se a turma já está chegando ao limite. if (qtdInscritosNaOferta > (oferta.QuantidadeMaximaInscricoes - int.Parse(ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.LimiteAlertaInscricaoOferta).Registro))) { EnviarEmailLimiteOferta(oferta, matriculaOferta); } ValidarMetaIndividual(idUsuario, idSolucaoEducacional, pListaIdMetaIndividualAssociada, autenticacao); ValidarMetaInstitucional(idUsuario, idSolucaoEducacional, pListaIdMetaInstitucionalAssociada, autenticacao); return; } throw new Exception("Não foi encontrado ofertas para esse usuário!"); }
public string MatriculaSolucaoEducacionalGestorUC(int idOferta, string cpf, int idStatusMatricula, int idTurma, string solicitante, string dataInscricao = "", string dataConclusao = "") { var manterUsuario = new ManterUsuario(); var usuario = manterUsuario.ObterPorCPF(cpf); var usuarioLogado = new BMUsuario().ObterPorCPF(solicitante); if (!(idStatusMatricula == 2 || idStatusMatricula == 6 || idStatusMatricula == 8)) { throw new AcademicoException("Status da matrícula inválido"); } if (usuario == null) { throw new AcademicoException("CPF não localizado na base"); } var oferta = new BMOferta().ObterPorId(idOferta); if (oferta == null) { throw new AcademicoException("Oferta não localizada na base"); } if (oferta.ListaMatriculaOferta == null) { oferta.ListaMatriculaOferta = new List <MatriculaOferta>(); } if (oferta.ListaMatriculaOferta.Any(x => x.Usuario.ID == usuario.ID && (x.StatusMatricula == enumStatusMatricula.Inscrito || x.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno))) { throw new AcademicoException("Usuário já inscrito nesta oferta"); } //VERIFICA PRÉ-REQUISITO if (oferta.SolucaoEducacional.ListaPreRequisito.Any()) { var aprovados = new List <enumStatusMatricula> { enumStatusMatricula.Aprovado, enumStatusMatricula.Concluido }; foreach (var item in oferta.SolucaoEducacional.ListaPreRequisito) { if (!usuario.ListaMatriculaOferta.Any(x => aprovados.Contains(x.StatusMatricula) && x.Oferta.SolucaoEducacional.ID == item.PreRequisito.ID)) { throw new AcademicoException("Erro: Existem soluções como pré-requisito que não estão cursadas"); } } } if (usuarioLogado.UF.ID != (int)enumUF.NA) { if (usuario.UF.ID != usuarioLogado.UF.ID) { throw new AcademicoException("Este usuário não é do seu estado"); } } var ofertaEstado = oferta.ListaPermissao.FirstOrDefault(f => f.Uf != null && f.Uf.ID == usuario.UF.ID); if (ofertaEstado == null) { throw new AcademicoException("Erro: A vaga não é permitida para o seu estado"); } if (ofertaEstado.QuantidadeVagasPorEstado > 0) { var qtdMatriculaOfertaPorEstado = oferta.ListaMatriculaOferta.Count(x => !x.IsUtilizado() && x.UF.ID == ofertaEstado.Uf.ID); if (qtdMatriculaOfertaPorEstado >= ofertaEstado.QuantidadeVagasPorEstado && !oferta.FiladeEspera) { throw new AcademicoException("Erro: As vagas já foram preenchidas para o seu estado"); } } if (usuario.ListaMatriculaOferta.Any(x => x.Usuario.ID == usuario.ID && x.Oferta.ID == oferta.ID && x.Oferta.SolucaoEducacional.ID == oferta.SolucaoEducacional.ID && (x.StatusMatricula == enumStatusMatricula.Inscrito || x.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno || x.StatusMatricula == enumStatusMatricula.Aprovado || x.StatusMatricula == enumStatusMatricula.Concluido ))) { throw new AcademicoException("Usuário já cursou esta Solução Educacional"); } var matriculaOferta = new MatriculaOferta { Usuario = usuario, Oferta = oferta, DataSolicitacao = DateTime.Now, StatusMatricula = (enumStatusMatricula)idStatusMatricula, UF = usuario.UF, NivelOcupacional = usuario.NivelOcupacional, Auditoria = new Auditoria(solicitante) }; (new ManterMatriculaOferta()).VerificarPoliticaDeConsequencia(matriculaOferta); if (matriculaOferta.StatusMatricula == enumStatusMatricula.Inscrito) { Turma turma; if (idTurma > 0) { turma = oferta.ListaTurma.FirstOrDefault(x => x.ID == idTurma); if (turma == null) { throw new AcademicoException("A turma informada não pertence a oferta informada"); } } else { turma = oferta.ListaTurma.FirstOrDefault(); } if (turma != null) { if (!turma.InAberta) { throw new AcademicoException("A turma não está aberta para inscrições"); } if (!usuarioLogado.IsGestor() && (turma.Oferta.DataInicioInscricoes > DateTime.Now || (turma.Oferta.DataFimInscricoes.HasValue && turma.Oferta.DataFimInscricoes.Value < DateTime.Now))) { throw new AcademicoException("A oferta selecionada está fora do período de inscrição"); } //Verifica se a quantidade de matriculas para a turma foi preenchida. if (turma.QuantidadeMaximaInscricoes > 0 && turma.QuantidadeAlunosMatriculadosNaTurma >= turma.QuantidadeMaximaInscricoes) { throw new AcademicoException("Todas as vagas para esta turma foram preenchidas"); } var matriculaTurma = new MatriculaTurma { Turma = turma, MatriculaOferta = matriculaOferta, DataMatricula = DateTime.Now, Auditoria = new Auditoria(solicitante) }; matriculaTurma.DataLimite = matriculaTurma.CalcularDataLimite(matriculaOferta.Oferta); matriculaTurma.DataMatricula = DateTime.Now; if (!usuarioLogado.IsGestor() && matriculaOferta.Oferta.DataInicioInscricoes.HasValue && matriculaOferta.Oferta.DataFimInscricoes.HasValue && !matriculaTurma.DataMatricula.Date.Between(matriculaOferta.Oferta.DataInicioInscricoes.Value, matriculaOferta.Oferta.DataFimInscricoes.Value)) { throw new AcademicoException( "Data de matrícula fora do periodo de inscrição da turma que é de " + matriculaTurma.Turma.DataInicio.ToString("dd/MM/yyyy") + " a " + (matriculaTurma.Turma.DataFinal != null ? matriculaTurma.Turma.DataFinal.Value.ToString("dd/MM/yyyy") : "")); } if (matriculaOferta.MatriculaTurma == null) { matriculaOferta.MatriculaTurma = new List <MatriculaTurma>(); } matriculaOferta.MatriculaTurma.Add(matriculaTurma); } } new BMMatriculaOferta().Salvar(matriculaOferta); try { if (matriculaOferta.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno) { var templateMensagemEmailOfertaExclusiva = TemplateUtil.ObterInformacoes(enumTemplate.EnvioEmailParaPendenteDeConfirmacao); var assuntoDoEmail = templateMensagemEmailOfertaExclusiva.Assunto; var corpoEmail = templateMensagemEmailOfertaExclusiva.TextoTemplate; var emailDoDestinatario = matriculaOferta.Usuario.Email; if (matriculaOferta.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno) { assuntoDoEmail = assuntoDoEmail.Replace("#NOME_CURSO", matriculaOferta.NomeSolucaoEducacional); corpoEmail = new ManterOferta().CorpoEmail(corpoEmail, matriculaOferta); EmailUtil.Instancia.EnviarEmail(emailDoDestinatario.Trim(), assuntoDoEmail, corpoEmail); } } } catch { // ignored } return(string.Empty); }
public JsonResult SavePreMatricula(int cmbPessoa_Value, string cmbResponsavel_Value, string txtGrauParentesco, string txtDataCancelamento, int cmbTurma_Value) { Matricula matricula = new Matricula(); Aluno aluno = new Aluno(); Responsavel responsavel = new Responsavel(); Aluno alunoExistente = dbAluno.FindOne(x => x.idPessoa == cmbPessoa_Value); if (!String.IsNullOrEmpty(txtDataCancelamento)) { matricula.dataCancelamento = Convert.ToDateTime(txtDataCancelamento); } if (!String.IsNullOrEmpty(cmbResponsavel_Value) && !String.IsNullOrEmpty(txtGrauParentesco)) { responsavel.idPessoa = Convert.ToInt32(cmbResponsavel_Value); responsavel.grauParentesco = txtGrauParentesco; aluno.Responsavel = responsavel; } aluno.idPessoa = cmbPessoa_Value; aluno.statusFinanceiro = 0; aluno.statusPedagogico = 0; matricula.numeroMatricula = 0; if (alunoExistente != null) { matricula.idAluno = alunoExistente.idAluno; } else { matricula.Aluno = aluno; } matricula.dataRegistro = DateTime.Now; matricula.tipo = "prematricula"; try { dbMatricula.Adicionar(matricula); dbMatricula.SaveChanges(); Matricula matriculaExistente = dbMatricula.FindOne(x => x.idAluno == matricula.idAluno && x.numeroMatricula != 0); Matricula numMatricula = dbMatricula.FindOne(idM => idM.idMatricula == matricula.idMatricula); numMatricula.numeroMatricula = matriculaExistente != null ? matriculaExistente.numeroMatricula : numMatricula.idMatricula; dbMatricula.Atualizar(numMatricula); dbMatricula.SaveChanges(); MatriculaTurma matriculaTurma = new MatriculaTurma(); matriculaTurma.idMatricula = numMatricula.idMatricula; matriculaTurma.idTurma = cmbTurma_Value; dbMatriculaTurma.Adicionar(matriculaTurma); dbMatriculaTurma.SaveChanges(); return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { success = false, message = e.Message }, JsonRequestBehavior.AllowGet)); } }