Ejemplo n.º 1
0
        }                                               //Lotnisko wylotu


        /// <summary>
        /// Metoda tworząca zestaw biletów odpowiadających lotowi. Ilość i rodzaj tworzonych biletów zależy od typu samolotu. Bilety zapisywane są w odpowiedniej dla nich bazie danych Ticket.
        /// </summary>
        /// <returns></returns>
        public TicketContext CreateFlight()
        {
            int economicTickets   = 0;
            int businessTickets   = 0;
            int firstClassTickets = 0;
            var optionsBuilder    = new DbContextOptionsBuilder <TicketContext>();

            optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=Ticket-1;Trusted_Connection=True;MultipleActiveResultSets=true");
            TicketContext services = new TicketContext(optionsBuilder.Options);

            switch (FlightName)     //W zależności od rodzaju samolotu zostanie utworzony zestaw biletów zawierający określone ilości biletów danego typu. Ilości biletów ograniczono dla zachowania przejrzystości strony FlightTickets.
            {
            case FlightType.Boeing787:
                economicTickets   = 5;
                businessTickets   = 2;
                firstClassTickets = 1;
                break;

            case FlightType.Boeing737:
                economicTickets   = 4;
                businessTickets   = 5;
                firstClassTickets = 5;
                break;

            case FlightType.Embraer:
                economicTickets   = 3;
                businessTickets   = 2;
                firstClassTickets = 1;
                break;
            }

            for (int i = 1; i <= economicTickets; i++)
            {
                services.Add(Ticket.CreateTicket(this, TicketType.Economic, i));
            }
            for (int i = 1; i <= businessTickets; i++)
            {
                services.Add(Ticket.CreateTicket(this, TicketType.Business, i));
            }
            for (int i = 1; i <= firstClassTickets; i++)
            {
                services.Add(Ticket.CreateTicket(this, TicketType.FirstClass, i));
            }
            services.SaveChanges();
            return(services);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Metoda usuwajaca zestaw biletów odpowiadających określonemu lotowi. Wywoływana przy kasowaniu lotu. Usuwa obiekty z bazy danych Ticket.
        /// </summary>
        /// <returns></returns>
        public int DeleteFlight()
        {
            var optionsBuilder = new DbContextOptionsBuilder <TicketContext>();

            optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=Ticket-1;Trusted_Connection=True;MultipleActiveResultSets=true");
            TicketContext services   = new TicketContext(optionsBuilder.Options);
            int           testTicket = 0;

            foreach (var item in services.Ticket)
            {
                if (item.FlightID == this.FlightID)
                {
                    testTicket = item.TicketID;
                    services.Remove(item);
                }
            }
            services.SaveChanges();
            return(testTicket);
        }