public IActionResult Index(BasketSummaryViewModel viewModel) { if (!ModelState.IsValid) { return(Basket(viewModel)); } basketService.Clear("user1"); return(View("Success")); }
protected void ClearBasketButton_Click(object sender, EventArgs e) { IBasketService basketService = AbleContext.Resolve <IBasketService>(); basketService.Clear(AbleContext.Current.User.Basket); BindBasketGrid(); }
public async Task <int> Clear() { var userId = User.GetId(); var basketId = new BasketId(userId); return(await _basket.Clear(basketId)); }
public async Task <ActionResult> Clear() { try { string id = User.Identity.GetUserId(); bool isDeleted = await _basketService.Clear(id); if (!isDeleted) { return(HttpNotFound()); } return(RedirectToAction("Index")); } catch (Exception) { return(HttpNotFound()); } }
public ActionResult <BasketViewModel> Clear(Guid basketId) { var basket = _basketService.Clear(basketId); if (basket == null) { return(NotFound()); } return(basket); }
public async Task <IActionResult> Delete() { var sessionId = Guid.Parse(Request.Cookies["Session"]); try { var response = await _basketService.Clear(sessionId); return(Ok(response)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <Guid> CreateAndClearBasket(CreateOrderShortModel model) { using (var tran = await _context.Database.BeginTransactionAsync(IsolationLevel.ReadCommitted)) { var buyer = User.GetId(); var bid = new BasketId(buyer); var basket = await _basket.Get(bid); await _basket.Clear(bid); var order = new Order( basket.Lines.Select(l => new OrderLine(new OrderProduct(l.Product.Id, l.Product.Title, l.Product.Price), l.Quantity)), new Client(buyer), new Address(model.Address) ); var id = await _service.Create(order); await tran.CommitAsync(); return(id.Value); } }
public void ProcessRequest(HttpContext context) { HttpResponse Response = context.Response; //GET THE ORDER ID FROM THE URL int orderId = AlwaysConvert.ToInt(context.Request.QueryString["o"]); Order order = OrderDataSource.Load(orderId); if (order != null) { //MAKE SURE ORDER IS FOR CURRENT USER User user = AbleContext.Current.User; if (order.User != null && order.User.Id == user.Id) { //CLEAR THE EXISTING BASKET List <string> basketMessages = new List <string>(); Basket basket = user.Basket; IBasketService basketService = AbleContext.Resolve <IBasketService>(); basketService.Clear(basket); foreach (OrderItem item in order.Items) { if ((item.OrderItemType == OrderItemType.Product) && (!item.IsChildItem)) { Product product = item.Product; if ((product != null) && (product.Visibility != CommerceBuilder.Catalog.CatalogVisibility.Private)) { BasketItem basketItem; try { basketItem = BasketItemDataSource.CreateForProduct(item.Product.Id, item.Quantity, item.OptionList, item.KitList); basketItem.IsSubscription = item.IsSubscription; if (!item.IsSubscription && item.Product != null) { basketItem.IsSubscription = item.Product.IsSubscription; } basketItem.Frequency = item.Frequency; basketItem.FrequencyUnit = item.FrequencyUnit; } catch { string itemName = item.Name; if (!string.IsNullOrEmpty(item.VariantName)) { itemName += " (" + item.VariantName + ")"; } basketMessages.Add("The item " + itemName + " is no longer available."); basketItem = null; } if (basketItem != null) { //SEE IF A PRODUCT TEMPLATE IS ASSOCIATED foreach (ProductTemplate template in product.ProductTemplates) { if (template != null) { foreach (InputField inputField in template.InputFields) { if (!inputField.IsMerchantField) { //COPY OVER ANY CUSTOMER INPUTS BasketItemInput itemInput = new BasketItemInput(); itemInput.BasketItem = basketItem; itemInput.InputField = inputField; itemInput.InputValue = GetItemInputValue(item, inputField.Name); basketItem.Inputs.Add(itemInput); } } } } if ((basketItem.OrderItemType == OrderItemType.Product) && (basketItem.Product.UseVariablePrice)) { basketItem.Price = item.Price; } basketItem.Basket = basket; basket.Items.Add(basketItem); //WE HAVE TO SAVE THE BASKET IN CASE IT IS NOT YET CREATED basket.Save(); } } } } if (context.Session != null) { context.Session["BasketMessage"] = basketMessages; } Response.Redirect(NavigationHelper.GetBasketUrl()); } } Response.Redirect(NavigationHelper.GetHomeUrl()); }
public Task Clear() => _service.Clear();
protected void ClearBasketButton_Click(object sender, EventArgs e) { IBasketService basketService = AbleContext.Resolve <IBasketService>(); basketService.Clear(_Basket); }
private void SaveEnquiry() { var showMessagePanel = false; Basket basket = AbleContext.Current.User.Basket; Boolean hasItems = false; if (basket.Items.Count > 0) { hasItems = true; } basket.User.Email = StringHelper.StripHtml(Email.Text); //PROCESS THE CHECKOUT try { Order order = new Order(); if (hasItems) { foreach (var rec in basket.Items) { order.Items.Add(new OrderItem() { ProductId = rec.ProductId, Product = rec.Product, Quantity = rec.Quantity, Name = rec.Name, Sku = rec.Sku }); } } order.BillToCountryCode = "AU"; order.BillToCountry = new CommerceBuilder.Shipping.Country() { Id = "AU", CountryCode = "AU" }; CreateAccount(); // Add the contact details to the saved order. order.BillToEmail = StringHelper.StripHtml(Email.Text); order.BillToFirstName = StringHelper.StripHtml(FirstName.Text); order.BillToLastName = StringHelper.StripHtml(LastName.Text); order.BillToPhone = StringHelper.StripHtml(Phone.Text); order.BillToCompany = StringHelper.StripHtml(Company.Text); order.OrderDate = DateTime.Now; // The list of files that have been uploaded are included in the HiddenFilesField. var files = (List <FileAttachment>)Session["UPLOADED_QUOTE"]; if (files == null) { files = new List <FileAttachment>(); } CrmHelper.SaveEnquiry(order, StringHelper.StripHtml(Comments.Text), files, AbleContext.Current.Store); FailureMessage.Visible = false; SuccessMessage.Visible = true; showMessagePanel = true; IBasketService basketService = AbleContext.Resolve <IBasketService>(); basketService.Clear(AbleContext.Current.User.Basket); BindBasketGrid(); } catch (Exception exp) { Logger.Error("ContactUs Control Exception: Exp" + Environment.NewLine + exp.Message); FailureMessage.Visible = true; SuccessMessage.Visible = false; showMessagePanel = true; } if (showMessagePanel) { MessagePanel.Visible = true; ContactFormPanel.Visible = false; BasketPanel.Visible = false; } }