Exemple #1
0
        public async Task <IActionResult> Index(RegistrationViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ViewData[nameof(WebResult)] = new WebResult
                {
                    Content     = "Invalid model",
                    ResultState = ResultState.Warning,
                    Validations = ModelState.AsValidationResult()
                };
                return(View());
            }

            var emailModel = new RegistrationEmailViewModel
            {
                Body             = "Welcome to .NET Core Wonderland",
                IsHtml           = true,
                Name             = model.Name,
                Subject          = "Registration",
                RegistrationDate = DateTime.Now,
                To = model.EMail
            };

            var request = new HttpRequestMessage(HttpMethod.Post, "api/mail/sendasync")
            {
                Content = new StringContent(JsonConvert.SerializeObject(emailModel), Encoding.UTF8, "application/json")
            };

            var response = await HostingFactory.HttpClient.SendAsync(request);

            response.EnsureSuccessStatusCode();
            ViewData[nameof(WebResult)] = new WebResult
            {
                Content     = "Mail has been sent.",
                ResultState = ResultState.Success
            };

            return(View(new RegistrationViewModel()));
        }
        public async Task SendAsync([FromBody] RegistrationEmailViewModel message)
        {
            var messageBody = await _mailProvider.RenderMailViewAsync(ControllerContext, MailTemplate.RegistrationComplete, message);

            await _mailProvider.SendAsync(message.To, message.Subject, messageBody);
        }
Exemple #3
0
 public async Task UpdateEmailAsync(RegistrationEmailViewModel model)
 {
     _MasterRepo.DataSource.User.EmailAddress = model.EmailAddress;
     await OfflineStorageRepository.Instance.UpdateRecordAsync(_MasterRepo.DataSource.User);
 }