Ejemplo n.º 1
0
        private async void SendEmail(string userId, int expenseId)
        {
            // Fire and forget
            try
            {
                string           resourceUri  = _config.GetSection("api").GetSection("postSendEmail").Value;
                string           url          = $"{ _config.GetSection("api").GetSection("baseUrl").Value}{resourceUri}";
                RequestSendEmail reqSendEmail = new RequestSendEmail()
                {
                    UserId = userId, ExpenseId = expenseId
                };

                using (var client = new HttpClient())
                    using (var request = new HttpRequestMessage(HttpMethod.Post, url))
                        using (var httpContent = new UtilHttpContent().CreateHttpContent(reqSendEmail))
                        {
                            request.Content = httpContent;
                            using (var response = await client
                                                  .SendAsync(request, HttpCompletionOption.ResponseHeadersRead))
                            {
                                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                                {
                                    // var content = await response.Content.ReadAsStringAsync();
                                    // return StatusCode((int)response.StatusCode, content);
                                    // LOG Success
                                }
                            }
                        }
            } catch (Exception ex)
            {
                string msg = ex.Message;
                // LOG ERROR
            }
        }
Ejemplo n.º 2
0
 internal void DoSendEmail(RequestSendEmail req)
 {
     if (req.Client == null)
     {
         SendMail(req.Action, req.Date);
     }
     else
     {
         SendMail(req.Action, req.Date, req.Client);
     }
 }
Ejemplo n.º 3
0
        ///====== Message methods ======

        //@Headers({ "Content-Type: application/json"})
        //@POST("api/v1/sendemail")
        //Call<ResponseCodes> sendEmail(@Body RequestSendEmail requestSendEmail);
        public async Task <ResponseCount> SendEmailAsync(RequestSendEmail requestSendEmaile)
        {
            var uri = new Uri(baseUri + @"api/v1/sendemail");
            // Сформировать JSON данные
            string jsonContent = JsonConvert.SerializeObject(requestSendEmaile);
            HttpResponseMessage httpResponse = await cmd.PostAsync(uri, jsonContent);

            ResponseCount responseCount = new ResponseCount();

            if (httpResponse.IsSuccessStatusCode)
            {
                responseCount = JsonConvert.DeserializeObject <ResponseCount>(httpResponse.Content.ToString());
            }
            else
            {
                responseCount.Error   = true;
                responseCount.ErrCode = "";
                responseCount.ErrMsg  = "Ошибка HttpClient.";
            }
            return(responseCount);
        }
Ejemplo n.º 4
0
        public void SimulatedMailTest()
        {
            Notifier _notif = new Notifier();

            // Eliminar archivo de email creado en prueba anteriores
            if (System.IO.File.Exists(Notifier.EmailFile))
            {
                System.IO.File.Delete(Notifier.EmailFile);
            }

            // Creando system config
            SystemConfigData syscfg = new SystemConfigData();

            syscfg.SMtpServer  = "smtp.test";
            syscfg.Source      = "*****@*****.**";
            syscfg.Destination = "*****@*****.**";
            syscfg.Password    = "******";

            _notif.ReceiveSystemConfig(new SendSystemConfig(syscfg));

            _notif.Start();

            RequestSendEmail req = new RequestSendEmail(EMessageAction.SysStart, DateTime.Now);

            _notif.SendEmail(req);

            Assert.IsNotNull(_notif.SmtpClient);
            Assert.IsTrue(System.IO.File.Exists(Notifier.EmailFile));

            _notif.Stop();

            if (System.IO.File.Exists(Notifier.EmailFile))
            {
                System.IO.File.Delete(Notifier.EmailFile);
            }
        }
        // public async void Post([FromBody] RequestSendEmail requestSendEmail)
        public async Task <ActionResult <string> > Post([FromBody] RequestSendEmail requestSendEmail)
        {
            // Fire and forget

            /** iwr -Method POST -Uri https://ms-expense-react-func-app.azurewebsites.net/api/onExpSubmittedAddToQueToCreatePdfAndSendMail?code=<<...get..from...azure...fn..>>
             *      -Headers @{ "content-type"="application/json" }
             *      -Body `{user: {userId: 'user1'}, expenseId: 2}`
             */
            try
            {
                string url = _configuration.GetSection("Api").GetSection("SendGridEmail").Value;
                using (var client = new HttpClient())
                    using (var request = new HttpRequestMessage(HttpMethod.Post, url))
                        using (var httpContent = new UtilHttpContent().CreateHttpContent(requestSendEmail))
                        {
                            request.Content = httpContent;
                            using (var response = await client
                                                  .SendAsync(request, HttpCompletionOption.ResponseHeadersRead))
                            {
                                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                                {
                                    // var content = await response.Content.ReadAsStringAsync();
                                    // return StatusCode((int)response.StatusCode, content);
                                    // LOG Success
                                }
                                return(response.Content.ToString());
                            }
                        }
            }
            catch (Exception ex)
            {
                // LOG ERROR
                string error = ex.Message.ToString();
                return(null);
            }
        }
Ejemplo n.º 6
0
 public void SendEmail(RequestSendEmail req)
 {
     DoSendEmail(req);
 }