Exemplo n.º 1
0
        public IActionResult Index(BasketSummaryViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(Basket(viewModel));
            }

            basketService.Clear("user1");

            return(View("Success"));
        }
Exemplo n.º 2
0
        protected void ClearBasketButton_Click(object sender, EventArgs e)
        {
            IBasketService basketService = AbleContext.Resolve <IBasketService>();

            basketService.Clear(AbleContext.Current.User.Basket);
            BindBasketGrid();
        }
Exemplo n.º 3
0
        public async Task <int> Clear()
        {
            var userId   = User.GetId();
            var basketId = new BasketId(userId);

            return(await _basket.Clear(basketId));
        }
Exemplo n.º 4
0
        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());
            }
        }
Exemplo n.º 5
0
        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));
            }
        }
Exemplo n.º 7
0
        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);
            }
        }
Exemplo n.º 8
0
        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());
        }
Exemplo n.º 9
0
 public Task Clear() => _service.Clear();
Exemplo n.º 10
0
        protected void ClearBasketButton_Click(object sender, EventArgs e)
        {
            IBasketService basketService = AbleContext.Resolve <IBasketService>();

            basketService.Clear(_Basket);
        }
Exemplo n.º 11
0
        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;
            }
        }