Example #1
0
        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);
        }
Example #2
0
        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);
        }