コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }