/// <summary> /// Add new address /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ResultModel <Guid> > AddAddressAsync(AddNewAddressViewModel model) { var currentUserRequest = await _userManager.GetCurrentUserAsync(); if (!currentUserRequest.IsSuccess) { return(currentUserRequest.Map(Guid.Empty)); } var user = currentUserRequest.Result; var address = new Address { AddressLine1 = model.AddressLine1, AddressLine2 = model.AddressLine2, ContactName = model.ContactName, ZipCode = model.ZipCode, Phone = model.Phone, CountryId = model.CountryId, StateOrProvinceId = model.CityId, ApplicationUserId = user.Id, IsDefault = model.IsDefault }; if (model.IsDefault) { _context.Addresses .Where(x => x.ApplicationUserId.Equals(user.Id)) .ToList().ForEach(b => b.IsDefault = false); } await _context.Addresses.AddAsync(address); var dbResult = await _context.PushAsync(); return(dbResult.Map(address.Id)); }
public ActionResult AddAddress(AddNewAddressViewModel model) { if (ModelState.IsValid) { var userID = IdentityHelpers.GetUserId(User.Identity); var address = Mapper.Map <Address>(model); address.UserID = userID; _userService.AddNewAddress(userID, address); _uow.Save(); return(RedirectToAction("EditAddresses")); } return(View(model)); }
public async Task <JsonResult> AddNewAddress(AddNewAddressViewModel model) { return(!ModelState.IsValid ? Json(new ResultModel <Guid>().AttachModelState(ModelState)) : Json(await _addressService.AddAddressAsync(model))); }
// // GET: /Account/AddAddress/ public ActionResult AddAddress() { var model = new AddNewAddressViewModel(); return(View(model)); }