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)); } }
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); } }