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)); }