public int CadastrarPromocao(Promocao dados) { int idpromocao; idpromocao = CadastroSalvarPromocaoMySQL(dados); CadastroSalvarPromocaoElasticSearch(idpromocao, dados); return(idpromocao); }
public int EditarPromocao(Promocao dados) { int idpromocao; idpromocao = EdicaoSalvarPromocaoMySQL(dados); EdicaoSalvarPromocaoElasticSearch(idpromocao); return(idpromocao); }
private int CadastroSalvarPromocaoMySQL(Promocao dados) { var db = new ZAdmin_DB.Model.zeengEntities(); var promoDB = new ZAdmin_DB.Model.promo_promocoes(); promoDB.idorgaoregulador = dados.idOrgaoregulador != null ? dados.idOrgaoregulador : null; promoDB.idmodalidade = dados.idModalidade != null ? dados.idModalidade : 1; //1 - outros promoDB.nome = dados.nome; promoDB.certificadoautorizacao = dados.certificadoAutorizacao; promoDB.outrosinteressados = dados.outrosInteressados; promoDB.abrangencianacional = dados.abrangenciaNacional; promoDB.dtcadastro = DateTime.Now; promoDB.dtvigenciaini = dados.dtVigenciaIni != null ? dados.dtVigenciaIni : null; promoDB.dtvigenciafim = dados.dtVigenciaFim != null ? dados.dtVigenciaFim : null; promoDB.valorpremios = dados.valorPremio; promoDB.linksitepromocao = dados.linkSitePromocao; promoDB.linkfacebook = dados.linkFacebook; promoDB.linkinstagram = dados.linkInstagram; promoDB.linktwitter = dados.linkTwitter; promoDB.linkyoutube = dados.linkYoutube; promoDB.mecanicapromo = dados.mecanicaPromo; promoDB.produtosparticipantes = dados.produtosParticipantes; promoDB.premiospromo = dados.premiosPromo; promoDB.linkregulamento = dados.linkRegulamento; promoDB.textoregulamento = dados.textoRegulamento; promoDB.excluido = false; db.promo_promocoes.Add(promoDB); db.SaveChanges(); // Caso o cadastro esteja sendo feito a partir de notícia if (dados.idNoticia > 0) { var rnPromocaoNoticia = new PromocaoNoticia(_server, _indexElastic); rnPromocaoNoticia.AssociaPromocaoNoticia(promoDB.idpromocao, dados.idNoticia, dados.fontePesquisa); } // Caso o cadastro esteja sendo feito a partir de um post if (dados.idRedeSocial > 0) { var rnPromocaoRedesSociais = new PromocaoRedesSociais.PromocaoRedesSociais(_server, _indexElastic); rnPromocaoRedesSociais.associarPromocaoPost(promoDB.idpromocao, dados.idRedeSocial, dados.nomeRedeSocial); } //var dadosProc = db.seae_processos.Where(x => x.idprocesso == dados.idProcesso).FirstOrDefault(); return(promoDB.idpromocao); }
public int EditarPromocao(ZAdmin_RN.Promocao.Promocao dados) { var promocaoRN = new ZAdmin_RN.Promocao.Promocoes(Configuracoes.ServidorElastic, Configuracoes.IndexElastic); return(promocaoRN.EditarPromocao(dados)); }
private void CadastroSalvarPromocaoElasticSearch(int idpromocao, Promocao dados) { var orgao = db.promo_orgaosreguladores.Where(x => x.idorgao == dados.idOrgaoregulador).FirstOrDefault(); ZAdmin_RN.Promocao.PromocaoElastic promoElastic = new PromocaoElastic() { idpromocao = idpromocao, idorgaoregulador = dados.idOrgaoregulador, nomeorgaoregulador = orgao.nome, nome = dados.nome, certificadoautorizacao = dados.certificadoAutorizacao, dtcadastro = DateTime.Now.ToString("yyyy-MM-dd") }; if (dados.idNoticia > 0) { var noticiadb = (dados.fontePesquisa == 1) ? db.noticias.Where(x => x.idnoticia_knewin == dados.idNoticia).FirstOrDefault() : db.noticias.Where(x => x.idnoticia == dados.idNoticia).FirstOrDefault(); promoElastic.noticias = new List <Noticia>(); Noticia noticia = new Noticia() { idnoticia = noticiadb.idnoticia, autor = noticiadb.autor, conteudo = noticiadb.conteudo, titulo = noticiadb.titulo, datapublicacao = noticiadb.datapublicacao != null?noticiadb.datapublicacao.Value.ToString("yyyy-MM-dd") : null, url = noticiadb.url, nomefonte = db.fontes_noticias.Where(x => x.idfonte == noticiadb.idfonte).FirstOrDefault().nome }; promoElastic.noticias.Add(noticia); } if (dados.idRedeSocial > 0) { switch (dados.nomeRedeSocial) { case "facebook": { var postdb = db.fb_posts.Where(x => x.idpost == dados.idRedeSocial).FirstOrDefault(); promoElastic.postsfacebook = new List <FacePost>(); FacePost post = new FacePost() { idpost = (int)postdb.idpost, compartilhamentos = (int)postdb.compartilhamentos, curtidas = postdb.reacoes, datahora = postdb.datahora.ToString("dd/MM/yyyy HH:mm:ss"), postagem = postdb.postagem, nomeimagem = postdb.nomeimagem, qtdcomentarios = (int)postdb.comentarios }; promoElastic.postsfacebook.Add(post); break; } case "twitter": { var postdb = db.tw_posts.Where(x => x.idpost == dados.idRedeSocial).FirstOrDefault(); promoElastic.poststwitter = new List <TwPost>(); TwPost post = new TwPost() { idpost = postdb.idpost, curtidas = (int)postdb.qtdfavoritado, retweets = (int)postdb.qtdretweets, datahora = postdb.datahora.Value.ToString("dd/MM/yyyy HH:mm:ss"), nomeimagem = postdb.nomeimagem, postagem = postdb.postagem }; promoElastic.poststwitter.Add(post); break; } case "instagram": { var postdb = db.insta_posts.Where(x => x.idpost == dados.idRedeSocial).FirstOrDefault(); promoElastic.postsinstagram = new List <InstaPost>(); InstaPost post = new InstaPost() { idpost = postdb.idpost, curtidas = (int)postdb.qtdcurtidas, datahora = postdb.datahora.Value.ToString("dd/MM/yyyy HH:mm:ss"), nomeimagem = postdb.nomeimagem, postagem = postdb.postagem, qtdcomentarios = (int)postdb.qtdcomentarios }; promoElastic.postsinstagram.Add(post); break; } case "youtube": { var postdb = db.yt_videos.Where(x => x.idvideo == dados.idRedeSocial).FirstOrDefault(); promoElastic.videosyoutube = new List <VideoYt>(); VideoYt post = new VideoYt() { idvideo = postdb.idvideo, curtidas = postdb.qtdcurtidas, datahora = postdb.datahora.ToString("dd/MM/yyyy HH:mm:ss"), nomeimagem = postdb.nomeimagem, descricao = postdb.descricao, qtdcomentarios = postdb.qtdcomentarios, visualizacoes = postdb.qtdvisualizacoes, descurtidas = postdb.qtddescurtidas }; promoElastic.videosyoutube.Add(post); break; } } } var node = new Uri(_server); var settings = new ConnectionSettings(node); settings.DisableDirectStreaming(true); settings.DefaultIndex(_indexElastic + "promocoes"); var client = new ElasticClient(settings); var resposta = client.Index(promoElastic, i => i.Type("promocao").Id(promoElastic.idpromocao)); var promoNoticia = new PromocaoNoticia(_server, _indexElastic); promoNoticia.atualizaPromocaoNoticiaElasticSearch(dados.idNoticia); }
public int EdicaoSalvarPromocaoMySQL(Promocao dados) { var promoDB = new ZAdmin_DB.Model.promo_promocoes(); promoDB = db.promo_promocoes.Where(x => x.idpromocao == dados.idPromocao).FirstOrDefault(); promoDB.idorgaoregulador = dados.idOrgaoregulador != null ? dados.idOrgaoregulador : null; promoDB.idmodalidade = dados.idModalidade != null ? dados.idModalidade : 1; // 1 - modalidade outros promoDB.nome = dados.nome; promoDB.certificadoautorizacao = dados.certificadoAutorizacao; promoDB.outrosinteressados = dados.outrosInteressados; promoDB.abrangencianacional = dados.abrangenciaNacional; if (dados.dtCadastro == null && promoDB.dtcadastro == null) { promoDB.dtcadastro = DateTime.Now; } else if (dados.dtCadastro != null && promoDB.dtcadastro == null) { promoDB.dtcadastro = dados.dtCadastro; } else if (dados.dtCadastro == null && promoDB.dtcadastro != null) { promoDB.dtcadastro = promoDB.dtcadastro; } else if (dados.dtCadastro != null && promoDB.dtcadastro != null) { promoDB.dtcadastro = dados.dtCadastro; } else { promoDB.dtcadastro = promoDB.dtcadastro; } if (dados.dtVigenciaIni == null && promoDB.dtvigenciaini == null) { promoDB.dtvigenciaini = null; } else if (dados.dtVigenciaIni != null && promoDB.dtvigenciaini == null) { promoDB.dtvigenciaini = dados.dtVigenciaIni; } else if (dados.dtVigenciaIni == null && promoDB.dtvigenciaini != null) { promoDB.dtvigenciaini = promoDB.dtvigenciaini; } else if (dados.dtVigenciaIni != null && promoDB.dtvigenciaini != null) { promoDB.dtvigenciaini = dados.dtVigenciaIni; } else { promoDB.dtvigenciaini = promoDB.dtvigenciaini; } if (dados.dtVigenciaFim == null && promoDB.dtvigenciafim == null) { promoDB.dtvigenciafim = null; } else if (dados.dtVigenciaFim != null && promoDB.dtvigenciafim == null) { promoDB.dtvigenciafim = dados.dtVigenciaFim; } else if (dados.dtVigenciaFim == null && promoDB.dtvigenciafim != null) { promoDB.dtvigenciafim = promoDB.dtvigenciafim; } else if (dados.dtVigenciaFim != null && promoDB.dtvigenciafim != null) { promoDB.dtvigenciafim = dados.dtVigenciaFim; } else { promoDB.dtvigenciafim = promoDB.dtvigenciafim; } promoDB.valorpremios = dados.valorPremio; promoDB.linksitepromocao = dados.linkSitePromocao; promoDB.linkfacebook = dados.linkFacebook; promoDB.linkinstagram = dados.linkInstagram; promoDB.linktwitter = dados.linkTwitter; promoDB.linkyoutube = dados.linkYoutube; promoDB.mecanicapromo = dados.mecanicaPromo; promoDB.produtosparticipantes = dados.produtosParticipantes; promoDB.premiospromo = dados.premiosPromo; promoDB.linkregulamento = dados.linkRegulamento; promoDB.textoregulamento = dados.textoRegulamento; promoDB.excluido = false; // Salvar empresas // ======================================= if (dados.ListaEmpresas != null && dados.ListaEmpresas.Count() > 0) { foreach (var idempresa in dados.ListaEmpresas) { var existeEmp = promoDB.promo_promoempresas.Where(x => x.idempresa == idempresa).FirstOrDefault(); if (existeEmp == null) { var empDB = new ZAdmin_DB.Model.promo_promoempresas(); empDB.idempresa = idempresa; empDB.idpromocao = promoDB.idpromocao; promoDB.promo_promoempresas.Add(empDB); } } } //Exclui as empresas retiradas da promoção no MySQL var empresasExcluir = (from e in promoDB.promo_promoempresas where (dados.ListaEmpresas == null) || !(from ev in dados.ListaEmpresas select ev).Contains(e.idempresa.Value) select e).ToList(); foreach (var e in empresasExcluir) { db.promo_promoempresas.Remove(e); } //Salvar Estados if (dados.ListaEstados != null && dados.ListaEstados.Count() > 0) { foreach (var idestado in dados.ListaEstados) { var existeEmp = db.promo_estadosabrangencia.Where(x => x.idestado == idestado && x.idpromocao == promoDB.idpromocao).FirstOrDefault(); if (existeEmp == null) { var empDB = new ZAdmin_DB.Model.promo_estadosabrangencia(); empDB.idestado = idestado; empDB.idpromocao = promoDB.idpromocao; promoDB.promo_estadosabrangencia.Add(empDB); } } } //Excluir estados var estadosExcluir = (from e in promoDB.promo_estadosabrangencia where (dados.ListaEstados == null) || !(from ev in dados.ListaEstados select ev).Contains(e.idestado.Value) select e).ToList(); foreach (var e in estadosExcluir) { db.promo_estadosabrangencia.Remove(e); } //Salvar Municipios if (dados.ListaMunicipios != null && dados.ListaMunicipios.Count() > 0) { foreach (var idmunicipio in dados.ListaMunicipios) { var existeEmp = db.promo_municipiosabrangencia.Where(x => x.idmunicipio == idmunicipio && x.idpromocao == promoDB.idpromocao).FirstOrDefault(); if (existeEmp == null) { var empDB = new ZAdmin_DB.Model.promo_municipiosabrangencia(); empDB.idmunicipio = idmunicipio; empDB.idpromocao = promoDB.idpromocao; promoDB.promo_municipiosabrangencia.Add(empDB); } } } //Excluir municipios var municipiosExcluir = (from e in promoDB.promo_municipiosabrangencia where (dados.ListaMunicipios == null) || !(from ev in dados.ListaMunicipios select ev).Contains(e.idmunicipio.Value) select e).ToList(); foreach (var e in municipiosExcluir) { db.promo_municipiosabrangencia.Remove(e); } if (promoDB.idpromocao == 0) { db.promo_promocoes.Add(promoDB); } db.SaveChanges(); return(promoDB.idpromocao); }