public void GivenTheSelectedOrderItems(Table table) { conferenceInfo = ScenarioContext.Current.Get <ConferenceInfo>(); registrationController = RegistrationHelper.GetRegistrationController(conferenceInfo.Slug); orderViewModel = RegistrationHelper.GetModel <OrderViewModel>(registrationController.StartRegistration().Result); Assert.NotNull(orderViewModel); registration = new RegisterToConference { ConferenceId = conferenceInfo.Id, OrderId = orderViewModel.OrderId }; foreach (var row in table.Rows) { var orderItemViewModel = orderViewModel.Items.FirstOrDefault(s => s.SeatType.Description == row["seat type"]); Assert.NotNull(orderItemViewModel); int qt; if (!row.ContainsKey("quantity") || !Int32.TryParse(row["quantity"], out qt)) { qt = orderItemViewModel.SeatType.Quantity; } registration.Seats.Add(new SeatQuantity(orderItemViewModel.SeatType.Id, qt)); } // Store for sharing between steps implementations ScenarioContext.Current.Set(registration); ScenarioContext.Current.Set(registrationController.ConferenceAlias); }