public IHttpActionResult Email([FromBody] DTONotificacaoProduto notificacaoProduto)
        {
            try
            {
                EmailNotification         notification      = new EmailNotification();
                NotificacaoProdutoService notifyServ        = new NotificacaoProdutoService();
                DestinarioService         destinarioService = new DestinarioService();
                CrawlerService            crawler           = new CrawlerService();

                var produtosParaNotificar = notifyServ.ListarNotificacoes(notificacaoProduto.EmailDestinario);
                var destinario            = destinarioService.GetDestinario(notificacaoProduto.EmailDestinario);

                List <Produto> listaProdutos = new List <Produto>();

                foreach (var produtos in produtosParaNotificar)
                {
                    var listaProdutosIteracao = crawler.PesquisarProduto(new DTOProdutoPesquisa {
                        produto = produtos.NomeProduto, valor_produto_min = produtos.ValorMinProduto, valor_produto_max = produtos.ValorMaxProduto
                    }).Take(4);
                    listaProdutosIteracao.ForEach(x => listaProdutos.Add(x));
                }

                notification.Notificar(listaProdutos, destinario);
                return(Ok(new {
                    message = "E-mail enviado com sucesso."
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        public IHttpActionResult AtualizarDestinario([FromBody] DTODestinario destinario)
        {
            try
            {
                DestinarioService service = new DestinarioService();

                var objCtx = service.GetDestinarioNoTracking((int)destinario.Id);
                service.AtualizarDestinario(objCtx);
                return(Ok(new {
                    message = "Destinário Atualizado com sucesso."
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
 public IHttpActionResult CadastroDestinario([FromBody] DTODestinario destinario)
 {
     try
     {
         DestinarioService service = new DestinarioService();
         var objCtx = service.CadastrarDestinario(new Destinario
         {
             Contato = destinario.Contato,
             Email   = destinario.Email,
             Nome    = destinario.Nome
         });
         return(Ok(objCtx));
     }
     catch (Exception ex)
     {
         return(InternalServerError(ex));
     }
 }
Exemplo n.º 4
0
        public static void EnviarEmailPrecos()
        {
            EmailNotification         notification      = new EmailNotification();
            NotificacaoProdutoService notifyServ        = new NotificacaoProdutoService();
            DestinarioService         destinarioService = new DestinarioService();
            CrawlerService            crawler           = new CrawlerService();

            var destinarios = destinarioService.ListarDestinarios();

            foreach (var destinario in destinarios)
            {
                List <Produto> listaProdutos = new List <Produto>();

                foreach (var produtos in destinario.Produtos)
                {
                    var listaProdutosIteracao = crawler.PesquisarProduto(new DTOProdutoPesquisa {
                        produto = produtos.NomeProduto, valor_produto_min = produtos.ValorMinProduto, valor_produto_max = produtos.ValorMaxProduto
                    }).Take(4).ToList();
                    listaProdutosIteracao.ForEach(x => listaProdutos.Add(x));
                }

                notification.Notificar(listaProdutos, destinario);
            }
        }