public Task SendEmailAsync(string email, string subject, string htmlMessage) { SendEmail se = new SendEmail(); MyMeetupEmail me = new MyMeetupEmail(subject, htmlMessage, email, _configuration["emailContact"]); return(se.SendSmtpEmailAsync(EmailSender.GetSettings(_configuration), me)); }
public ActionResult Index(SigninMeetupModel model, [FromServices] SignInManager <MyMeetupUser> signInManager, [FromServices] IConfiguration configuration) { if (!ModelState.IsValid) { return(View("Index", CreateLandingPageModel(model))); } MyMeetupUser user = UserManager.FindByEmailAsync(model.Email.Trim()).Result; if (user != null) { return(View("MyAccount", GetMyAccountModel(configuration, user))); } var result = Domain.AddRegularUser(model, null, UserManager); if (result.UserOk) { user = UserManager.FindByEmailAsync(model.Email).Result; SendEmail se = new SendEmail(); MyMeetupEmail email = new MyMeetupEmail($"Nouvel Adhérent {model.FirstName} {model.Name} ", configuration["emailContact"], configuration["emailContact"]) { Body = $"Prénom :{model.FirstName} <br/>Nom :{model.Name} - <br/>Email : {model.Email} <br/>Tel: {model.PhoneNumber}" }; //TODO Ugly, should be templated if (!string.IsNullOrEmpty(result.RegistrationCode)) { var meetup = Domain.GetMeetup(model.MeetupId.Value, true); email.Body += Environment.NewLine + $"Inscrit(e) à {meetup.Title} et son code d'enregistrement est {result.RegistrationCode}"; } email.ReplyTo = model.Email; try { if (!Debugger.IsAttached) { se.SendSmtpEmail(EmailSender.GetSettings(configuration), email); } } catch (Exception e) { _telemetryClient.TrackException(e); } signInManager.SignInAsync(user, isPersistent: true).Wait(); // signInManager.SignInAsync(user, isPersistent: true); if (model.MeetupId.HasValue) { return(RedirectToAction("Register", new { meetupId = model.MeetupId.Value })); } return(RedirectToAction("MyAccount")); // return View("MyAccount", GetMyAccountModel(configuration, user)); } return(View("Index", CreateLandingPageModel())); }
public IActionResult PostRegister(MeetupRegisterModel model, [FromServices] IConfiguration configuration) { if (ModelState.IsValid) { var accomodations = AccomodationModel.DefaultAccomodationModels; Registration r = new Registration(CurrentUser.Id, model.MeetupId) { AccomodationId = model.AccomodationId, Notes = model.Notes, NumberOfAdults = model.AdultNumber, NumberOfChildren = model.ChildrenNumber, RegistrationStatus = ERegistrationStatus.Registered }; Domain.AddOrUpdateRegistration(r); string body = "Bonjour :-) <br/><br/>"; body += "Voici une réservation à partir du site de Rencontres Non-Scos :<br/><br/>"; body += $"Prénom : {CurrentUser.FirstName}<br/> Nom : {CurrentUser.LastName} <br/>Email : {CurrentUser.Email}<br/>"; body += $"Logement : {accomodations.Single(x => x.Id == r.AccomodationId).Id}<br/>Adultes : {r.NumberOfAdults} <br/>Enfants : {r.NumberOfChildren}<br/>"; if (!string.IsNullOrWhiteSpace(r.Notes)) { body += "Notes :<hr>"; body += r.Notes; body += "<hr>"; } body += "<br/>Cordialement"; SendEmail se = new SendEmail(); Meetup m = Domain.GetMeetup(model.MeetupId, true); MyMeetupEmail email = new MyMeetupEmail($"{CurrentUser.FirstName} {CurrentUser.LastName} s'inscrit à " + m.Title, body, m.MeetupPlaceAdminEmail ?? configuration["emailContact"], configuration["emailContact"]); if (!string.IsNullOrEmpty(m.MeetupPlaceAdminEmail)) { email.BCC = configuration["emailContact"]; } if (Debugger.IsAttached) { email.To = configuration["emailContact"]; email.Subject = "TEST " + email.Subject; } email.ReplyTo = CurrentUser.Email; email.CC = CurrentUser.Email; SendEmail s = new SendEmail(); se.SendSmtpEmail(EmailSender.GetSettings(configuration), email); return(Redirect("/me")); } MeetupRegisterModel rm = CreateModelForRegistration(model); Tools.TransferModalStateError(rm.Errors, ModelState); return(View("Register", rm)); }