Пример #1
0
        private Mensagem.Mensagem atualizaPromocaoNoticiaInterna(int idPromocao, int idNoticia)
        {
            var resultado = db.promo_promonoticias.Where(x => x.idpromocao == idPromocao && x.idnoticia == idNoticia).Select(x => x);

            if (resultado.Any())
            {
                return(new Mensagem.Mensagem("A notícia já está associada a promoção.", Mensagem.Mensagem.tipoMensagem.Alerta, 2));
            }
            else
            {
                try
                {
                    // atualiza promoção mysql e elasticsearch
                    var promoNoticiaDB = new ZAdmin_DB.Model.promo_promonoticias();

                    promoNoticiaDB.idnoticia  = idNoticia;
                    promoNoticiaDB.idpromocao = idPromocao;

                    db.promo_promonoticias.Add(promoNoticiaDB);

                    db.SaveChanges();

                    atualizaPromocaoNoticiaElasticSearch(idNoticia);

                    return(new Mensagem.Mensagem("A notícia " + idNoticia + " foi associada a promoção " + idPromocao + ".", Mensagem.Mensagem.tipoMensagem.Sucesso, 1));
                }
                catch (Exception e)
                {
                    return(new Mensagem.Mensagem(e.ToString(), Mensagem.Mensagem.tipoMensagem.Erro, 2));
                }
            }
        }
Пример #2
0
        public Mensagem.Mensagem atualizaPromocaoNoticiaKnewin(int idPromocao, int idNoticiaKnewin)
        {
            var idNoticiaBanco = db.noticias.Where(n => n.idnoticia_knewin == idNoticiaKnewin).Select(r => r.idnoticia).FirstOrDefault();

            var resultado = db.promo_promonoticias.Where(x => x.idpromocao == idPromocao && x.idnoticia == idNoticiaBanco).Select(x => x);

            if (resultado.Any())
            {
                return(new Mensagem.Mensagem("A notícia já está associada a promoção.", Mensagem.Mensagem.tipoMensagem.Alerta, 2));
            }
            else
            {
                try
                {
                    //Se a notícia da Knewin não existir, faz o cadastro
                    if (idNoticiaBanco == 0)
                    {
                        var noticiasKnewin = new ZAdmin_RN.Knewin.NoticiasKnewin();
                        idNoticiaBanco = noticiasKnewin.ImportaNoticiaKnewin(idNoticiaKnewin, _server, _indexElastic);
                    }

                    //Associa noticia com a promoção no mysql
                    var promoNoticiaDB = new ZAdmin_DB.Model.promo_promonoticias();

                    promoNoticiaDB.idnoticia  = idNoticiaBanco;
                    promoNoticiaDB.idpromocao = idPromocao;
                    db.promo_promonoticias.Add(promoNoticiaDB);
                    db.SaveChanges();

                    //Associa noticia com a promoção no elastic (sempre, independente de notícia recém cadastrada ou antiga)
                    atualizaPromocaoNoticiaElasticSearch(idNoticiaBanco);

                    return(new Mensagem.Mensagem("A notícia " + idNoticiaBanco + " foi associada a promoção " + idPromocao + ".", Mensagem.Mensagem.tipoMensagem.Sucesso, 1));
                }
                catch (Exception e)
                {
                    return(new Mensagem.Mensagem(e.ToString(), Mensagem.Mensagem.tipoMensagem.Erro, 2));
                }
            }
        }