public ActionResult CreateOrder(int? marketId, decimal? price) { if (!this.SessionPersister.HasSession) { return this.RedirectToLogin(); } var viewModel = new CreateOrderViewModel { Price = price }; if (marketId.HasValue) { var market = this.ClientService.GetMarket(marketId.Value); var sourceAccount = this.ClientService.GetAccounts(this.SessionPersister.SessionId).FirstOrDefault( x => x.CurrencyId == market.FromCurrencyId); if (sourceAccount != null) { viewModel.SourceAccountId = sourceAccount.AccountId; } var destAccount = this.ClientService.GetAccounts(this.SessionPersister.SessionId).FirstOrDefault( x => x.CurrencyId == market.ToCurrencyId); if (destAccount != null) { viewModel.DestAccountId = destAccount.AccountId; } } return this.View(viewModel); }
public ActionResult CreateOrder(CreateOrderViewModel viewModel) { if (!this.SessionPersister.HasSession) { return this.RedirectToLogin(); } if (this.ModelState.IsValid) { var orderId = this.ClientService.CreateOrder( this.SessionPersister.SessionId, viewModel.SourceAccountId.Value, viewModel.DestAccountId.Value, viewModel.Price.Value, viewModel.Volume.Value); return this.RedirectToAction(string.Empty); } return this.View(viewModel); }