public async Task <IActionResult> Register(UserRegisterViewModel vm) { if (ModelState.IsValid) { var user = await _userManagerService.FindByNameAsync(vm.UserName); if (user != null) { ModelState.AddModelError("", "User Already Exists"); return(View(vm)); } user = new ApplicationUser { UserName = vm.UserName, }; user.Email = vm.Email; user.PhoneNumber = vm.PhoneNumber; IdentityResult result = await _userManagerService.CreateAsync(user, vm.Password); if (result.Succeeded) { IdentityResult result2 = await _userManagerService.AddToRoleAsync(user, "Customer"); UserDeliveryAddress address = new UserDeliveryAddress { DeliveryAddress = vm.DeliveryAddress + " " + vm.DeliveryAddress2, StateAddress = vm.State, PostalAddress = vm.PostCode, ApplicationUserId = user.Id }; await _addressService.Create(address); //go to Home/Index return(RedirectToAction("Index", "Home")); } else { //show errors foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); return(View(vm)); } } } return(View(vm)); }
public async Task <IActionResult> AddNewAddress(UserAddressDetailsViewModel vm) { if (ModelState.IsValid) { var user = await _userManagerService.GetUserAsync(User); UserDeliveryAddress deliveryAddress = new UserDeliveryAddress { ApplicationUserId = user.Id, StateAddress = vm.State, PostalAddress = vm.PostCode, DeliveryAddress = vm.DeliveryAddress }; await _addressService.Create(deliveryAddress); return(RedirectToAction("Details", "User")); } return(View(vm)); }