/// <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)); }
/// <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); }
//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)); }