public async Task BuyTicket(BuyTicketModel model, int userId) { var roll = await _transactionRepository.GetAll <RollEntity>(r => r.Id == model.RollId).SingleOrDefaultAsync(); if (roll == null || (roll != null && roll.IsFinished == true)) { return; } var userRoll = await _transactionRepository.GetAll <UserRollEntity>(r => r.RollId == model.RollId && r.UserId == userId).SingleOrDefaultAsync(); if (userRoll != null) { return; } userRoll = new UserRollEntity { CreatedAt = DateTimeOffset.UtcNow, Lat = model.Latitude, Lng = model.Longitude, RollId = model.RollId, UserId = userId }; if (_transactionRepository.Add(userRoll) == 0) { throw new TransactionRepositoryException("Failed to add new user roll"); } }
public async Task InvokeBuyTicket(BuyTicketModel model) { var userId = GetUserId(); if (userId != null) { await _rollService.BuyTicket(model, userId.Value); await InvokeNextRollData(); } }
public ActionResult Buy(BuyTicketModel model) { if (ModelState.IsValid) { try { Guest guest = new Guest(); string email = User.Identity.Name; int memberId = _memberManager.RetrieveMemberByEmail(email); guest = _guestManager.RetrieveGuestByEmail(email); MemberTab memberTab = _memberTabManager.RetrieveActiveMemberTabByMemberID(memberId); Offering offering = _offeringManager.RetrieveOfferingByID(model.OfferingID); MemberTabLine tab = new MemberTabLine() { MemberTabID = memberTab.MemberTabID, OfferingID = model.OfferingID, Quantity = model.Quantity, Price = model.Price, EmployeeID = offering.EmployeeID, Discount = 0, GuestID = guest.GuestID, DatePurchased = DateTime.Now }; if (_memberTabManager.CreateMemberTabLine(tab) != 0) { TempData["success"] = new SuccessViewModel( Title: "an Event!", dateTime: model.Date.ToShortDateString(), type: model.EventTitle, time: " the greatest time of your life", ButtonMessage: "Go to Account", ReturnController: "MyAccount", ReturnAction: "Index" ); return(RedirectToAction("Index", "Success")); } } catch (Exception ex) { TempData["error"] = new ErrorViewModel( Title: "Events", Message: "We could not purhcase your ticket at this time ", ExceptionMessage: ex.Message, ButtonMessage: "Try again", ReturnController: "Event", ReturnAction: "Index" ); return(RedirectToAction("Index", "Error")); } } return(View(model)); }
public ActionResult BuyTicket(BuyTicketModel model) { Ticket ticket = new Ticket { Event = repository.GetEventById(model.EventId), Owner = repository.GetUserById(model.OwnerId), Row = model.Row, Seat = model.Seat }; repository.AddTicket(ticket); return(RedirectToAction("ViewEvent", "Event", new { EventID = model.EventId })); }
public IActionResult Buy(BuyTicketModel model) { if (ModelState.IsValid) { _ticketService.Create(new Ticket { Name = model.Name, Price = model.Price, SeatNumber = model.SeatNumber, Surname = model.Surname, VoyageId = model.VoyageId }); return(View("Thanks")); } return(View(model)); }
// GET: Event/Buy public ActionResult Buy(int id) { Guest guest = new Guest(); Event theEvent = null; try { string email = User.Identity.Name; guest = _guestManager.RetrieveGuestByEmail(email); } catch { return(RedirectToAction("Login", "Account")); } try { theEvent = eventManager.RetrieveEventByID(id); } catch (Exception ex) { TempData["error"] = new ErrorViewModel( Title: "Events", Message: "We could not purhcase your ticket at this time ", ExceptionMessage: ex.Message, ButtonMessage: "Try again", ReturnController: "Event", ReturnAction: "Index" ); return(RedirectToAction("Index", "Error")); } BuyTicketModel ticket = new BuyTicketModel() { EventID = id, EventTitle = theEvent.EventTitle, Price = theEvent.Price, Quantity = 0, OfferingID = theEvent.OfferingID, Date = theEvent.EventStartDate }; return(View(ticket)); }
public ActionResult BuyTicket(int eventId = 0) { Event selectedEvent = repository.GetEventById(eventId); AppUser user = UserManager.FindById(User.Identity.GetUserId()); if (selectedEvent != null && user != null) { BuyTicketModel ticket = new BuyTicketModel() { EventId = selectedEvent.EventId, EventName = selectedEvent.Name, EventPrice = selectedEvent.Price, MovieName = selectedEvent.Movie.Name, OwnerId = user.Id, }; return(View("BuyTicket", ticket)); } else { return(View("BuyTicket")); } }
public BuyTicketController(IUnitOfWorkFactory _unitOfWork) { unitOfFactory = _unitOfWork; buyTicketModel = new BuyTicketModel(); }