Exemplo n.º 1
0
        /// <summary>
        /// On GoToPayment-buttonclick, the shippinginformation stored in TicketBuyer is sent to SQL and given a TransactionID. Then we loop the Shoppingcart in three steps:
        /// Adding a seatID to the ticketeventdate. Adding a ticketID to the seatID. Last, connecting the ticketID to the TransactionID.
        /// </summary>
        /// <param name="ticketBuyer"></param>
        /// <returns>Returns an orderconfirmation.</returns>
        public IActionResult GoToPayment(TicketTransaction ticketBuyer)
        {
            value.TicketBuyer = ticketApi.TicketTransactionAdd(ticketBuyer);  // Lägger till köpare = TransactionID

            foreach (EventSummary id in value.CartSummary)
            {
                SeatsAtEventDate e = ticketApi.PurchasedSeats(id);  // Lägger till SeatID
                Tickets          x = ticketApi.PurchasedTickets(e); // Lägger till TicketID

                TicketToTransaction ticketToTransaction = new TicketToTransaction();
                ticketToTransaction.TransactionID = value.TicketBuyer.TransactionID;
                ticketToTransaction.TicketID      = x.TicketId;

                ticketApi.AddTicketBuyer(ticketToTransaction);  // Kopplar TicketID + TransactionID
            }

            Mail   m = new Mail();
            string s = "";
            string z = "<h1> Here is a summary of your beautiful order!</h1>";

            foreach (EventSummary e in value.CartSummary)
            {
                s = s + "<h2>" + e.EventName + "</h2>" + "[ " + e.VenueName + " - " + e.EventStartDateTime + " ] </li>";
            }
            s = z + s;
            m.SendEmail(ticketBuyer.BuyerEmail, ticketBuyer.BuyerFirstName, s);
            return(View("PurchaseCompleted", value));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Posts information from SeatsAtEventDate to the Tickets table in the database.
        /// </summary>
        /// <param name="seatsAtEventDate">SeatId</param>
        /// <returns>TicketId, SeatId</returns>
        public Tickets PurchasedTickets(SeatsAtEventDate seatsAtEventDate)
        {
            var json    = JsonConvert.SerializeObject(seatsAtEventDate);
            var client  = new RestClient(localhost);
            var request = new RestRequest("TicketTransactions/Ticket/", Method.POST);

            request.AddParameter("application/json", json, ParameterType.RequestBody);
            var response = client.Execute <Tickets>(request);

            return(response.Data);
        }
Exemplo n.º 3
0
 //Ticket Queries
 public Tickets PurchasedTickets(SeatsAtEventDate seatsAtEventDate)
 {
     using (var connection = new SqlConnection(connectionString))
     {
         string queryStringTicket = "INSERT INTO Tickets(SeatID) values(@SeatID)";
         connection.Open();
         connection.Query(queryStringTicket, new { SeatID = seatsAtEventDate.SeatId });
         var addedTicketsQuery = connection.Query <int>("SELECT IDENT_CURRENT ('Tickets') AS Current_Identity").First();
         return(connection.Query <Tickets>("SELECT * FROM Tickets WHERE TicketID=@Id", new { Id = addedTicketsQuery }).First());
     }
 }
 public Tickets Post([FromBody] SeatsAtEventDate seatsAtEventDate)
 {
     return(tdb.PurchasedTickets(seatsAtEventDate));
 }