public ActionResult GetShippingRatesRecap()
        {
            ShippingRatesRecapViewModel viewModel = new ShippingRatesRecapViewModel();

            viewModel.NumberFormat = this._webStoreServices.NumberFormat;

            this._webStoreServices.UsingClient(
                c =>
            {
                Dictionary <Guid, IEnumerable <ShippingRateValue> > shippingRatesByOrderSubset = c.BasketClient.GetShippingRateValues(this._webStoreServices.CurrentUserName, this._webStoreServices.BasketName, this._webStoreServices.CurrentCultureId);

                viewModel.AddRange(
                    c.BasketClient.GetBasket(this._webStoreServices.CurrentUserName, this._webStoreServices.BasketName)
                    .OrderSubsets
                    .Where(os => !os.IsVirtual)
                    .Select(
                        os => shippingRatesByOrderSubset.Where(srbos => srbos.Key == os.OrderSubsetId)
                        .SelectMany(srbos => srbos.Value)
                        .FirstOrDefault(srv => srv.ShippingRateCode.EqualsOrdinalIgnoreCase(os.ShippingRateCode))
                        )
                    );
            }
                );

            return(new ShapePartialResult(this, this._shapeFactory.DisplayTemplate(TemplateName: "Checkout/ShippingRatesRecap", Model: viewModel)));
        }
 public ActionResult GetShippingRatesRecap()
 {
     ShippingRatesRecapViewModel viewModel = new ShippingRatesRecapViewModel();
     viewModel.NumberFormat = this._webStoreServices.NumberFormat;
     this._webStoreServices.UsingClient(
         c =>
         {
             Dictionary<Guid, IEnumerable<ShippingRateValue>> shippingRatesByPackage = c.StoreClient.GetShippingRateValues("default");
             viewModel.AddRange(c.StoreClient.GetBasket("default").Packages.Where(p => !p.Virtual).Select(p => shippingRatesByPackage.Where(srbp => srbp.Key == p.PackageId).SelectMany(srbp => srbp.Value).FirstOrDefault(srv => srv.ShippingRateCode.EqualsInvariantCultureIgnoreCase(p.ShippingRateCode))));
         }
     );
     this.Response.Cache.SetCacheability(HttpCacheability.NoCache);
     return new ShapePartialResult(this, this._shapeFactory.DisplayTemplate(TemplateName: "Checkout/ShippingRatesRecap", Model: viewModel));
 }