public async Task <IActionResult> OnGetAsync() { var user = await userManager.GetUserAsync(User); if (user == null) { return(NotFound(string.Format(this.localizer[ErrorConstants.UserNotFound], userManager.GetUserId(User)))); } Model = await this.userAddressService.BindAddress(user.Id); return(Page()); }
public async Task <string> AddOrUpdateAddress(string userId, AddAddressBindingModel model) { var dbUser = await DbContext.Users.Include(u => u.Address).FirstOrDefaultAsync(u => u.Id == userId); if (dbUser.Address == null) { var address = Mapper.Map <Address>(model); DbContext.Addresses.Add(address); DbContext.SaveChanges(); dbUser.Address = address; DbContext.SaveChanges(); return(SuccessConstants.AddressAdd); } var currAddress = await DbContext.Addresses.FirstOrDefaultAsync(a => a.Id == dbUser.Address.Id); int id = currAddress.Id; currAddress = Mapper.Map(model, currAddress); currAddress.Id = id; DbContext.Addresses.Update(currAddress); DbContext.SaveChanges(); return(SuccessConstants.AddressUpdate); }