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")); }
public async Task CreateAsync(PurchasedMembershipInputServiceModel purchasedMembershipModel) { var purchasedMembership = new PurchasedMembership { UserId = purchasedMembershipModel.UserId, MembershipId = purchasedMembershipModel.MembershipId, StartDate = purchasedMembershipModel.StartDate, EndDate = purchasedMembershipModel.EndDate, }; await this.purchasedMembershipRepository.AddAsync(purchasedMembership); await this.purchasedMembershipRepository.SaveChangesAsync(); }