public bool SincronizarOfertaComMoodle(Oferta oferta, SolucaoEducacional solucaoEducacional) { try { // Verificar dados nas tabelas 'int_sgus_moodle_ofertas' e 'int_sgus_moodle_cursos' var bmSgusMoodleOferta = new BMSgusMoodleOferta(); var bmSgusMoodleCurso = new BMSgusMoodleCurso(); int IDCategoriaMoodle = int.Parse(oferta.SolucaoEducacional.IDChaveExterna); int IDCursoMoodle = oferta.CodigoMoodle.Value; var cursoMoodle = bmSgusMoodleCurso.ObterPorCategoria(IDCategoriaMoodle); if (cursoMoodle == null) { cursoMoodle = new SgusMoodleCurso() { Nome = oferta.SolucaoEducacional.Nome, CodigoCategoria = IDCategoriaMoodle, CodigoCurso = IDCursoMoodle, DataCriacao = DateTime.Now, DataAtualizacao = DateTime.Now }; } else { cursoMoodle.Nome = oferta.SolucaoEducacional.Nome; cursoMoodle.CodigoCurso = IDCursoMoodle; cursoMoodle.DataAtualizacao = DateTime.Now; } bmSgusMoodleCurso.Cadastrar(cursoMoodle); var ofertaMoodle = bmSgusMoodleOferta.ObterPorCodigoCurso(IDCursoMoodle); if (ofertaMoodle == null) { ofertaMoodle = new SgusMoodleOferta() { Nome = oferta.Nome, CodigoCategoria = IDCategoriaMoodle, CodigoCurso = IDCursoMoodle, DataCriacao = DateTime.Now, Desabilitado = 1 }; } else { ofertaMoodle.Nome = oferta.Nome; ofertaMoodle.CodigoCategoria = IDCategoriaMoodle; ofertaMoodle.CodigoCurso = IDCursoMoodle; ofertaMoodle.DataCriacao = DateTime.Now; } bmSgusMoodleOferta.Cadastrar(ofertaMoodle); int?IDChaveExternaOferta = bmSgusMoodleOferta.ObterPorCodigoCurso(IDCursoMoodle).ID; if (IDChaveExternaOferta.HasValue && IDChaveExternaOferta.Value > 0) { oferta.IDChaveExterna = IDChaveExternaOferta.ToString(); AlterarOferta(oferta); } // Remover o ID da Chave Externa de todas as ofertas anteriores foreach (var ofertaAnterior in solucaoEducacional.ListaOferta.Where(o => o.DataInicioInscricoes < oferta.DataInicioInscricoes)) { ofertaAnterior.IDChaveExterna = null; AlterarOferta(ofertaAnterior); } return(true); } catch { return(false); } }
private void ExecutarSincronizacao(int idProfessor) { var professor = new BMProfessor().ObterPorId(idProfessor); if (professor != null) { var bmUsuarioMoodle = new BMUsuarioMoodle(); string cpf = professor.Cpf; string email = professor.Email; var usuarioSgus = new BMUsuario().ObterPorCPF(cpf); if (usuarioSgus == null) { usuarioSgus = new Usuario(); usuarioSgus.Auditoria = new Auditoria(new BMUsuario().ObterUsuarioLogado().CPF); usuarioSgus.Bairro = professor.Bairro; usuarioSgus.Cep = professor.CEP; usuarioSgus.Cidade = professor.Cidade; usuarioSgus.CPF = professor.Cpf; usuarioSgus.DataNascimento = professor.DataNascimento; usuarioSgus.Email = professor.Email; usuarioSgus.Endereco = professor.Endereco; usuarioSgus.Estado = professor.Estado; usuarioSgus.EstadoCivil = professor.EstadoCivil; usuarioSgus.Nacionalidade = professor.Nacionalidade; usuarioSgus.Naturalidade = professor.Naturalidade; usuarioSgus.Nome = professor.Nome; usuarioSgus.NomeMae = professor.NomeMae; usuarioSgus.NomePai = professor.NomePai; usuarioSgus.Senha = CriptografiaHelper.Criptografar("sebrae2014"); usuarioSgus.TelCelular = professor.TelefoneCelular; usuarioSgus.TelefoneExibicao = professor.Telefone; usuarioSgus.TipoDocumento = professor.TipoDocumentoRG; //new BMUsuario().Salvar(usuarioSgus); } bool usuarioExistenteNoMoodle = bmUsuarioMoodle.ObterPorEmailOuUsuarioExistente(usuarioSgus.CPF, usuarioSgus.Email); if (!usuarioExistenteNoMoodle) { var usuarioMoodle = new UsuarioMoodle(); usuarioMoodle.Autorizacao = "sgus"; usuarioMoodle.Usuario = usuarioSgus.CPF; usuarioMoodle.Senha = CriptografiaHelper.ObterHashMD5(CriptografiaHelper.Decriptografar(usuarioSgus.Senha)); usuarioMoodle.IdNumero = ""; usuarioMoodle.Nome = usuarioSgus.Nome.Split(' ')[0].Replace(" ", ""); usuarioMoodle.Sobrenome = usuarioSgus.Nome.Split(' ')[usuarioSgus.Nome.Split(',').Length].Replace(" ", ""); usuarioMoodle.Email = usuarioSgus.Email; usuarioMoodle.EmailParado = false; if (!string.IsNullOrEmpty(usuarioSgus.Cidade)) { usuarioMoodle.Cidade = usuarioSgus.Cidade; if (usuarioSgus.UF != null) { usuarioMoodle.Cidade += "/" + usuarioSgus.UF.Sigla; } } usuarioMoodle.Pais = "BR"; usuarioMoodle.Idioma = "pt_br"; usuarioMoodle.ZonaHoraria = "99"; //bmUsuarioMoodle.Salvar(usuarioMoodle); var bmSgusMoodleCursos = new BMSgusMoodleCurso(); int codCat = 0; foreach (var item in professor.ListaTurma) { if (item.Oferta.SolucaoEducacional.Fornecedor.ID == (int)enumFornecedor.MoodleSebrae) { if (int.TryParse(item.Oferta.SolucaoEducacional.IDChaveExterna, out codCat)) { var categoria = bmSgusMoodleCursos.ObterPorCategoria(codCat); var enrol = new BMInscricao().ObterPorFiltro(new Inscricao { IDCurso = categoria.CodigoCurso, TipoInscricao = "manual" }).FirstOrDefault(); if (enrol != null) { UsuarioMoodleInscricao pUsuarioMoodleInscricao = new UsuarioMoodleInscricao(); pUsuarioMoodleInscricao.IDInscricao = enrol.ID; pUsuarioMoodleInscricao.UsuarioMoodle = usuarioMoodle; //new BMUsuarioMoodleInscricao().Salvar(pUsuarioMoodleInscricao); } } } } } } WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Professor sincronizado com sucesso", "ListarProfessor.aspx"); }