public ActionResult Index(string code) { var auctions = this.Session["Auctions"] as List <Auction>; if (auctions == null) { auctions = AuctionService.GetAllAuctions(); this.Session["Auctions"] = auctions; } var auction = auctions.FirstOrDefault(a => a.Code == code); var items = this.Session[code] as List <Item>; if (items == null) { items = AuctionService.GetAuctionItems(code); this.Session[code] = items; } if (this.Session["RegistredInAuctions"] == null) { this.Session["RegistredInAuctions"] = new List <string>(); } bool registered = ((List <string>) this.Session["RegistredInAuctions"]).Contains(auction.Code); var model = new AuctionDetailViewModel { Auction = auction, Items = items, Registred = registered, ActiveItem = registered ? AuctionService.GetCurrentlyAuctionedItem(auction.Code) : null }; return(this.View(model)); }