public List<SeatSectionLayoutViewModel> GetSeatSectionLayout(int concertId, int ticketLevelId) { using (var context = new WingTipTicketsEntities(WingtipTicketApp.GetTenantConnectionString())) { var ticketLevel = context.TicketLevels.First(t => t.TicketLevelId == ticketLevelId); var result = context.SeatSectionLayouts.Where(l => l.SeatSectionId == ticketLevel.SeatSectionId).Select(l => new SeatSectionLayoutViewModel() { RowNumber = (int)l.RowNumber, SkipCount = (int)l.SkipCount, StartNumber = (int)l.StartNumber, EndNumber = (int)l.EndNumber, SelectedSeats = context.Tickets .Where(t => t.TicketLevelId == ticketLevelId && t.ConcertId == concertId && t.SeatNumber >= (int)l.StartNumber && t.SeatNumber <= (int)l.EndNumber) .Select(t => (int)t.SeatNumber) .Distinct() .ToList() }).ToList(); return result; } }
public FindSeatsViewModel GetFindSeatsData(int concertId) { using (var context = new WingTipTicketsEntities(WingtipTicketApp.GetTenantConnectionString())) { var concert = context.Concerts.First(c => c.ConcertId == concertId); var venue = context.Venues.First(v => v.VenueId == concert.VenueId); var performer = context.Performers.First(p => p.PerformerId == concert.PerformerId); var seatSections = context.TicketLevels.Where(t => t.ConcertId == concertId).ToList(); // Map to ViewModel var viewModel = new FindSeatsViewModel() { // Main Models Concert = new FindSeatsViewModel.ConcertViewModel() { ConcertId = concert.ConcertId, ConcertName = concert.ConcertName, ConcertDate = (DateTime)concert.ConcertDate, VenueId = venue.VenueId, VenueName = venue.VenueName, PerformerName = performer.ShortName }, // Collections SeatSections = new SelectList(seatSections, "TicketLevelId", "Description", null), }; return viewModel; } }
public string GetApplicationDefault(string code) { using (var context = new WingTipTicketsEntities(WingtipTicketApp.GetTenantConnectionString(WingtipTicketApp.Config.TenantDatabase1))) { return context.ApplicationDefaults.First(a => a.Code.Equals(code)).Value; } }
public void SetApplicationDefault(string code, string value) { using (var context = new WingTipTicketsEntities(WingtipTicketApp.GetTenantConnectionString(WingtipTicketApp.Config.TenantDatabase1))) { var setting = context.ApplicationDefaults.First(a => a.Code.Equals(code)); setting.Value = value; context.SaveChanges(); } }