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 void RemoverNotificacao(DTONotificacaoProduto notificacao) { //var destinario = _destinarioRepo.Listar().ToList().Where(x => x.Email.Contains(emailDestinario)).FirstOrDefault(); NotificacaoProduto notificacaoAchada = notificacao.Id.HasValue ? _repo.EncontrarPorId((int)notificacao.Id) : _repo.Listar(x => x.Destinario.Email == notificacao.EmailDestinario && x.NomeProduto.ToLower().Contains(notificacao.NomeProduto)).FirstOrDefault(); _repo.Remover(notificacaoAchada); _repo.Savechanges(); }
public IHttpActionResult RemoverNotificacao([FromBody] DTONotificacaoProduto notificacao) { try { NotificacaoProdutoService service = new NotificacaoProdutoService(); service.RemoverNotificacao(notificacao); return(Ok(new { message = "Notificação de produto descadastrada com sucesso." })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult CadastroNotificacao([FromBody] DTONotificacaoProduto notificacao) { try { NotificacaoProdutoService service = new NotificacaoProdutoService(); var objCtx = service.CadastrarNotificacao(notificacao.EmailDestinario, new NotificacaoProduto { NomeProduto = notificacao.NomeProduto, ValorMaxProduto = notificacao.ValorMaxProduto, ValorMinProduto = notificacao.ValorMinProduto }); return(Ok(new { data = objCtx, message = "Notificação de produto cadastrada com sucesso." })); } catch (Exception ex) { return(InternalServerError(ex)); } }