private void IniciarThreadGeral() { var manterSe = new ManterSolucaoEducacional(); var manterOferta = new ManterOferta(); var manterPr = new ManterPrograma(); var manterCp = new ManterCapacitacao(); var manterTr = new ManterTrilha(); var bmConfiguracaoSistema = new BMConfiguracaoSistema(); var bmLogSincronia = new BMLogSincronia(); var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); var somenteNaoSincronizados = ckbSomenteNaoSincronizados.Checked; var thread = new Thread(() => { EnviarSolucoes(manterSe, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado, somenteNaoSincronizados); EnviarOfertas(manterOferta, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado, somenteNaoSincronizados); EnviarProgramasCapacitacoes(manterPr, manterCp, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado, somenteNaoSincronizados); EnviarTrilhas(manterTr, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado, somenteNaoSincronizados); }) { IsBackground = true, Name = Guid.NewGuid().ToString() }; thread.Start(); }
private void EnviarTrilhas(ManterTrilha manterTr, BMConfiguracaoSistema bmConfiguracaoSistema, BMLogSincronia bmLogSincronia, Usuario usuarioLogado, bool somenteNaoSincronizados) { var trilhas = manterTr.ObterTodasTrilhas(); foreach (var trilha in trilhas) { try { if (somenteNaoSincronizados && trilha.IdNodePortal.HasValue) { continue; } trilha.IdNodePortal = null; manterTr.AtualizarNodeIdDrupal(trilha, manterTr, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado); } catch (Exception) { // ignored; } } }
public static void RemoverNodeDrupalRest(int id, bool salvarLog = true) { var basePath = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.UrlRestPortal).Registro; var pathRestPortal = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.PathRestPortal).Registro; var logSincronia = new LogSincronia { Usuario = (new BMUsuario()).ObterUsuarioLogado(), Sincronizado = false, Url = basePath + pathRestPortal, Action = "delete", Method = "POST", Acao = enumAcao.Remover }; var postParameters = new Dictionary <string, string> { { "node_id", id.ToString() } }; logSincronia.ListaPostParameters = postParameters.Select( p => new LogSincroniaPostParameters { LogSincronia = logSincronia, Descricao = p.Value, Registro = p.Key }).ToList(); logSincronia.Hash = logSincronia.HashObj(); try { NodeDrupalRest(logSincronia); } catch (Exception) { if (!salvarLog) { throw; } //dll UTIL não tem acesso a camada "BP" Para Evitar "referencing loop detected" var bmLogSincronia = new BMLogSincronia(); var tmpLogSincronia = bmLogSincronia.ObterPorFiltro(logSincronia); if (tmpLogSincronia != null && tmpLogSincronia.Sincronizado) { return; } bmLogSincronia.Salvar(logSincronia); } }
private void IniciarThreadSolucoes() { var manterSe = new ManterSolucaoEducacional(); var bmConfiguracaoSistema = new BMConfiguracaoSistema(); var bmLogSincronia = new BMLogSincronia(); var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); var somenteNaoSincronizados = ckbSomenteNaoSincronizados.Checked; var thread = new Thread( () => EnviarSolucoes(manterSe, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado, somenteNaoSincronizados)) { IsBackground = true, Name = Guid.NewGuid().ToString() }; thread.Start(); }
private void EnviarSolucoes(ManterSolucaoEducacional manterSe, BMConfiguracaoSistema bmConfiguracaoSistema, BMLogSincronia bmLogSincronia, Usuario usuarioLogado, bool somenteNaoSincronizados) { try { var solucoes = manterSe.ObterTodosSolucaoEducacional() .Where( x => x.ListaAreasTematicas.Any() && x.FormaAquisicao != null && x.FormaAquisicao.EnviarPortal && (somenteNaoSincronizados == false || !x.IdNodePortal.HasValue)).ToList(); foreach (var solucao in solucoes) { try { if (somenteNaoSincronizados && solucao.IdNodePortal.HasValue) { continue; } solucao.IdNodePortal = null; manterSe.AtualizarNodeIdDrupal(solucao, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado); } catch (Exception) { // ignored; } } } catch (Exception) { throw; } }
private void EnviarOfertas(ManterOferta manterOferta, BMConfiguracaoSistema bmConfiguracaoSistema, BMLogSincronia bmLogSincronia, Usuario usuarioLogado, bool somenteNaoSincronizados) { try { var ofertas = manterOferta.ObterTodasOfertas() .Where( x => x.DataInicioInscricoes.HasValue && x.DataFimInscricoes.HasValue && x.SolucaoEducacional.Ativo && x.SolucaoEducacional.FormaAquisicao != null && x.SolucaoEducacional.FormaAquisicao.EnviarPortal && x.SolucaoEducacional.ListaAreasTematicas.Any() && (somenteNaoSincronizados == false || !x.IdNodePortal.HasValue)) .OrderBy(x => x.Nome).ToList(); foreach (var oferta in ofertas) { try { oferta.IdNodePortal = null; manterOferta.AtualizarNodeIdDrupal(oferta, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado); } catch (Exception) { // ignored; } } } catch (Exception) { throw; } }
public int?SalvaNodeDrupalRest(Programa registro, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { var postParameters = DrupalUtil.InitPostParameters(registro.ID, registro.Nome, registro.Apresentacao, "solucao", registro.Ativo); postParameters.Add("data[field_tipo_de_solucao]", "5"); DrupalUtil.PermissoesAreaTematica( registro.ListaAreasTematicas.Where(p => p.AreaTematica != null).Select(x => x.AreaTematica.ID).ToList(), ref postParameters); DrupalUtil.PermissoesUf(registro.ListaPermissao.Where(p => p.Uf != null).Select(x => x.Uf.ID).ToList(), ref postParameters); DrupalUtil.PermissoesPerfil( registro.ListaPermissao.Where(p => p.Perfil != null).Select(x => x.Perfil.ID).ToList(), ref postParameters); DrupalUtil.PermissoesNivelOcupacional( registro.ListaPermissao.Where(p => p.NivelOcupacional != null) .Select(x => x.NivelOcupacional.ID) .ToList(), ref postParameters); try { return(DrupalUtil.SalvaNodeDrupalRest(postParameters, true, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado)); } catch (Exception) { return(null); } }
public ManterLogSincronia() { _bmLogSincronia = new BMLogSincronia(); }
private void EnviarProgramasCapacitacoes(ManterPrograma manterPr, ManterCapacitacao manterCp, BMConfiguracaoSistema bmConfiguracaoSistema, BMLogSincronia bmLogSincronia, Usuario usuarioLogado, bool somenteNaoSincronizados) { var programas = manterPr.ObterTodosProgramas(); foreach (var programa in programas) { try { if (somenteNaoSincronizados && programa.IdNodePortal.HasValue) { continue; } programa.IdNodePortal = null; manterPr.AtualizarNodeIdDrupal(programa, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado); } catch { // ignored; } } var capacitacoes = manterCp.ObterTodasCapacitacoes(); foreach (var capacitacao in capacitacoes) { try { if (somenteNaoSincronizados && capacitacao.IdNodePortal.HasValue) { continue; } manterCp.AtualizarNodeIdDrupal(capacitacao, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado); } catch (Exception) { // ignored; } } }
public void AtualizarNodeIdDrupal(SolucaoEducacional solucao, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { if (solucao.FormaAquisicao == null || !solucao.FormaAquisicao.EnviarPortal) { return; } var id = SalvaNodeDrupalRest(solucao, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado); if (!id.HasValue) { return; } solucao.IdNodePortal = id.Value; bmSolucaoEducacional.Salvar(solucao, false); }
public int?SalvaNodeDrupalRest(Capacitacao capacitacao, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { var postParameters = DrupalUtil.InitPostParameters(capacitacao.ID, capacitacao.Nome, null, "oferta"); postParameters.Add("data[field_data_inicio_inscricao]", capacitacao.DataInicioInscricao.HasValue ? DataUtil.ToUnix(capacitacao.DataInicioInscricao.Value).ToString() : ""); postParameters.Add("data[field_data_fim_inscricao]", capacitacao.DataFimInscricao.HasValue ? DataUtil.ToUnix(capacitacao.DataFimInscricao.Value).ToString() : ""); postParameters.Add("data[field_carga_horaria]", "0"); postParameters.Add("data[field_solucao_sgus_id]", (capacitacao.Programa != null ? capacitacao.Programa.ID : 0).ToString()); postParameters.Add("data[field_tipo_de_solucao]", "5"); if (capacitacao.Programa != null) { DrupalUtil.PermissoesUf( capacitacao.Programa.ListaPermissao.Where(p => p.Uf != null).Select(x => x.Uf.ID).ToList(), ref postParameters); } if (capacitacao.Programa != null) { DrupalUtil.PermissoesPerfil( capacitacao.Programa.ListaPermissao.Where(p => p.Perfil != null).Select(x => x.Perfil.ID).ToList(), ref postParameters); } if (capacitacao.Programa != null) { DrupalUtil.PermissoesNivelOcupacional( capacitacao.Programa.ListaPermissao.Where(p => p.NivelOcupacional != null) .Select(x => x.NivelOcupacional.ID) .ToList(), ref postParameters); } try { return(DrupalUtil.SalvaNodeDrupalRest(postParameters, true, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado)); } catch (Exception) { return(null); } }
public void AtualizarNodeIdDrupal(Capacitacao capacitacao, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { var id = SalvaNodeDrupalRest(capacitacao, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado); if (!id.HasValue) { return; } capacitacao.IdNodePortal = id.Value; bmCapacitacao.Salvar(capacitacao); }
public void AtualizarNodeIdDrupal(Programa pPrograma, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { var id = SalvaNodeDrupalRest(pPrograma, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado); if (!id.HasValue) { return; } pPrograma.IdNodePortal = id.Value; bmPrograma.Salvar(pPrograma); }
public static int?SalvaNodeDrupalRest(Dictionary <string, string> postParameters, bool salvarLog = true, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { var basePath = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.UrlRestPortal, bmConfiguracaoSistema).Registro; var pathRestPortal = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.PathRestPortal, bmConfiguracaoSistema).Registro; var logSincronia = new LogSincronia { Usuario = usuarioLogado ?? new BMUsuario().ObterUsuarioLogado(), Sincronizado = false, Url = basePath + pathRestPortal, Action = "import", Method = "POST", Acao = enumAcao.Atualizar }; logSincronia.ListaPostParameters = postParameters.Select( p => new LogSincroniaPostParameters { LogSincronia = logSincronia, Descricao = p.Value, Registro = p.Key }).ToList(); logSincronia.Hash = logSincronia.HashObj(); try { return(NodeDrupalRest(logSincronia, bmConfiguracaoSistema)); } catch { if (!salvarLog) { throw; } //dll UTIL não tem acesso a camada "BP" Para Evitar "referencing loop detected" bmLogSincronia = bmLogSincronia ?? new BMLogSincronia(); var tmpLogSincronia = bmLogSincronia.ObterPorFiltro(logSincronia); if (tmpLogSincronia != null && tmpLogSincronia.Sincronizado) { return(null); } bmLogSincronia.Salvar(logSincronia); return(null); } }
public int?SalvaNodeDrupalRest(Oferta oferta, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { var postParameters = DrupalUtil.InitPostParameters(oferta.ID, oferta.Nome, null, "oferta"); postParameters.Add("data[field_data_inicio_inscricao]", oferta.DataInicioInscricoes.HasValue ? DataUtil.ToUnix(oferta.DataInicioInscricoes.Value).ToString() : ""); postParameters.Add("data[field_data_fim_inscricao]", oferta.DataFimInscricoes.HasValue ? DataUtil.ToUnix(oferta.DataFimInscricoes.Value).ToString() : ""); postParameters.Add("data[field_carga_horaria]", oferta.CargaHoraria.ToString()); postParameters.Add("data[field_solucao_sgus_id]", (oferta.SolucaoEducacional != null ? oferta.SolucaoEducacional.ID : 0).ToString()); /*1 - Cursos Online; 2 - Cursos Presenciais; 3 - Cursos Mistos; 4 - Trilhas; 5 - Programas*/ var tipoDeSolucao = 1; if (oferta.SolucaoEducacional != null) { switch (oferta.SolucaoEducacional.FormaAquisicao.ID) { // Curso presencial. case 22: tipoDeSolucao = 2; break; // Curso misto. case 40: tipoDeSolucao = 3; break; // Jogo online, Jogo presencial e Jogo misto. case 43: case 44: case 45: case 113: tipoDeSolucao = 6; break; default: tipoDeSolucao = 1; break; } } postParameters.Add("data[field_tipo_de_solucao]", tipoDeSolucao.ToString()); DrupalUtil.PermissoesUf(oferta.ListaPermissao.Where(p => p.Uf != null).Select(x => x.Uf.ID).ToList(), ref postParameters); DrupalUtil.PermissoesPerfil(oferta.ListaPermissao.Where(p => p.Perfil != null).Select(x => x.Perfil.ID).ToList(), ref postParameters); DrupalUtil.PermissoesNivelOcupacional(oferta.ListaPermissao.Where(p => p.NivelOcupacional != null).Select(x => x.NivelOcupacional.ID).ToList(), ref postParameters); try { return(DrupalUtil.SalvaNodeDrupalRest(postParameters, true, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado)); } catch (Exception) { return(null); } }
public void AtualizarNodeIdDrupal(Oferta oferta, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { if (oferta.SolucaoEducacional.FormaAquisicao == null || !oferta.SolucaoEducacional.FormaAquisicao.EnviarPortal) { return; } if (oferta.InscricaoOnline != null && oferta.IdNodePortal != null && !oferta.InscricaoOnline.Value) { DrupalUtil.RemoverNodeDrupalRest(oferta.IdNodePortal.Value); return; } var id = SalvaNodeDrupalRest(oferta, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado); if (!id.HasValue) { return; } oferta.IdNodePortal = id.Value; bmOferta.Salvar(oferta, false); }
public int?SalvaNodeDrupalRest(Trilha trilha, BMConfiguracaoSistema bmConfiguracaoSistema, BMLogSincronia bmLogSincronia, Usuario usuarioLogado, bool statusNivelTrilha = false) { var postParameters = DrupalUtil.InitPostParameters(trilha.ID, trilha.Nome, trilha.Descricao, "solucao", statusNivelTrilha); postParameters.Add("data[field_tipo_de_solucao]", "4"); DrupalUtil.PermissoesAreaTematica( trilha.ListaAreasTematicas.Where(p => p.AreaTematica != null).Select(x => x.AreaTematica.ID).ToList(), ref postParameters); var permissoesUfs = trilha.ObterUfsDasPermissoes(); var permissoesPerfis = trilha.ObterPerfisDasPermissoes(); var permissoesNiveisOcupacionais = trilha.ObterNiveisOcupacionaisDasPermissoes(); DrupalUtil.PermissoesUf(permissoesUfs.Select(x => x.ID).ToList(), ref postParameters); DrupalUtil.PermissoesPerfil(permissoesPerfis.Select(x => x.ID).ToList(), ref postParameters); DrupalUtil.PermissoesNivelOcupacional(permissoesNiveisOcupacionais.Select(x => x.ID).ToList(), ref postParameters); try { return(DrupalUtil.SalvaNodeDrupalRest(postParameters, true, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado)); } catch (Exception) { return(null); } }
public void AtualizarNodeIdDrupal(Trilha trilha, ManterTrilha manterTr = null, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null, bool statusTrilhaNivel = false) { var id = SalvaNodeDrupalRest(trilha, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado, statusTrilhaNivel); if (!id.HasValue) { return; } trilha.IdNodePortal = id; (manterTr ?? new ManterTrilha()).Salvar(trilha); }
public int?SalvaNodeDrupalRest(SolucaoEducacional registro, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null) { var postParameters = DrupalUtil.InitPostParameters(registro.ID, registro.Nome, registro.Apresentacao, "solucao", registro.Ativo); /*1 - Cursos Online; 2 - Cursos Presenciais; 3 - Cursos Mistos; 4 - Trilhas; 5 - Programas*/ int tipoDeSolucao; switch (registro.FormaAquisicao.ID) { // Curso presencial. case 22: tipoDeSolucao = 2; break; // Curso misto. case 40: tipoDeSolucao = 3; break; // Jogo online, Jogo presencial e Jogo misto. case 43: case 44: case 45: case 113: tipoDeSolucao = 6; break; default: tipoDeSolucao = 1; break; } postParameters.Add("data[field_tipo_de_solucao]", tipoDeSolucao.ToString()); DrupalUtil.PermissoesAreaTematica(registro.ListaAreasTematicas.Select(x => x.AreaTematica.ID).ToList(), ref postParameters); DrupalUtil.PermissoesUf(registro.ListaPermissao.Where(p => p.Uf != null).Select(x => x.Uf.ID).ToList(), ref postParameters); DrupalUtil.PermissoesPerfil( registro.ListaPermissao.Where(p => p.Perfil != null).Select(x => x.Perfil.ID).ToList(), ref postParameters); DrupalUtil.PermissoesNivelOcupacional( registro.ListaPermissao.Where(p => p.NivelOcupacional != null) .Select(x => x.NivelOcupacional.ID) .ToList(), ref postParameters); try { return(DrupalUtil.SalvaNodeDrupalRest(postParameters, true, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado)); } catch (Exception) { throw new AlertException("Erro na sincronização. Tente salvar novamente."); } }