public JsonResult RemoveItem(int productId)
        {
            ModifyBasketRequest request = new ModifyBasketRequest();

            request.ItemsToRemove.Add(productId);
            request.BasketId = base.GetBasketId();

            ModifyBasketResponse reponse = _basketService.ModifyBasket(request);

            SaveBasketSummaryToCookie(reponse.Basket.NumberOfItems,
                                      reponse.Basket.BasketTotal);

            BasketDetailView basketDetailView = new BasketDetailView();

            basketDetailView.BasketSummary = new BasketSummaryView()
            {
                BasketTotal   = reponse.Basket.BasketTotal,
                NumberOfItems = reponse.Basket.NumberOfItems
            };

            basketDetailView.Basket          = reponse.Basket;
            basketDetailView.DeliveryOptions =
                _basketService.GetAllDispatchOptions().DeliveryOptions;

            return(Json(basketDetailView));
        }
        public JsonResult UpdateShipping(int shippingServiceId)
        {
            ModifyBasketRequest request = new ModifyBasketRequest();

            request.SetShippingServiceIdTo = shippingServiceId;
            request.BasketId = base.GetBasketId();

            BasketDetailView basketDetailView = new BasketDetailView();

            ModifyBasketResponse reponse = _basketService.ModifyBasket(request);

            SaveBasketSummaryToCookie(reponse.Basket.NumberOfItems,
                                      reponse.Basket.BasketTotal);

            basketDetailView.BasketSummary = new BasketSummaryView()
            {
                BasketTotal   = reponse.Basket.BasketTotal,
                NumberOfItems = reponse.Basket.NumberOfItems
            };

            basketDetailView.Basket          = reponse.Basket;
            basketDetailView.DeliveryOptions =
                _basketService.GetAllDispatchOptions().DeliveryOptions;

            return(Json(basketDetailView));
        }
        public BasketDetailView UpdateItems(DTOs.BasketQtyUpdateRequest basketQtyUpdateRequest)
        {
            var request = new ModifyBasketRequest();

            request.BasketId      = base.GetBasketId();
            request.ItemsToUpdate = DTOs.DtoMapper.ConvertToBasketItemUpdateRequests(
                basketQtyUpdateRequest);

            BasketDetailView     basketDetailView = new BasketDetailView();
            ModifyBasketResponse reponse          = _basketService.ModifyBasket(request);

            SaveBasketSummaryToCookie(reponse.Basket.NumberOfItems, reponse.Basket.BasketTotal);

            basketDetailView.BasketSummary = new BasketSummaryView()
            {
                BasketTotal   = reponse.Basket.BasketTotal,
                NumberOfItems = reponse.Basket.NumberOfItems
            };

            basketDetailView.Basket = reponse.Basket;

            basketDetailView.DeliveryOptions = _basketService
                                               .GetAllDispatchOptions().DeliveryOptions;

            return(basketDetailView);
        }
        public JsonResult UpdateItems(JsonBasketQtyUpdateRequest jsonBasketQtyUpdateRequest)
        {
            ModifyBasketRequest request = new ModifyBasketRequest();

            request.BasketId      = base.GetBasketId();
            request.ItemsToUpdate = jsonBasketQtyUpdateRequest.ConvertToBasketItemUpdateRequests();;

            BasketDetailView     basketDetailView = new BasketDetailView();
            ModifyBasketResponse reponse          = _basketService.ModifyBasket(request);

            SaveBasketSummaryToCookie(reponse.Basket.NumberOfItems,
                                      reponse.Basket.BasketTotal);

            basketDetailView.BasketSummary = new BasketSummaryView()
            {
                BasketTotal   = reponse.Basket.BasketTotal,
                NumberOfItems = reponse.Basket.NumberOfItems
            };

            basketDetailView.Basket = reponse.Basket;

            basketDetailView.DeliveryOptions = _basketService
                                               .GetAllDispatchOptions().DeliveryOptions;

            return(Json(basketDetailView));
        }
예제 #5
0
        public void action(BasketCreated business_event)
        {
            // Update Read Model
            var basket_detail_view = new BasketDetailView();

            basket_detail_view.id            = business_event.Id;
            basket_detail_view.amount_to_pay = business_event.AmountToPay.ToString();

            _domainViewsRepository.save(basket_detail_view);
        }
        public void action(BasketPriceChanged business_event)
        {
            var basket_detail_view = _queryService.query_for_single <BasketDetailView>(business_event.basket_id);

            if (basket_detail_view == null)
            {
                basket_detail_view    = new BasketDetailView();
                basket_detail_view.id = business_event.basket_id;
            }


            basket_detail_view.amount_to_pay = business_event.CostOfBasket.ToString();

            _domainViewsRepository.save(basket_detail_view);
        }
예제 #7
0
        public IActionResult Detail()
        {
            BasketDetailView basketView    = new BasketDetailView();
            Guid             basketId      = GetBasketId();
            GetBasketRequest basketRequest = new GetBasketRequest()
            {
                BasketId = basketId
            };
            GetBasketResponse             basketResponse          = _basketService.GetBasket(basketRequest);
            GetAllDispatchOptionsResponse dispatchOptionsResponse = _basketService.GetAllDispatchOptions();

            basketView.Basket          = basketResponse.Basket;
            basketView.Categories      = GetCategories();
            basketView.BasketSummary   = GetBasketSummaryView();
            basketView.DeliveryOptions = dispatchOptionsResponse.DeliveryOptions;

            return(View("View", basketView));
        }
예제 #8
0
        public IActionResult UpdateItems([FromBody] BasketQtyUpdateRequest jsonBasketQtyUpdateRequest)
        {
            ModifyBasketRequest request = new ModifyBasketRequest();

            request.BasketId      = GetBasketId();
            request.ItemsToUpdate = jsonBasketQtyUpdateRequest.ConvertToBasketItemUpdateRequests();
            BasketDetailView     basketDetailView = new BasketDetailView();
            ModifyBasketResponse response         = _basketService.ModifyBasket(request);

            basketDetailView.BasketSummary = new BasketSummaryView
            {
                BasketTotal   = response.Basket.BasketTotal,
                NumberOfItems = response.Basket.NumberOfItems
            };
            basketDetailView.Basket          = response.Basket;
            basketDetailView.DeliveryOptions = _basketService.GetAllDispatchOptions().DeliveryOptions;

            return(Ok(basketDetailView));
        }
        public ActionResult <BasketDetailView> Detail()
        {
            var basketView = new BasketDetailView();
            var basketId   = base.GetBasketId();

            var basketRequest = new GetBasketRequest()
            {
                BasketId = basketId
            };
            var basketResponse = _basketService.GetBasket(basketRequest);

            var dispatchOptionsResponse = _basketService.GetAllDispatchOptions();

            basketView.Basket          = basketResponse.Basket;
            basketView.Categories      = base.GetCategories();
            basketView.BasketSummary   = base.GetBasketSummaryView();
            basketView.DeliveryOptions = dispatchOptionsResponse.DeliveryOptions;

            return(basketView);
        }