public void Enviar(ContatoDao contatoDao)
        {
            try
            {
                ValidarEnviar(contatoDao);

                EmailDao emailDao = new EmailDao();

                emailDao.Titulo       = "Chico do Colchão";
                emailDao.Assunto      = contatoDao.Assunto.Trim();
                emailDao.Remetente    = contatoDao.Email.Trim();
                emailDao.Destinatario = "*****@*****.**";
                emailDao.Mensagem     = contatoDao.Mensagem + "<br/><br/>" + contatoDao.Nome.Trim() + "<br/>" + contatoDao.Email.Trim();

                emailBusiness.Enviar(emailDao);
            }
            catch (BusinessException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                logRepository.Incluir(new Log()
                {
                    Descricao = ex.ToString(), DataHora = DateTime.Now
                });

                throw ex;
            }
        }
        public bool EnviarComandaPorEmail(int pedidoId, out string email, out string erro, int tipoUsuarioId)
        {
            email = string.Empty;
            erro  = string.Empty;

            try
            {
                var pedidoDao = new PedidoRepository().Listar(new Pedido()
                {
                    PedidoID = pedidoId
                }, true, 1).Select(x => x.ToApp()).ToList().FirstOrDefault();

                if (pedidoDao == null)
                {
                    erro = $"Pedido {pedidoId} não encontrado";
                    return(false);
                }

                if (pedidoDao.ClienteDao.FirstOrDefault() == null || string.IsNullOrEmpty(pedidoDao.ClienteDao.FirstOrDefault().Email))
                {
                    erro = "E-mail do cliente não encontrado";
                    return(false);
                }

                var mensagem = $"Olá {pedidoDao.ClienteDao.FirstOrDefault().Nome.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).FirstOrDefault()}.<br /><br />";
                mensagem += (pedidoDao.PedidoTrocaID > 0 ? "Seu Pedido de Troca " : "Seu Pedido ") + pedidoDao.PedidoID + " foi recebido com sucesso!<br /><br />";
                mensagem += "Em anexo, segue todos os detalhes do seu pedido.<br /><br />";
                mensagem += "A Chico do Colchão agradece a preferência!";

                var bytes  = Comanda(pedidoDao, tipoUsuarioId);
                var stream = new MemoryStream(bytes);

                var emailDao = new EmailDao();

                emailDao.Titulo       = "Chico do Colchão";
                emailDao.Assunto      = pedidoDao.PedidoTrocaID > 0 ? $"Pedido de Troca {pedidoDao.PedidoID}" : $"Pedido {pedidoDao.PedidoID}";
                emailDao.Remetente    = "*****@*****.**";
                emailDao.Destinatario = pedidoDao.ClienteDao.FirstOrDefault().Email;
                emailDao.Mensagem     = mensagem;
                emailDao.Anexo.Add(new Attachment(stream, pedidoDao.PedidoTrocaID > 0 ? $"Pedido de Troca {pedidoDao.PedidoID}" : $"Pedido {pedidoDao.PedidoID}", "application/pdf"));

                emailBusiness.Enviar(emailDao);

                email = pedidoDao.ClienteDao.FirstOrDefault().Email;

                return(true);
            }
            catch (Exception ex)
            {
                erro = ex.Message;
                logRepository.Incluir(new Log()
                {
                    Descricao = ex.ToString(), DataHora = DateTime.Now
                });
            }

            return(false);
        }
        public void Solicitar(AtendimentoDeliveryDao atendimentoDeliveryDao)
        {
            try
            {
                ValidarEnviar(atendimentoDeliveryDao);

                EmailDao emailDao = new EmailDao();

                emailDao.Titulo       = "Chico do Colchão";
                emailDao.Assunto      = string.Format("Atendimento Delivery - {0}", atendimentoDeliveryDao.Nome);
                emailDao.Remetente    = atendimentoDeliveryDao.Email.Trim();
                emailDao.Destinatario = "*****@*****.**";
                emailDao.Mensagem     = "Uma solicitação de atendimento delivery foi feita por " + atendimentoDeliveryDao.Nome.Trim() + ".<br/>"
                                        + "Os detalhes seguem abaixo: <br/><br/>"
                                        + "Telefone Fixo: " + (string.IsNullOrEmpty(atendimentoDeliveryDao.TelefoneFixo) ? "Não informado" : atendimentoDeliveryDao.TelefoneFixo) + "<br/>"
                                        + "Telefone Celular: " + (string.IsNullOrEmpty(atendimentoDeliveryDao.TelefoneCelular) ? "Não informado" : atendimentoDeliveryDao.TelefoneCelular) + "<br/>"
                                        + "Endereço: " + (string.IsNullOrEmpty(atendimentoDeliveryDao.Endereco) ? "Não informado" : atendimentoDeliveryDao.Endereco) + "<br/>"
                                        + "Bairro: " + (string.IsNullOrEmpty(atendimentoDeliveryDao.Bairro) ? "Não informado" : atendimentoDeliveryDao.Bairro) + "<br/>"
                                        + "<br/><br/>" + atendimentoDeliveryDao.Nome + "<br/>" + atendimentoDeliveryDao.Email.Trim();

                emailBusiness.Enviar(emailDao);
            }
            catch (BusinessException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                logRepository.Incluir(new Log()
                {
                    Descricao = ex.ToString(), DataHora = DateTime.Now
                });

                throw ex;
            }
        }