@using Tessitura.Service.Client.Templates
@using System.Collections.Generic;
@using System.Linq;
@{
var renderTicketElementsTable = false; // For debugging only!
foreach (var ticket in Model.Elements.Tickets)
{
var ticketElements = ticket.TicketElements;
var webPerformanceDescription = Model.GetTicketElementValue(ticket.TicketElements, DesignElements.Ticket.Performance.WebPerformanceDescription);
var performanceDate = Model.GetTicketElementValue(ticketElements, DesignElements.Ticket.Performance.PerformanceDate);
var performanceBeginTime = Model.GetTicketElementValue(ticketElements, DesignElements.Ticket.Performance.PerformanceBeginTime);
var theatre = @Model.GetTicketElementValue(ticketElements, DesignElements.Ticket.Seat.Theatre);
var sectionDescription = Model.GetTicketElementValue(ticketElements, DesignElements.Ticket.Seat.SectionDescription);
var seatRow = Model.GetTicketElementValue(ticketElements, DesignElements.Ticket.Seat.SeatRow);
var seatNumber = Model.GetTicketElementValue(ticket.TicketElements, DesignElements.Ticket.Seat.SeatNumber);
var nScanNumber = Model.GetTicketElementValue(ticket.TicketElements, DesignElements.Ticket.Seat.NScanNumber);
var priceTypeAlias = Model.GetTicketElementValue(ticket.TicketElements, DesignElements.Ticket.Seat.PriceTypeAlias);
var priceZoneDescription = Model.GetTicketElementValue(ticket.TicketElements, DesignElements.Ticket.Seat.PriceZoneDescription);
var orderNumber = Model.GetTicketElementValue(ticket.TicketElements, DesignElements.Ticket.Order.OrderNumber);
var ticketNumber = Model.GetTicketElementValue(ticket.TicketElements, DesignElements.Ticket.Seat.TicketNumber);
@if (renderTicketElementsTable)
{
Available Ticket Design Elements
| Name |
Value |
@foreach (var el in ticket.TicketElements)
{
@el.Description |
@el.Val |
}
}
@webPerformanceDescription
@if (theatre != "")
{
@theatre
}
@if (performanceDate != "" || performanceBeginTime != "")
{
|
Here's my custom data field: @Model.GetTicketElementValue(ticket.TicketElements, DesignElements.Ticket.UserDefined.UserDefinedElement3)
|
@if (performanceDate != "")
{
| Date |
@performanceDate |
}
@if (performanceBeginTime != "")
{
| Time |
@performanceBeginTime |
}
}
|
|
|
|
@Raw(Model.GetQRCode(@nScanNumber, 8, "#000000"))
|
|
|
@{
var seatRowLabelPieces = new List ();
if (seatRow != "")
{
seatRowLabelPieces.Add("Row " + seatRow);
}
if (seatNumber != "")
{
seatRowLabelPieces.Add("Seat " + seatNumber);
}
var labels = new List {
sectionDescription,
priceZoneDescription,
string.Join(", ", seatRowLabelPieces),
priceTypeAlias
}.FindAll(s => s != "");
}
@if (labels.Count() > 0)
{
@foreach (var label in labels)
{
| @label |
}
|
}
@{
var details = new Dictionary() {
{ "Order Number", @orderNumber },
{ "Ticket Number", @ticketNumber },
}.Where(d => d.Value != "").ToList();
}
@if (details.Count() > 0)
{
@{
for (var i = 0; i < details.Count(); i++)
{
var style = i == 0 ?
"padding: 10px 5px 2px;" :
"padding: 10px 5px 2px; border-left: 1px solid #CCC;";
| @details[i].Key |
}
}
@{
for (var i = 0; i < details.Count(); i++)
{
var style = i == 0 ?
"padding: 2px 5px 10px; font-weight: normal;" :
"padding: 2px 5px 10px; font-weight: normal; border-left: 1px solid #CCC;";
| @details[i].Value |
}
}
}
|
|
|
}
}