示例#1
0
        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);
        }
示例#2
0
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            string mensagemRetorno;

            try
            {
                var manterOferta = new ManterOferta();

                if (Request["Id"] == null)
                {
                    Dominio.Classes.Oferta oferta = ucOferta1.ObterObjetoOferta();
                    oferta.Sequencia = manterOferta.ObterProximoCodigoSequencial(oferta.SolucaoEducacional);
                    manterOferta.IncluirOferta(oferta);

                    ofertaEdicao = oferta;

                    ucOferta1.ValidarSubAreasSelecionadas(ofertaEdicao);

                    mensagemRetorno = "Oferta cadastrada com sucesso.";
                }
                else if (!string.IsNullOrEmpty(Request["Republicar"]))
                {
                    var oferta = new Dominio.Classes.Oferta();
                    oferta           = ucOferta1.ObterObjetoOferta(true);
                    oferta.Sequencia = manterOferta.ObterProximoCodigoSequencial(oferta.SolucaoEducacional);

                    ucOferta1.ValidarSubAreasSelecionadas(ofertaEdicao);

                    manterOferta.IncluirOferta(oferta);
                    ofertaEdicao = oferta;

                    mensagemRetorno = "Oferta atualizada com sucesso.";
                }
                else
                {
                    ofertaEdicao = ucOferta1.ObterObjetoOferta();

                    if (ofertaEdicao.ID != 0 && manterOferta.AlterouSolucaoEducacional(ofertaEdicao.ID, ofertaEdicao.SolucaoEducacional))
                    {
                        ofertaEdicao.Sequencia =
                            manterOferta.ObterProximoCodigoSequencial(ofertaEdicao.SolucaoEducacional);
                    }

                    ucOferta1.ValidarSubAreasSelecionadas(ofertaEdicao);

                    manterOferta.AlterarOferta(ofertaEdicao);

                    mensagemRetorno = "Oferta atualizada com sucesso.";
                }

                // Sincronizar Oferta e SE.
                if (ofertaEdicao.SolucaoEducacional.Fornecedor.ID == (int)enumFornecedor.MoodleSebrae)
                {
                    if (manterOferta.SincronizarOfertaComMoodle(ofertaEdicao, ofertaEdicao.SolucaoEducacional))
                    {
                        mensagemRetorno = string.Format("Oferta {0} e sincronizada com sucesso.",
                                                        Request["Id"] == null ? "cadastrada" : "alterada");
                    }
                }
            }
            catch (Exception ex)
            {
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
                return;
            }

            WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, mensagemRetorno, "ListarOferta.aspx");
        }