protected void btnGuardar_OnClick(object sender, EventArgs e) { try { if (txtObservaciones.Text.Trim() == string.Empty) { throw new Exception("Debe especificar una descripción"); } PreTicket result = _servicioticket.GeneraPreticket(IdArbol, IdUsuarioSolicito, IdUsuarioLevanto, txtObservaciones.Text); lblNoTicket.Text = result.Id.ToString(); lblDescRandom.Visible = true; lblRandom.Visible = true; lblRandom.Text = result.ClaveRegistro; upConfirmacion.Update(); LimpiarCampos(); ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "Script", "MostrarPopup(\"#modalExito\");", true); if (OnAceptarModal != null) { OnAceptarModal(); } } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } }
private void AddTicketsToDB(List <BaseTicket> tickets, int orderId) { foreach (BaseTicket ob in tickets) { if (ob is ConcertTicket ct) { Ticket ticket = new Ticket(); PreTicket pt = ct.Ticket; ticket.EventId = pt.EventId; ticket.OrderId = orderId; for (int i = 0; i < ct.Ticket.Count; i++) { ticket.Comment = ""; ticketRepository.AddTicket(ticket); } eventRepository.LowerAvailableSeats(ct.Ticket.EventId, ct.Ticket.Count); } if (ob is DinnerTicket dt) { Ticket ticket = new Ticket(); PreTicket pt = dt.Ticket; ticket.EventId = pt.EventId; ticket.OrderId = orderId; for (int i = 0; i < dt.Ticket.Count; i++) { ticket.Comment = dt.Remarks; ticketRepository.AddTicket(ticket); } } } }
public ActionResult Reservation(ReservationViewModel reservationViewModel) { if (Session["Reservation"] != null) { reservation = (Reservation)Session["Reservation"]; } else { reservation = new Reservation(); } List <ConcertTicket> concertTickets = new List <ConcertTicket>(); foreach (ConcertTicket concertTicket in reservationViewModel.ConcertTickets) { if (concertTicket.Ticket.Count != 0) { PreTicket ticket = new PreTicket { EventId = concertTicket.Ticket.EventId, Event = eventRepository.GetEvent(concertTicket.Ticket.EventId), Count = concertTicket.Ticket.Count }; concertTicket.Count = concertTicket.Ticket.Count; concertTicket.Id = concertTicket.Ticket.EventId; concertTicket.Ticket = ticket; concertTicket.Concert = concertRepository.GetConcert(concertTicket.Ticket.Event.EventId); concertTickets.Add(concertTicket); } } //Op zondag zijn er geen passpartouts if (!reservationViewModel.Day.Equals("Sunday")) { if (reservation.PassParToutDays == null) { if (reservationViewModel.PassParToutDay.Count != 0) { List <PassParToutDay> passParToutDaysList = new List <PassParToutDay> { reservationViewModel.PassParToutDay }; reservation.PassParToutDays = passParToutDaysList; } } else { bool found = false; foreach (PassParToutDay passParTout in reservation.PassParToutDays) { if (reservationViewModel.PassParToutDay.Count != 0) { if (passParTout.Day.Equals(reservationViewModel.PassParToutDay.Day)) { passParTout.Count += reservationViewModel.PassParToutDay.Count; found = true; break; } else { found = false; } } } //Loop door alle passPartouts in de session heen, als hij er niet tussen staat voeg hem toe if (!found) { if (reservationViewModel.PassParToutDay.Count != 0) { reservation.PassParToutDays.Add(reservationViewModel.PassParToutDay); } } } if (reservation.PassParToutWeek == null) { if (reservationViewModel.PassParToutWeek.Count != 0) { reservation.PassParToutWeek = reservationViewModel.PassParToutWeek; } } else { if (reservationViewModel.PassParToutWeek.Count != 0) { reservation.PassParToutWeek.Count += reservationViewModel.PassParToutWeek.Count; } } } if (reservation.Tickets == null) { reservation.Tickets = concertTickets.ToList <BaseTicket>(); } else { List <ConcertTicket> ticketsToBeAdded = new List <ConcertTicket>(); foreach (ConcertTicket ct in concertTickets) { bool found = false; foreach (object ticket in reservation.Tickets) { if (ticket is ConcertTicket t) { if (ct.Concert.EventId == t.Concert.EventId) { found = true; t.Ticket.Count += ct.Ticket.Count; break; } } } if (!found) { ticketsToBeAdded.Add(ct); } } reservation.Tickets.AddRange(ticketsToBeAdded); } Session["Reservation"] = reservation; return(RedirectToAction("Basket", "Home")); }