public ActionResult View(long tradeID) { var trade = tradeRepository.GetById(tradeID); var entity = SessionHelper.CurrentEntity; MethodResult result = tradeService.CanHaveAccess(entity, trade); if (result.IsError) { return(RedirectToHomeWithError(result)); } var possibleItems = tradeService.GetItemsForTrade(entity, trade) .OrderBy(i => ((ProductTypeEnum)i.ProductID).ToHumanReadable()) .ThenBy(i => i.Quality); var possibleMoney = tradeService.GetMoneyForTrade(entity, trade) .OrderBy(i => i.CurrencyID); var vm = new TradeViewModel(trade, possibleItems, possibleMoney, tradeService); return(View(vm)); }