Example #1
0
        public bool CancelAllFlights(LoginToken <AirlineCompany> token)
        {
            if (CheckToken(token))
            {
                List <Flight> allFlights = _flightDAO.GetAll();
                _ticketDAO.DeleteAll();
                foreach (Flight flight in allFlights)
                {
                    _flightHistoryDAO.Add(flight.ConvertToHistoryObject <Flight, FlightsHistory>());

                    HistoryTracking thisFlightTrackingInfo = new HistoryTracking();
                    thisFlightTrackingInfo.HISTORY_ENTRY_ID   = flight.ID;
                    thisFlightTrackingInfo.HISTORY_ENTRY_KIND = flight.GetType().Name;
                    thisFlightTrackingInfo.HISTORY_ENTRY_TIME = DateTime.UtcNow;

                    _historyTrackingDAO.Add(thisFlightTrackingInfo);

                    _flightDAO.Remove(flight);
                }

                if (_ticketDAO.GetAll().Count == 0 && _flightDAO.GetAll().Count == 0)
                {
                    return(true);
                }
            }
            return(false);
        }
Example #2
0
        public bool CancelTicket(LoginToken <Customer> token, Ticket ticket)
        {
            if (CheckToken(token))
            {
                if (IsSomethingExists(ticket))
                {
                    _ticketHistoryDAO.Add(ticket.ConvertToHistoryObject <Ticket, TicketsHistory>());

                    HistoryTracking thisTicketTrackingInfo = new HistoryTracking();
                    thisTicketTrackingInfo.HISTORY_ENTRY_ID   = ticket.ID;
                    thisTicketTrackingInfo.HISTORY_ENTRY_KIND = ticket.GetType().Name;
                    thisTicketTrackingInfo.HISTORY_ENTRY_TIME = DateTime.UtcNow;

                    _historyTrackingDAO.Add(thisTicketTrackingInfo);

                    _ticketDAO.Remove(ticket);
                    return(true);
                }
            }
            return(false);
        }
Example #3
0
        public bool CancelFlight(LoginToken <AirlineCompany> token, Flight flight)
        {
            if (CheckToken(token))
            {
                if (IsSomethingExists(flight))
                {
                    _flightHistoryDAO.Add(flight.ConvertToHistoryObject <Flight, FlightsHistory>());

                    HistoryTracking thisFlightTrackingInfo = new HistoryTracking();
                    thisFlightTrackingInfo.HISTORY_ENTRY_ID   = flight.ID;
                    thisFlightTrackingInfo.HISTORY_ENTRY_KIND = flight.GetType().Name;
                    thisFlightTrackingInfo.HISTORY_ENTRY_TIME = DateTime.UtcNow;

                    _historyTrackingDAO.Add(thisFlightTrackingInfo);

                    _flightDAO.Remove(flight);
                    return(true);
                }
            }
            return(false);
        }
Example #4
0
        /// <summary>
        /// Singleton - private constructor,
        /// acsess the clas by it's name and the method GetInstance instead.
        /// </summary>
        private FlyingCenterSystem()
        {
            try
            {
                _threadTimeDelatyMilliseconds = int.Parse(ConfigurationManager.AppSettings["ThreadDelayTime"]);
            }
            catch (ArgumentNullException)
            {
                _threadTimeDelatyMilliseconds = 86400000;
            }

            _wakeUpAndSing = new Thread(() =>
            {
                Thread.Sleep(_threadTimeDelatyMilliseconds);
                var _currentFlightDAO          = this.CreateApproptiateDAOInstance <Flight>();
                var _currentFlightHistoryDAO   = this.CreateApproptiateDAOInstance <FlightsHistory>();
                var _currentTicketsDAO         = this.CreateApproptiateDAOInstance <Ticket>();
                var _currentTicketHistoryDAO   = this.CreateApproptiateDAOInstance <TicketsHistory>();
                var _currentHistoryTrackingDAO = this.CreateApproptiateDAOInstance <HistoryTracking>();

                foreach (var s_Flight in _currentFlightDAO.GetAll())
                {
                    if (s_Flight.LANDING_TIME.Hour - DateTime.Now.Hour > 3)
                    {
                        FlightsHistory historyItemFlight = new FlightsHistory();
                        for (int i = 0; i < s_Flight.GetType().GetProperties().Length; i++)
                        {
                            historyItemFlight.GetType().GetProperties()[i].SetValue(historyItemFlight, s_Flight.GetType().GetProperties()[i].GetValue(s_Flight));
                        }
                        _currentFlightHistoryDAO.Add(historyItemFlight);

                        HistoryTracking thisFlightTrackingInfo    = new HistoryTracking();
                        thisFlightTrackingInfo.HISTORY_ENTRY_ID   = s_Flight.ID;
                        thisFlightTrackingInfo.HISTORY_ENTRY_KIND = s_Flight.GetType().Name;
                        thisFlightTrackingInfo.HISTORY_ENTRY_TIME = DateTime.UtcNow;

                        _currentHistoryTrackingDAO.Add(thisFlightTrackingInfo);

                        _currentFlightDAO.Remove(s_Flight);

                        Ticket ticketFromFlight          = _currentTicketsDAO.GetSomethingBySomethingInternal(s_Flight.ID, (int)TicketPropertyNumber.FLIGHT_ID);
                        TicketsHistory historyItemTicket = new TicketsHistory();
                        for (int i = 0; i < ticketFromFlight.GetType().GetProperties().Length; i++)
                        {
                            historyItemTicket.GetType().GetProperties()[i].SetValue(historyItemTicket, ticketFromFlight.GetType().GetProperties()[i].GetValue(ticketFromFlight));
                        }
                        _currentTicketHistoryDAO.Add(historyItemTicket);

                        HistoryTracking thisTicketTrackingInfo    = new HistoryTracking();
                        thisTicketTrackingInfo.HISTORY_ENTRY_ID   = ticketFromFlight.ID;
                        thisTicketTrackingInfo.HISTORY_ENTRY_KIND = ticketFromFlight.GetType().Name;
                        thisTicketTrackingInfo.HISTORY_ENTRY_TIME = DateTime.UtcNow;

                        _currentHistoryTrackingDAO.Add(thisTicketTrackingInfo);

                        _currentTicketsDAO.Remove(ticketFromFlight);
                    }
                }
            });
            _wakeUpAndSing.Start();
        }