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 EdicaoSalvarPromocaoElasticSearch(int idpromocao) { var promoDB = new ZAdmin_DB.Model.promo_promocoes(); promoDB = db.promo_promocoes.Include("promo_estadosabrangencia.estados").Include("promo_promoempresas.empresas"). Include("promo_municipiosabrangencia.municipios").Where(x => x.idpromocao == idpromocao).FirstOrDefault(); 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.Update<Promocao, object>(idpromocao, d => d.Doc(promo)); var resposta = client.Update <Promocao, object>(idpromocao, d => d.Doc( new { idorgaoregulador = promoDB.idorgaoregulador, idmodalidade = promoDB.idmodalidade, nomepromocao = promoDB.nome, certificadoautorizacao = promoDB.certificadoautorizacao, outrosinteressados = promoDB.outrosinteressados, abrangencia_nacional = promoDB.abrangencianacional, dtcadastro = promoDB.dtcadastro != null ? promoDB.dtcadastro.Value.ToString("yyyy-MM-dd") : null, dtvigenciaini = promoDB.dtvigenciaini != null ? promoDB.dtvigenciaini.Value.ToString("yyyy-MM-dd") : null, dtvigenciafim = promoDB.dtvigenciafim != null ? promoDB.dtvigenciafim.Value.ToString("yyyy-MM-dd") : null, valorpremio = promoDB.valorpremios, linksitepromocao = promoDB.linksitepromocao, linkfacebook = promoDB.linkfacebook, linkinstagram = promoDB.linkinstagram, linktwitter = promoDB.linktwitter, linkyoutube = promoDB.linkyoutube, mecanicapromo = promoDB.mecanicapromo, nomemodalidade = db.promo_modalidades.Where(x => x.idpromomodalidade == promoDB.idmodalidade).Select(x => x.nome).FirstOrDefault(), produtosparticipantes = promoDB.produtosparticipantes, premiospromo = promoDB.premiospromo, linkregulamento = promoDB.linkregulamento, textoregulamento = promoDB.textoregulamento, excluido = false, abrangestados = promoDB.promo_estadosabrangencia.Select(x => new AbrangEstados { idestado = x.idestado.Value, nome = x.estados.nome, uf = x.estados.uf }).ToList(), empresas = promoDB.promo_promoempresas.Select(x => new Empresa { idempresa = (int)x.idempresa, nome = x.empresas.nome }).ToList(), abrangmunicipios = promoDB.promo_municipiosabrangencia.Select(x => new AbrangMunicipio { idmunicipio = (int)x.idmunicipio, nome = x.municipios.nome, idestado = (int)x.municipios.idestado, uf = x.municipios.estados.uf }).ToList(), arquivosregulamento = promoDB.promo_regulamentoarquivos.Select(x => new Arquivo { nomearquivo = x.nome, tipo = x.tipo }), arquivosrelacionados = promoDB.promo_arquivos.Select(x => new Arquivo { nomearquivo = x.nome, tipo = x.tipo, url = x.url }) } )); return(idpromocao); }
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); }