public async Task <IActionResult> Buy(BuyInputModel purchasedMembershipModel)
        {
            var user = await this.userManager.GetUserAsync(this.User);

            var membershipByUser = this.purchasedMembershipsService.GetByUser(user);

            if (membershipByUser != null)
            {
                return(this.RedirectToAction("Renew"));
            }

            if (!this.ModelState.IsValid)
            {
                return(this.View(purchasedMembershipModel));
            }

            var membership = this.membershipsService.GetById <PurchasedMembershipModel>(purchasedMembershipModel.Id);

            if (membership == null)
            {
                return(this.BadRequest());
            }

            var purchase = new PurchasedMembershipInputServiceModel
            {
                MembershipId = purchasedMembershipModel.Id,
                UserId       = user.Id,
                StartDate    = purchasedMembershipModel.StartDate,
                EndDate      = purchasedMembershipModel.StartDate.AddDays((int)membership.Duration),
            };

            await this.purchasedMembershipsService.CreateAsync(purchase);

            return(this.RedirectToAction("ThankYou"));
        }
Exemplo n.º 2
0
        public IObservable <BuyServerModel> PlaceBid(double price, Active active, Direction direction, Balance balance, TimeSpan operationTime)
        {
            var inputModel = new BuyInputModel(price, active, direction, balance, operationTime);

            return(_buyV2ChannelPublisher
                   .SendMessage(inputModel));
        }
        public async Task <IActionResult> Buy(int id)
        {
            var membership = this.membershipsService.GetById <PurchasedMembershipModel>(id);

            if (membership == null)
            {
                return(this.NotFound());
            }

            var user = await this.userManager.GetUserAsync(this.User);

            var membershipByUser = this.purchasedMembershipsService.GetByUser(user);

            if (membershipByUser != null)
            {
                return(this.RedirectToAction("Renew"));
            }

            var model = new BuyInputModel
            {
                Id = id,
            };

            return(this.View(model));
        }