private static void Main() { EventSeat eventArea = new EventSeat(2, 2, 2, 1); var eventAreaRepo = new EventSeatRepository(); // var eventAreaCreate = eventAreaRepo.CreateAsync(eventArea); // var eventAreaDelete = eventAreaRepo.DeleteRangeAsync(new[] { 11 }); var eventAreaResponse = eventAreaRepo.GetAllAsync().Result; foreach (var item in eventAreaResponse) { Console.WriteLine("get item:"); Console.WriteLine("\tID" + $"\t{item.State}" + "\tRow:" + $"\t{item.Row}" + "\tNumber:" + $"\t{item.Number}"); } // TicketManagementService ticketManagementService = new TicketManagementService(); // TicketManagementServiceResponse ticketManagementServiceResponce = ticketManagementService.ImplemntAnonymousService(); // var avaliableSeats = ticketManagementServiceResponce.AvaliableSeats; // foreach (var item in avaliableSeats) // { // Console.WriteLine("GET SEAT"); // Console.WriteLine("\tID" + $"\t{item.Id}" + "\tRow:" + $"\t{item.Row}" + "\tNumber:" + $"\t{item.Number}" + "\tAreaId:" + $"\t{item.AreaId}"); // } Console.Read(); }
private static void ReservedSeatCleaner(EventSeat eventSeat, string userId) { if (eventSeat.State == SeatStatus.Reserved) { eventSeat.State = eventSeat.UserId == userId ? SeatStatus.Reserved : SeatStatus.Bought; } }
public async Task <ActionResult <EventSeat> > PostEventSeat(EventSeat eventSeat) { _context.EventSeat.Add(eventSeat); await _context.SaveChangesAsync(); return(CreatedAtAction("GetEventSeat", new { id = eventSeat.EventSeatId }, eventSeat)); }
public async Task <IActionResult> PutEventSeat(int id, EventSeat eventSeat) { if (id != eventSeat.EventSeatId) { return(BadRequest()); } _context.Entry(eventSeat).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!EventSeatExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> AddSeats(int eventId, List <int> seatIds) { var @event = await _context.Events .SingleOrDefaultAsync(m => m.EventId == eventId); if (@event == null) { return(NotFound()); } var @seats = from seat in _context.Seats where seatIds.Contains(seat.SeatID) select seat; foreach (Seat seat in @seats) { EventSeat es = new EventSeat { EventID = @event.EventId, SeatID = seat.SeatID }; _context.Add(es); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details))); }
public void Create(EventSeat obj) { using (MyDbContext db = new MyDbContext()) { db.EventSeat.Add(obj); db.SaveChanges(); } }
public static EventSeatDto ToEventSeatDto(EventSeat from) { return(new EventSeatDto { State = (BusinessLogic.Services.SeatState)SeatStateEnumParser.ToSeatStateBLL(from.State), Row = from.Row, Number = from.Number, Id = from.Id, EventAreaId = from.EventAreaId }); }
private EventSeatDto MapToEventSeatDto(EventSeat from) { return(new EventSeatDto { State = (SeatState)from.State, EventAreaId = from.EventAreaId, Id = from.Id, Number = from.Number, Row = from.Row }); }
private EventSeatDTO EventSeatToEventSeatDTO(EventSeat item) { return(new EventSeatDTO { Id = item.Id, EventAreaId = item.EventAreaId, Row = item.Row, Number = item.Number, State = item.State }); }
public bool Update(EventSeat elem) { for (int i = 0; i < RepoList.Count; i++) { if (RepoList[i].Id == elem.Id) { RepoList[i] = elem as EventSeat; return(true); } } return(false); }
public void CreateEventSeat(EventSeat item) { if (eventSeatInMemoryStorage.Keys.Count == 0) { item.Id = 1; } else { item.Id = eventSeatInMemoryStorage.Keys.Max() + 1; } eventSeatInMemoryStorage.Add(item.Id, item); }
public void UpdateEventSeat(EventSeat item) { SqlCommand cmd = new SqlCommand(); cmd.Connection = ConnectionDB.getInstance().SqlConnections; cmd.Parameters.AddWithValue("@id", item.Id); cmd.Parameters.AddWithValue("@eventAreaId", item.EventAreaId); cmd.Parameters.AddWithValue("@row", item.Row); cmd.Parameters.AddWithValue("@number", item.Number); cmd.Parameters.AddWithValue("@state", item.State); cmd.CommandText = "update eventSeat set eventAreaId=@eventAreaId,row=@row,number=@number,state=@state where id =@id"; cmd.ExecuteNonQuery(); }
public void Update(EventSeat obj) { using (MyDbContext db = new MyDbContext()) { var s = db.EventSeat.Find(obj.Id); s.EventAreaId = obj.EventAreaId; s.Row = obj.Row; s.Number = obj.Number; s.State = obj.State; db.SaveChanges(); } }
public EventSeat Get(int id) { EventSeat r = new EventSeat(); foreach (var v in RepoList) { if (v.Id == id) { r = v; break; } } return(r); }
public void CreateEventSeat(EventSeat item) { SqlCommand cmd = new SqlCommand(); cmd.Connection = ConnectionDB.getInstance().SqlConnections; cmd.Parameters.AddWithValue("@eventAreaId", item.EventAreaId); cmd.Parameters.AddWithValue("@row", item.Row); cmd.Parameters.AddWithValue("@number", item.Number); cmd.Parameters.AddWithValue("@state", item.State); cmd.CommandText = "Insert into eventSeat(eventAreaId,row,number,state) output inserted.id values(@eventId,@row,@number,@state)"; using (SqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { item.Id = (int)reader[0]; } } }
public EventSeatQueryDetailViewModel GetEventSeat(EventSeat theSeat) { var eventSeat = _context.EventSeat.Where(es => es.EventSeatId == theSeat.EventSeatId) .Select(es => new EventSeatQueryDetailViewModel { EventId = es.Event.EventId, EventName = es.Event.EventName, EventDateTime = es.Event.EventDateTime, VenueId = es.Seat.Row.Section.Venue.VenueId, VenueName = es.Seat.Row.Section.Venue.VenueName, EventSeatId = es.EventSeatId, SeatName = es.Seat.SeatName, RowName = es.Seat.Row.RowName, SectionName = es.Seat.Row.Section.SectionName, EventSeatPrice = (es.EventSeatPrice + es.Seat.Price), Available = es.TicketPurchase.TicketPurchaseId == null ? true : false }).FirstOrDefault(); return(eventSeat); }
public bool TryGet(int eventSeatId, out EventSeatResponse response) { EventSeat target = _context.EventSeat.SingleOrDefault(es => es.EventSeatId == eventSeatId); if (target != null) { bool isPurchased = _context.TicketPurchaseSeat.ToList().Any(tps => tps.EventSeatId == eventSeatId); response = new EventSeatResponse { EventSeatId = target.EventSeatId, SeatId = target.SeatId, EventId = target.EventId, EventSeatPrice = target.EventSeatPrice, IsAvailable = !isPurchased }; return(true); } // event seat not found response = null; return(false); }
public bool CreateTicketPurchase(TicketPurchaseJSON ticketPurchase) { bool isSuccessful = false; try { TicketPurchase purchase = new TicketPurchase { PaymentMethod = ticketPurchase.PaymentMethod, PaymentAmount = ticketPurchase.PaymentAmount, ConfirmationCode = ticketPurchase.ConfirmationCode }; _context.TicketPurchase.Add(purchase); foreach (int eventSeatId in ticketPurchase.EventSeatsPurchased) { EventSeat seat = _context.EventSeat .Where(es => es.EventSeatId == eventSeatId) .FirstOrDefault(); if (seat != null && seat.TicketPurchase == null) { seat.TicketPurchase = purchase; } else { _context.TicketPurchase.Remove(purchase); _context.SaveChanges(); throw new System.ArgumentException("Seat ID Invalid"); } } _context.SaveChanges(); isSuccessful = true; } catch (Exception e) { } return(isSuccessful); }
public async Task <IActionResult> Create([Bind("EventId,Name,Date,IsLocked")] Event @event) { if (ModelState.IsValid) { _context.Add(@event); if (!_context.EventSeats.Where(es => es.EventID == @event.EventId).Any()) { foreach (Seat seat in _context.Seats) { EventSeat es = new EventSeat { EventID = @event.EventId, SeatID = seat.SeatID }; _context.Add(es); } } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(@event)); }
public EventSeat GetEventSeatById(int id) { SqlCommand cmd = new SqlCommand(); cmd.Connection = ConnectionDB.getInstance().SqlConnections; cmd.Parameters.AddWithValue("@id", id); cmd.CommandText = "select eventAreaId,row,number,state from eventArea where id = @id"; EventSeat ev = null; using (SqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { ev = new EventSeat(); ev.Id = id; ev.EventAreaId = (int)reader[0]; ev.Row = (int)reader[1]; ev.Number = (int)reader[2]; ev.State = (string)reader[3]; } } return(ev); }
public void UpdateEventSeat(EventSeat item) { eventSeatInMemoryStorage[item.Id] = item; }
public static void Initialize(ssdticketsContext context) { context.Database.EnsureCreated(); if (context.Venue.Any()) { // DB has already been seeded return; } // Initialization constants const string VENUE_NAME = "BCIT Stadium"; const int NUM_SECTIONS = 10; const int ROWS_PER_SECTION = 10; const int SEATS_PER_ROW = 10; const int CAPACITY = NUM_SECTIONS * ROWS_PER_SECTION * SEATS_PER_ROW; const decimal VENUE_SEAT_PRICE = 12.50m; // Venue Venue bcit = new Venue { Capacity = CAPACITY, VenueName = VENUE_NAME }; context.Venue.Add(bcit); context.SaveChanges(); // Sections List <Section> sections = new List <Section>(); for (int i = 0; i < NUM_SECTIONS; i++) { var section = new Section { VenueName = bcit.VenueName, SectionName = $"Section {i + 1}" }; sections.Add(section); context.Section.Add(section); } context.SaveChanges(); // Rows List <Row> rows = new List <Row>(); foreach (Section s in sections) { for (int i = 0; i < ROWS_PER_SECTION; i++) { var row = new Row { Section = s, RowName = $"Row {i + 1}" }; rows.Add(row); context.Row.Add(row); } context.SaveChanges(); } // Seats List <Seat> seats = new List <Seat>(); foreach (Row r in rows) { for (int i = 0; i < SEATS_PER_ROW; i++) { var seat = new Seat { Row = r, Price = VENUE_SEAT_PRICE }; seats.Add(seat); context.Seat.Add(seat); } context.SaveChanges(); } // Events var events = new Event[] { new Event { EventName = "Conference", VenueName = VENUE_NAME }, new Event { EventName = "Barbecue", VenueName = VENUE_NAME }, new Event { EventName = "Hackathon", VenueName = VENUE_NAME }, new Event { EventName = "Convention", VenueName = VENUE_NAME }, new Event { EventName = "Soccer Championships", VenueName = VENUE_NAME } }; foreach (Event e in events) { context.Event.Add(e); } context.SaveChanges(); // Event Seats // Prices for events are 10.50, plus an extra $5 for each row closer to the front // (eg. if there are 10 rows, the 10th row will have no extra cost, and the 1st row will be an extra $45) foreach (Event e in events) { decimal eventPrice = 10.50m; foreach (Seat venueSeat in seats) { var eventSeat = new EventSeat { Seat = venueSeat, Event = e, EventSeatPrice = eventPrice + (5 * (ROWS_PER_SECTION - getRowNumber(venueSeat.Row))) }; context.EventSeat.Add(eventSeat); } context.SaveChanges(); } // Ticket Purchases // Each event has the first row of section 1 sold out // Each event also has seats 1 and 2 sold in the second row of section 1 foreach (Event e in events) { // Purchase first row in a single transaction IEnumerable <EventSeat> firstRow = e.EventSeat.Where(es => getRowNumber(es.Seat.Row) == 1 && es.Seat.Row.SectionId == 1); var firstRowPurchase = new TicketPurchase { PaymentMethod = "Credit Card", ConfirmationCode = "123456" }; decimal totalPurchaseCost = 0; var tickets = new List <TicketPurchaseSeat>(); foreach (EventSeat es in firstRow) { var seatPurchase = new TicketPurchaseSeat { EventSeat = es, Purchase = firstRowPurchase, SeatSubtotal = es.EventSeatPrice + es.Seat.Price }; tickets.Add(seatPurchase); totalPurchaseCost += (decimal)seatPurchase.SeatSubtotal; } firstRowPurchase.PaymentAmount = totalPurchaseCost; context.TicketPurchase.Add(firstRowPurchase); context.SaveChanges(); foreach (TicketPurchaseSeat ticket in tickets) { context.TicketPurchaseSeat.Add(ticket); } context.SaveChanges(); // Purchase seats 1 and 2 of second row IEnumerable <EventSeat> secondRowSeats = e.EventSeat.Where( es => getRowNumber(es.Seat.Row) == 2 && es.Seat.Row.SectionId == 1 && (es.SeatId % SEATS_PER_ROW == 1 || es.SeatId % SEATS_PER_ROW == 2)); var secondRowPurchase = new TicketPurchase { PaymentMethod = "Debit", ConfirmationCode = "789123" }; totalPurchaseCost = 0; tickets = new List <TicketPurchaseSeat>(); foreach (EventSeat es in secondRowSeats) { var seatPurchase = new TicketPurchaseSeat { EventSeat = es, Purchase = secondRowPurchase, SeatSubtotal = es.EventSeatPrice + es.Seat.Price }; tickets.Add(seatPurchase); totalPurchaseCost += (decimal)seatPurchase.SeatSubtotal; } secondRowPurchase.PaymentAmount = totalPurchaseCost; context.TicketPurchase.Add(secondRowPurchase); context.SaveChanges(); foreach (TicketPurchaseSeat ticket in tickets) { context.TicketPurchaseSeat.Add(ticket); } context.SaveChanges(); } }
public static void Initialize(ApplicationDbContext context) { Event @event; if (!context.Events.Any()) { @event = new Event { Name = "Summer Concert 2017", Date = new DateTime(2017, 7, 1) }; context.Add(@event); context.SaveChanges(); } else { @event = context.Events.First(); } List <Seat> @seats; if (!context.Seats.Any()) { @seats = new List <Seat>(); // Middle Section int[] @seatCounts = new int[] { 10, 11, 10, 11, 11, 12, 11, 12, 12, 13, 12, 13, 12, 13, 14, 13, 14 }; string[] @rows = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q" }; for (int i = 0; i < @rows.Length; i++) { for (int j = 1; j <= @seatCounts[i]; j++) { Seat @seat = new Seat { Section = "Middle", Row = @rows[i], Number = j.ToString() }; context.Add(@seat); @seats.Add(@seat); } } // Side Sections int[] @seatCountsSides = new int[] { 5, 6, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12 }; string[] @rowsSides = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P" }; string[] @sides = new string[] { "Left", "Right" }; foreach (string @side in @sides) { for (int i = 0; i < @rowsSides.Length; i++) { for (int j = 1; j <= @seatCountsSides[i]; j++) { Seat @seat = new Seat { Section = @side, Row = @rowsSides[i], Number = j.ToString() }; context.Add(@seat); @seats.Add(@seat); } } } context.SaveChanges(); } else { @seats = context.Seats.ToList(); } if (!context.EventSeats.Where(es => es.EventID == @event.EventId).Any()) { foreach (Seat seat in @seats) { EventSeat es = new EventSeat { EventID = @event.EventId, SeatID = seat.SeatID }; context.Add(es); } context.SaveChanges(); } if (!context.Sponsors.Any()) { context.Sponsors.Add(new Sponsor { Name = "UNSPONSORED" }); context.SaveChanges(); } }
public IEnumerable <EventSeat> GetAll() { return(EventSeat.FromEntityList(_service.GetAll())); }
public EventSeat Get(int id) { return(EventSeat.FromEntity(_service.Get(id))); }
public IEnumerable <EventSeat> GetForEventArea(int eventAreaId) { return(EventSeat.FromEntityList(_service.GetForEventArea(eventAreaId))); }
public int Save(EventSeat elem) { RepoList.Add(elem as EventSeat); return(elem.Id); }