Beispiel #1
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel basketSummaryViewModel = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                int?basketCount = (from item in basket.basketItems
                                   select item.quantity).Sum();

                decimal?basketTotal = (from item in basket.basketItems
                                       join p in product_context.Collection() on
                                       item.product_id equals p.id
                                       select item.quantity *p.price).Sum();

                basketSummaryViewModel.basket_count = basketCount ?? 0;
                basketSummaryViewModel.basket_total = basketTotal ?? 0;

                return(basketSummaryViewModel);
            }
            else
            {
                return(basketSummaryViewModel);
            }
        }
Beispiel #2
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                // ? means you can store a Null value in the Int variable
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();
                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();

                //If there is a basket count then return basket count/total else reurn o 0
                model.BasketCount = basketCount ?? 0;
                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #3
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0); //0,0 to start the construct, 0 items and 0 price

            if (basket != null)                                              //if there is a basket, we have to do some calculation, first is how many items is in the basket
            {
                int?basketCount =                                            //the ? means we can store a null value in here
                                  (
                    from item in basket.BasketItems                          //we are querying the basket items
                    select item.Quantity                                     //we select the quantity which is a integer
                                  ).Sum();                                   //count the quantity value of every item in our basket item table, if there is none, it will return null
                decimal?basketTotal =
                    (
                        from item in basket.BasketItems
                        join p in productContext.Collection()
                        on item.ProductId equals p.Id
                        select item.Quantity *p.Price
                    ).Sum();

                model.BasketCount = basketCount ?? 0; //?? means, if there is a value in basketCount, return it, else return 0
                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #4
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            // if we have a basket
            if (basket != null)
            {
                //Calculate how many items are in the basket
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();

                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();

                // If basketCount is null, consider 0
                model.BasketCount = basketCount ?? 0;
                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #5
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            //Call your class and use the empty declaration to pass default values
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            //Create your linq join query
            if (basket != null)
            {
                //calculations
                // int? / decimal? means that you can store a null value
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();

                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();

                //Assign these values to model, you need to return 0's if empty basket

                model.BasketCount = basketCount ?? 0; // if basket count contains something return that, otherwise return 0
                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #6
0
        //Display how many items and total in basket
        public BasketSummaryViewModel GetBasketsummary(HttpContextBase httpContext)
        {
            var _basket        = GetBasket(httpContext, false);
            var _basketSummary = new BasketSummaryViewModel(0, 0);

            if (_basket != null)
            {
                //? means variable accepts null
                int?basketCount = (from item in _basket.BasketItems
                                   select item.Quantity).Sum();

                decimal?basketTotal = (from item in _basket.BasketItems
                                       join pro in _productContext.Collection() on item.ProductId equals pro.Id
                                       select item.Quantity *pro.Price).Sum();

                //if basketCount/basketTotal is null assign a 0, otherwise assign value returned
                _basketSummary.BasketCount = basketCount ?? 0;
                _basketSummary.BasketTotal = basketTotal ?? decimal.Zero;

                return(_basketSummary);
            }
            else
            {
                return(_basketSummary);
            }
        }
Beispiel #7
0
        public BasketSummaryViewModel BasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();

                decimal?BasketTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection()
                                       on item.ProductID
                                       equals p.Id
                                       select item.Quantity *p.Price).Sum();

                model.BasketCount = basketCount ?? 0; // ici nous disons si il a une valeur, montrer la valeur, si non
                                                      // afficher 0 comme valeur

                return(model);
            }

            else
            {
                return(model);
            }
        }
        public ActionResult Checkout()
        {
            //POSTransactionSummaryViewModel summaryModel = posTransactionService.GetPOSTransactionSummary(this.HttpContext);
            BasketSummaryViewModel summaryModel = basketService.GetBasketSummary(this.HttpContext);

            // customer variable returns one Customer (whose email == current user's email)
            // i.e. the basket created is being assigned to the currently logged-in user
            Customer customer = customers.Collection().FirstOrDefault(c => c.Email == User.Identity.Name);

            if (customer != null)
            {
                OnlineOrder order = new OnlineOrder()
                {
                    CustomerId       = customer.Id,
                    FirstName        = customer.FirstName,
                    LastName         = customer.LastName,
                    CompanyName      = customer.CompanyName,
                    Street           = customer.Street,
                    City             = customer.City,
                    State            = customer.State,
                    ZipCode          = customer.ZipCode,
                    Email            = customer.Email,
                    Phone            = customer.Phone,
                    TotalItemCount   = summaryModel.BasketCount,
                    TotalAmount      = summaryModel.BasketTotal,
                    OnlineOrderItems = summaryModel.OnlineOrderItems
                };
                return(View(order));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }
Beispiel #9
0
        public BasketSummaryViewModel GetbasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();

                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection()
                                       on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();


                model.BasketCount = basketCount ?? 0;
                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #10
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);
            if (basket != null)
            {
                int? basketCount = (from item in basket.BasketItems
                                    select item.Quantity).Sum();
                decimal? basketTotal = (from bi in basket.BasketItems
                                        join p in productContext.Collection() on bi.ProductId equals p.Id
                                        select bi.Quantity * p.Price).Sum();
                model.BasketCount = basketCount ?? 0;
                model.BasketTotal = basketTotal ?? decimal.Zero;

                foreach (var item in basket.BasketItems)
                {
                    OnlineOrderItem onlineorderItem = new OnlineOrderItem()
                    {
                        ProductId = item.ProductId,
                        ProductName = item.ProductName,
                        ProductDescription = item.ProductDescription,
                        Image = item.Image,
                        Price = item.Price,
                        Quantity = item.Quantity
                    };
                    model.OnlineOrderItems.Add(onlineorderItem);
                }
            }
            return model;
        }
Beispiel #11
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                // The ? means that the variable can receive null.
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();

                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();


                // The ?? means that if basketCount has a value returns basketCount else 0.
                model.BasketCount = basketCount ?? 0;
                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #12
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase contextBase)
        {
            /*
             *          int BasketCount = 0;
             *          decimal BasketTotal = 0;
             *
             *          List<BasketItemViewModel> items = GetBasketItems(contextBase);
             *          foreach (BasketItemViewModel item in items)
             *          {
             *              BasketCount += item.Quantity;
             *              BasketTotal += item.Quantity * item.Price;
             *
             *          }
             *          return new BasketSummaryViewModel(BasketCount, BasketTotal);
             */
            Basket basket = GetBasket(contextBase, false);
            BasketSummaryViewModel bvm = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                int?    basketCount = (from b in basket.BasketItems select b.Quantity).Sum();
                decimal?basketTotal = (from b in basket.BasketItems
                                       join p in productContext.Collection() on b.ProductId equals p.Id
                                       select b.Quantity *p.Price).Sum();

                bvm.BasketCount = basketCount ?? 0;
                bvm.BasketTotal = basketTotal ?? decimal.Zero;
            }
            return(bvm);
        }
Beispiel #13
0
        public BasketSummaryViewModel GetBasketSummary()
        {
            Basket basket = GetBasket(false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                //If there are basket items, return the total quantity. Else, return null
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();

                //If there are basket items, return the total sum of the basket. Else, return null
                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in productContext.GetAll() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();

                //If BasketCount or BasketTotal is null, return zero. Else, return value.
                model.BasketCount = basketCount ?? 0;
                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #14
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpcontext)
        {
            Basket basket = GetBasket(httpcontext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                // Declare an int that can be null add ?
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();

                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();

                model.BasketCount = basketCount ?? 0; // Check if it is a null if it is 0 the value
                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #15
0
        //return a total no of items of the items and total quantity in the basket
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                // if we have items in the basket, we need to calculate how many items are in the basket
                // int? -> means we can store a non value
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();

                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection()
                                       on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();

                //assigning values to the model
                model.BasketCount = basketCount ?? 0; // ?? -> if `basketcount` is null then return 0
                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model); // if the basket is empty, return default constructor with 0 elemets
            }
        }
Beispiel #16
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            ICollection <BasketItem> items = basketItemsContext.Collection().ToList();

            if (basket != null)
            {
                int?    basketCount = (from b in items where b.BasketId == basket.Id select b.Quantity).Sum();
                decimal?basketTotal = (from b in items
                                       where b.BasketId == basket.Id
                                       join p in ProductContext.Collection() on b.ProductId equals p.Id
                                       select b.Quantity *p.Price
                                       ).Sum();

                model.BasketCount = basketCount ?? 0;

                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #17
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext) //gets the summary of the basket
        {
            Basket basket = GetBasket(httpContext, false);                          //getting our basket from the db
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            //creating a summary of basket with 0 quantity and 0 value
            if (basket != null)//if abasket is non empty
            {
                /* ? after data type declaration allows for storing of null values*/
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum(); //select only the no. of items in the basketItems and sum them

                /* for total value of basket innerjoining basketItem table and product table on id.
                 * then selecting quantity of item in basket item multiplied by price of item present in product table and
                 * summing them
                 */
                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();

                model.BasketCount = basketCount ?? 0;            //if basketCount has value return the value else return zero
                model.BasketTotal = basketTotal ?? decimal.Zero; //same as above

                return(model);                                   //model return gareko
            }
            else
            {
                return(model);//if basket is empty return the empty model
            }
        }
Beispiel #18
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);

            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                int?basketCount = (from item in basket.BasketItems    //int? indicates that this variable may return null value
                                   select item.Quantity).Sum();

                decimal?baksetTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();

                model.BasketCount = basketCount ?? 0; //if basketCount return it, if null return 0
                model.BasketTotal = baksetTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #19
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();

                // decimal? означава, че променливата може да приема decimal или null
                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in ProdContext.Collection() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();

                model.BasketCount = basketCount ?? 0;  //Ако basketCount има стойност присвоява нея ако не (??) , то връща 0.
                model.BasketTotal = basketTotal ?? Decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Beispiel #20
0
        // Basket Summary or Total list and Total Quantity
        //Need to create anothe view model
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            //Dont create basket if it's currently empty
            Basket basket = GetBasket(httpContext, false);

            //Use the view model and default with 0,0
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                //If we do have a basket, we have to find out how many items are in the basket
                // int? stores a null value and return a null value
                int?basketCount = (from item in basket.BasketItems
                                   select item.Quantity).Sum();

                decimal?basketTotal = (from item in basket.BasketItems
                                       join p in productContext.Collection() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();
                //If there is a basket count, return that value, otherwise null, return zero
                model.BasketCount = basketCount ?? 0;
                model.BasketTotal = basketTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }

            //Now we need to create an interface for the basket service
        }
 public PartialViewResult Summary()
 {
     Basket basket = Basket.GetBasket();
     BasketSummaryViewModel viewModel = new BasketSummaryViewModel
     {
         NumberOfItems = basket.GetNumberOfItems(),
         TotalCost = basket.GetTotalCost()
     };
     return PartialView(viewModel);
 }
Beispiel #22
0
        //calling the GetNumberOfItemsand GetTotalCostmethods from the Basketinstance
        public PartialViewResult Summary()
        {
            Basket basket = Basket.GetBasket();
            BasketSummaryViewModel viewmodel = new BasketSummaryViewModel
            {
                NumberOfitem = basket.GetNumberOfitem(),
                TotatlCost   = basket.GetTotalCost(),
            };

            return(PartialView(viewmodel));
        }
Beispiel #23
0
        public PartialViewResult Summary()
        {
            Basket basket    = Basket.GetBasket();
            var    viewModel = new BasketSummaryViewModel()
            {
                TotalCost     = basket.GetTotalCost(),
                NumberOfItems = basket.GetNumberOfItems()
            };

            return(PartialView(viewModel));
        }
Beispiel #24
0
        public IActionResult Index(BasketSummaryViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(Basket(viewModel));
            }

            basketService.Clear("user1");

            return(View("Success"));
        }
Beispiel #25
0
        public IActionResult RemoveItem(BasketSummaryViewModel viewModel, int productId)
        {
            var pb = basketService.List().FirstOrDefault(bp => bp.ProductId == productId);

            if (pb != null)
            {
                basketService.Remove(pb);
            }

            return(Redirect("Index"));
        }
Beispiel #26
0
        public PartialViewResult Summary()
        {
            Basket basket = Basket.GetBasket(_context);
            BasketSummaryViewModel viewModel = new BasketSummaryViewModel
            {
                NumberOfItems = basket.GetNumberOfItems(),
                TotalCost     = basket.GetTotalCost()
            };

            Debug.WriteLine(basket.GetTotalCost() + "RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRrrrr");
            return(PartialView(viewModel));
        }
Beispiel #27
0
        public static BasketSummaryViewModel GetSummary()
        {
            var summary = new BasketSummaryViewModel();
            var basket  = GetInstance();

            summary.BasketCount      = basket.Count;
            summary.BasketPriceTotal = basket.Sum(s => s.TotalPrice);
            summary.BasketTaxTotal   = basket.Sum(s => s.TotalTax);
            summary.BasketTotal      = basket.Sum(s => s.Total);
            summary.ProductCount     = basket.Sum(s => s.Quantity);
            summary.TareTotal        = basket.Sum(s => s.Tare);
            return(summary);
        }
Beispiel #28
0
        public void CanGetSummaryViewModel()
        {
            // Arrange
            IRepository <Product> productContext = new MockContext <Product>();

            productContext.Insert(new Product()
            {
                Id = "1", Price = 10.00m
            });
            productContext.Insert(new Product()
            {
                Id = "2", Price = 5.00m
            });

            IRepository <Basket> basketContext = new MockContext <Basket>();
            Basket basket = new Basket();

            basket.BasketItems.Add(new BasketItem()
            {
                ProductId = "1", Quantity = 2
            });
            basket.BasketItems.Add(new BasketItem()
            {
                ProductId = "2", Quantity = 1
            });
            basketContext.Insert(basket);

            IRepository <BasketItem> basketItemsContext = new MockContext <BasketItem>();
            IRepository <Order>      orderContext       = new MockContext <Order>();
            IRepository <Customer>   customerContext    = new MockContext <Customer>();

            IBasketService   basketService = new BasketService(productContext, basketContext, basketItemsContext);
            IOrderService    orderService  = new OrderService(orderContext);
            BasketController controller    = new BasketController(basketService, orderService, customerContext);
            MockHttpContext  httpContext   = new MockHttpContext();

            httpContext.Response.Cookies.Add(new System.Web.HttpCookie("eCommerceBasket")
            {
                Value = basket.Id
            });
            controller.ControllerContext = new System.Web.Mvc.ControllerContext(httpContext, new System.Web.Routing.RouteData(), controller);

            // Act
            PartialViewResult      result        = controller.BasketSummary() as PartialViewResult;
            BasketSummaryViewModel basketSummary = (BasketSummaryViewModel)result.ViewData.Model;

            // Assert
            Assert.AreEqual(3, basketSummary.BasketCount);
            Assert.AreEqual(25.00m, basketSummary.BasketTotal);
        }
Beispiel #29
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel summaryModel = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                int?basketCount = (from item in basket.BasketItems select item.Quantity).Sum();

                decimal basketTotal = (from item in basket.BasketItems
                                       join p in productRepository.Collection() on item.ProductId equals p.Id
                                       select item.Quantity *p.Price).Sum();

                summaryModel.BasketCount = (int)basketCount;
                summaryModel.BasketTotal = basketTotal;

                return(summaryModel);
            }

            return(summaryModel);
        }
Beispiel #30
0
        //get summary of basket.
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase contextBase)
        {
            Basket basket = GetBasket(contextBase, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);

            if (basket != null)
            {
                int?TotalQty = (from b in basket.BasketList
                                select b.Qty
                                ).Sum();

                decimal?TotalAmount = (from b in basket.BasketList
                                       join p in productCollection.GetAllData()
                                       on b.ProductId equals p.Id
                                       select p.Price *b.Qty
                                       ).Sum();
                model.TotalPrice = TotalAmount ?? decimal.Zero;
                model.TotalQty   = TotalQty ?? 0;
            }
            return(model);
        }