public ActionResult Create(AddMonetaryOfferViewModel vm)
        {
            if (ModelState.IsValid)
            {
                if (vm.Amount <= 0)
                {
                    AddError("Amount cannot be lower or equal to 0!");
                    return(RedirectToAction("IndexSpecified", new { buyCurrencyID = vm.BuyCurrencyID, sellCurrencyID = vm.SellCurrencyID }));
                }

                if (vm.OfferType.HasValue == false)
                {
                    AddError("You need to select offer type!");
                    return(RedirectToAction("IndexSpecified", new { buyCurrencyID = vm.BuyCurrencyID, sellCurrencyID = vm.SellCurrencyID }));
                }

                if (vm.Rate <= 0)
                {
                    AddError("Rate cannot be lower or equal to 0!");
                    return(RedirectToAction("IndexSpecified", new { buyCurrencyID = vm.BuyCurrencyID, sellCurrencyID = vm.SellCurrencyID }));
                }

                var entity = SessionHelper.CurrentEntity;
                var cost   = monetaryMarketService.GetMonetaryOfferCost(vm.SellCurrencyID.Value, vm.BuyCurrencyID.Value,
                                                                        vm.Amount, vm.Rate, (MonetaryOfferTypeEnum)vm.OfferType);

                if (walletService.HaveMoney(entity.WalletID, new Money(cost.Currency, (decimal)cost.Sum)) == false)
                {
                    AddError("You do not have enough money!");
                    return(RedirectToAction("IndexSpecified", new { buyCurrencyID = vm.BuyCurrencyID, sellCurrencyID = vm.SellCurrencyID }));
                }



                var param = new CreateMonetaryOfferParam()
                {
                    Amount      = vm.Amount,
                    BuyCurrency = Persistent.Currencies.GetById(vm.BuyCurrencyID.Value),
                    SellCurency = Persistent.Currencies.GetById(vm.SellCurrencyID.Value),
                    OfferType   = (MonetaryOfferTypeEnum)vm.OfferType,
                    Rate        = vm.Rate,
                    Seller      = SessionHelper.CurrentEntity
                };

                monetaryMarketService.CreateOffer(param);
                return(RedirectToAction("IndexSpecified", new { buyCurrencyID = vm.BuyCurrencyID, sellCurrencyID = vm.SellCurrencyID }));
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Create()
        {
            var vm = new AddMonetaryOfferViewModel();

            return(View(vm));
        }