Beispiel #1
0
        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");
            }
        }
Beispiel #2
0
        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();
 }