コード例 #1
0
 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;
     }
 }
コード例 #2
0
        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);
                    }
                }
            }
        }
コード例 #3
0
        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"));
        }