public async Task <IActionResult> Edit(int id, [Bind("Id,AccountAddress,MnemonicKey")] AccountAddressModel accountAddressModel) { if (id != accountAddressModel.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(accountAddressModel); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AccountAddressModelExists(accountAddressModel.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(accountAddressModel)); }
public async Task <IActionResult> Create([Bind("Id,AccountAddress,MnemonicKey")] AccountAddressModel accountAddressModel) { if (ModelState.IsValid) { Account account = new Account(); accountAddressModel.AccountAddress = account.Address.ToString(); accountAddressModel.MnemonicKey = account.ToMnemonic(); _context.Add(accountAddressModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(accountAddressModel)); }
public ActionResult AccountAddress(ContentModel model) { var aam = new AccountAddressModel(model.Content); var addresess = UvendiaContext.Addresses.AllByUserId(CurrentUser.UserId); var shipAddress = addresess.FirstOrDefault(x => x.AddressType == Uvendia.Domain.Enums.AddressType.ShipAddress); if (shipAddress == null) { aam.ShippingAddress = new Address(); aam.HasSameAddress = true; } else { aam.HasSameAddress = false; aam.ShippingAddress = shipAddress; } aam.ContactAddress = addresess.FirstOrDefault(x => x.AddressType == Uvendia.Domain.Enums.AddressType.Default) ?? new Address(); return(CurrentTemplate(aam)); }
public ActionResult UpdateAccountAddress(AccountAddressModel model) { model.ContactAddress.AddressTypeId = AddressType.Default.Id; if (model.ShippingAddress != null) { model.ShippingAddress.AddressTypeId = AddressType.ShipAddress.Id; } base.SuppressValidation(model.GetPropertyName(x => x.UserId)); base.SuppressValidation(model.GetPropertyName(x => x.EmailAddress)); base.SuppressValidation(model.GetPropertyName(x => x.FirstName)); base.SuppressValidation(model.GetPropertyName(x => x.LastName)); base.SuppressValidation(model.GetPropertyName(x => x.Phone)); if (model.HasSameAddress) { base.SuppressValidation(model.GetPropertyName(x => x.ShippingAddress)); model.ShippingAddress = null; UvendiaContext.Addresses.DeleteByUseryIdAndAddressType(CurrentUser.UserId, AddressType.ShipAddress); } if (ModelState.IsValid) { model.ContactAddress.CreatedBy = CurrentUser.UserId; var addresses = new List <Address>() { model.ContactAddress }; if (model.ShippingAddress != null) { model.ShippingAddress.Phone = model.ContactAddress.Phone; model.ShippingAddress.CreatedBy = CurrentUser.UserId; addresses.Add(model.ShippingAddress); } UvendiaContext.Addresses.Save(addresses); SnuffoSettings.ShowMessage(TempData, "Updated", "Your address updated successfuly.", AlertMessageType.Success); } return(CurrentUmbracoPage()); }
public ActionResult UpdateOrderCheckoutAddress(AccountAddressModel model) { model.ContactAddress.AddressTypeId = AddressType.Default.Id; model.ContactAddress.FirstName = model.FirstName; model.ContactAddress.LastName = model.LastName; model.ContactAddress.Email = model.EmailAddress; model.ContactAddress.Phone = model.Phone; base.SuppressValidation(model.GetPropertyName(x => x.ContactAddress.Phone)); base.SuppressValidation(model.GetPropertyName(x => x.ContactAddress.AddressTypeId)); base.SuppressValidation(model.GetPropertyName(x => x.ShippingAddress.AddressTypeId)); base.SuppressValidation(model.GetPropertyName(x => x.ShippingAddress.Phone)); if (model.ShippingAddress != null) { model.ShippingAddress.AddressTypeId = AddressType.ShipAddress.Id; } if (model.HasSameAddress) { base.SuppressValidation(model.GetPropertyName(x => x.ShippingAddress)); model.ShippingAddress = null; } if (!CurrentUser.IsAuthenticated) { base.SuppressValidation(model.GetPropertyName(x => x.UserId)); } else { if (model.HasSameAddress) { UvendiaContext.Addresses.DeleteByUseryIdAndAddressType(CurrentUser.UserId, AddressType.ShipAddress); } } if (ModelState.IsValid) { // Save user data if (CurrentUser.IsAuthenticated) { _auth0Helper.UpdateAuth0User(model); } model.ContactAddress.CreatedBy = CurrentUser.UserId; var addresses = new List <Address>() { model.ContactAddress }; if (model.ShippingAddress != null) { model.ShippingAddress.CreatedBy = CurrentUser.UserId; model.ShippingAddress.Phone = model.ContactAddress.Phone; addresses.Add(model.ShippingAddress); } UvendiaContext.Addresses.Save(addresses); var currentCart = CurrentCart.Create(SnuffoSettings.STORE_NAME); var order = currentCart.GetOrder(); // Attach address to order var invoiceAddress = addresses.Single(a => a.AddressTypeId == AddressType.Default.Id); order.InvoiceAddressId = invoiceAddress.Id; order.ShipAddressId = (model.ShippingAddress == null) ? (long?)null : addresses.Single(a => a.AddressTypeId != AddressType.Default.Id).Id; // Save the order currentCart.SaveOrder(order); if (order.HasOrderProductDetails()) { return(Redirect($"/{CurrentUser.LanguageCode}/cart/checkout-shipping")); } else { return(Redirect($"/{CurrentUser.LanguageCode}/cart/checkout-payment")); } } return(CurrentUmbracoPage()); }