public async Task <ActionResult> Register(RegisterDonorViewModel registration) { var userManager = HttpContext.GetOwinContext().GetUserManager <WishlistUserManager>(); var user = await CreateDonor(registration, userManager); if (registration.DonorId.HasValue) { await AuthorizeDonorForUser(user, registration.DonorId.Value, userManager); await SendConfirmationEmail(user, userManager); await SignDonorIn(user, userManager); return(RedirectToAction("Index", "Home")); } var donor = new Donor(); _db.Donors.Add(donor); var cart = new Cart { Donor = donor, ModifiedDate = DateTime.Now }; _db.Carts.Add(cart); await _db.SaveChangesAsync(); await AuthorizeDonorForUser(user, donor.Id, userManager); await SendConfirmationEmail(user, userManager); await SignDonorIn(user, userManager); return(RedirectToAction("Index", "Home")); }
// GET: RegisterDonor public ActionResult RegisterDonor() { var viewModel = new RegisterDonorViewModel { RegisterDonor = new RegisterDonor() }; return(View("RegisterDonor", viewModel)); }
public static Address ToAddress(RegisterDonorViewModel viewModel) { return(new Address { City = viewModel.City, County = viewModel.County, Street = viewModel.Street, Number = viewModel.Number, }); }
public static Donor ToDonor(RegisterDonorViewModel viewModel, ApplicationUser applicationUser) { return(new Donor { Id = applicationUser.Id, FirstName = viewModel.FirstName, LastName = viewModel.LastName, CNP = viewModel.CNP, }); }
private async Task <WishlistUser> CreateDonor(RegisterDonorViewModel registration, WishlistUserManager manager) { await manager.CreateAsync(new WishlistUser { Name = registration.Name, UserName = registration.Email, Email = registration.Email }, registration.Password); return(await manager.FindByNameAsync(registration.Email)); }
//[ValidateAntiForgeryToken] public async Task <IActionResult> RegisterDonor([FromBody] RegisterDonorViewModel donorModel) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = donorModel.Email, Email = donorModel.Email }; var result = await _userManager.CreateAsync(user, donorModel.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var createdDonor = await _userManager.FindByEmailAsync(donorModel.Email); await _userManager.AddToRoleAsync(createdDonor, "Donor"); //var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); //var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme); //await _emailSender.SendEmailConfirmationAsync(donorModel.Email, callbackUrl); var donorDb = Mappers.MapperRegisterDonor.ToDonor(donorModel, createdDonor); var addressDb = Mappers.MapperRegisterDonor.ToAddress(donorModel); try { _donorsService.AddDonor(donorDb, addressDb); var codeResult = await _userManager.GenerateEmailConfirmationTokenAsync(user); //var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme); //await _emailSender.SendEmailConfirmationAsync(doctorModel.Email, callbackUrl); await _signInManager.SignInAsync(user, isPersistent : false); _logger.LogInformation("User created a new account with password."); //return RedirectToLocal(returnUrl); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } } AddErrors(result); } //If we got this far, something failed, redisplay form return(BadRequest("Something went wrong")); }
public ActionResult Save(RegisterDonor donor) { if (!ModelState.IsValid) { var viewModel = new RegisterDonorViewModel { RegisterDonor = donor }; return(View("RegisterDonor", viewModel)); } if (donor.Id == 0) { _context.RegisterDonors.Add(donor); } _context.SaveChanges(); TempData["Message"] = "Your data " + donor.Name + "has been saved successfully"; return(RedirectToAction("RegisterDonor")); //return RedirectToAction("Index", "Home"); }
public ActionResult Index() { RegisterDonorViewModel donor = TempData["Message"] as RegisterDonorViewModel; return View(donor); }