コード例 #1
0
ファイル: Email.cs プロジェクト: RicardoGaefke/profile4d
        public EmailMessage.Message Info(int id)
        {
            EmailMessage.Message _return = new EmailMessage.Message();

            using (SqlConnection Con = new SqlConnection(_connStr.Value.SqlServer))
            {
                using (SqlCommand Cmd = new SqlCommand())
                {
                    Cmd.CommandType = CommandType.StoredProcedure;
                    Cmd.Connection  = Con;
                    Cmd.CommandText = "[sp_EMAIL_INFO]";

                    Cmd.Parameters.AddWithValue("@ID", id);

                    Con.Open();

                    using (SqlDataReader MyDR = Cmd.ExecuteReader())
                    {
                        MyDR.Read();

                        _return.Name  = MyDR.GetString(0);
                        _return.Email = MyDR.GetString(1);

                        EmailMessageModels.Content content = new EmailMessageModels.Content(
                            MyDR.GetString(2),
                            MyDR.GetString(3)
                            );

                        _return.Content = content;
                    }
                }
            }

            return(_return);
        }
コード例 #2
0
ファイル: Email.cs プロジェクト: RicardoGaefke/profile4d
        public int CreateEmail(string name, string email, int sentBy, EmailMessageModels.Content content)
        {
            int messageId;

            EmailMessage.Message data = new EmailMessage.Message(name, email, content, sentBy);

            using (SqlConnection Con = new SqlConnection(_connStr.Value.SqlServer))
            {
                using (SqlCommand Cmd = new SqlCommand())
                {
                    Cmd.CommandType = CommandType.StoredProcedure;
                    Cmd.Connection  = Con;
                    Cmd.CommandText = "[sp_EMAIL_INSERT]";

                    Cmd.Parameters.AddWithValue("@NAME", data.Name);
                    Cmd.Parameters.AddWithValue("@EMAIL", data.Email);
                    Cmd.Parameters.AddWithValue("@SUBJECT", content.Subject);
                    Cmd.Parameters.AddWithValue("@BODY", content.Body);
                    Cmd.Parameters.AddWithValue("@SENT_BY", data.SentBy);

                    Con.Open();

                    using (SqlDataReader MyDR = Cmd.ExecuteReader())
                    {
                        MyDR.Read();

                        messageId = MyDR.GetInt32(0);
                    }
                }
            }

            return(messageId);
        }
コード例 #3
0
        public async Task EnviarEmails(
            [QueueTrigger("%queueName_email%")]
            string message,
            int DequeueCount,
            ILogger logger
            )
        {
            int messageId = Convert.ToInt32(message);

            EmailMessage.Message mailMessage = _data.Info(messageId);
            string sgKey = await _email.SendEmail(mailMessage);

            _data.UpdateSendGridInfo(messageId, sgKey, DequeueCount);
            await _connection.InvokeAsync("Profile4D", sgKey);
        }
コード例 #4
0
        public async Task <string> SendEmail(EmailMessage.Message message)
        {
            SendGridClient client = new SendGridClient(_connectionStrings.Value.SendGrid);

            var msg = new SendGridMessage()
            {
                From        = new EmailAddress("*****@*****.**", "Atendimento Profile4D"),
                Subject     = message.Content.Subject,
                HtmlContent = message.Content.Body
            };

            if (!string.IsNullOrEmpty(message.Name) && message.Name != "New User")
            {
                msg.AddTo(new EmailAddress(message.Email, message.Name));
            }
            else
            {
                msg.AddTo(new EmailAddress(message.Email));
            }

            Response response = await client.SendEmailAsync(msg);

            return(response.Headers.GetValues("x-message-id").FirstOrDefault());
        }