@using BTCPayServer.Abstractions.Extensions @using BTCPayServer.Client @using BTCPayServer.Plugins.TicketTailor @using Microsoft.AspNetCore.Mvc.TagHelpers @using Microsoft.AspNetCore.Routing @using BTCPayServer.Abstractions.Contracts @model BTCPayServer.Plugins.TicketTailor.UpdateTicketTailorSettingsViewModel @inject IScopeProvider ScopeProvider @{ var storeId = ScopeProvider.GetCurrentStoreId(); Layout = "../Shared/_NavLayout.cshtml"; ViewData["NavPartialName"] = "../UIStores/_Nav"; ViewData.SetActivePage("TicketTailor", "Update Store TicketTailor Settings", null); Model.SpecificTickets ??= new List(); }

@ViewData["Title"]

@if (ViewContext.ModelState.IsValid && Model.EventId is not null) {
Please ensure that emails in your store are configured if you wish to send the tickets via email to customers as TicketTailor does not handle it for tickets issued via its API.
}
@if (Model.Events is not null) {
} @if (Model.EventId is not null) {
@if (Model.TicketTypes?.Any() is true) { var uniqueRemaining = Model.TicketTypes.Where(type => Model.SpecificTickets?.Any(ticket => ticket.TicketTypeId == type.Id) is false);
Specific tickets

Specific tickets allow you to override explicitly which tickets you wish to allow to sell, and also override the price, name, and description of these tickets.

@if (uniqueRemaining.Any()) { SelectList sl = new SelectList(uniqueRemaining, nameof(TicketTailorClient.TicketType.Id), nameof(TicketTailorClient.TicketType.Name));
} @for (var index = 0; index < Model.SpecificTickets.Count; index++) { var specific = Model.SpecificTickets[index]; var ticketType = Model.TicketTypes.SingleOrDefault(type => type.Id == specific.TicketTypeId); if (ticketType is null) { continue; }
@ticketType.Name
}
} }
@if (this.ViewContext.ModelState.IsValid && Model.EventId is not null) { Ticket purchase page }