Esempio n. 1
0
        private void CalendarDayButton_Click(object sender, RoutedEventArgs e)
        {
            if (LoadingData)
            {
                return;
            }
            var item = (((Button)e.Source).CommandParameter) as CalendarDate;

            if (item != null)
            {
                foreach (var date in CalendarItems)
                {
                    date.IsSelected = false;
                }

                item.IsSelected = true;

                var today = item;

                TodayDate = today.Date;

                var nextDay = CalendarItems.FirstOrDefault(x => x.Date == item.Date.AddDays(1));

                TomorrowDate = nextDay.Date;


                Thread td = new Thread(() => {
                    DisplayTodayItems();

                    DisplayTomorrowItems();
                });
                td.IsBackground = true;
                td.Start();
            }
        }
Esempio n. 2
0
        public void ProcessEventCancelation_When_executed_verify_event()

        {
            CancelEventDto cancelEvent = new CancelEventDto
            {
                CancelNote   = "practice is cancel due to snow",
                CancelReason = "weather",
                PracticeId   = 67,
            };

            CalendarItems calendarItem = new CalendarItems
            {
                Id       = 89,
                ItemDate = DateTime.Now.AddDays(7),
            };

            PracticeCalendarItems practiceCalendarItem = new PracticeCalendarItems
            {
                Id           = 67,
                CalendarItem = calendarItem,
                ProgramId    = 10,
            };

            SportLocationDto sport = new SportLocationDto
            {
                ProgramId   = 10,
                SportId     = 4,
                Email       = "*****@*****.**",
                SportName   = "Basketball",
                ProgramName = "Woodbridge",
            };

            PracticeCalendarItems practice = new PracticeCalendarItems
            {
                Id           = 67,
                CalendarItem = new CalendarItems {
                    Id = 89, ItemDate = DateTime.Now.AddDays(7)
                }
            };

            _mockCalendarRepository.Setup(repository => repository.GetPracticeEvent(cancelEvent.PracticeId)).ReturnsAsync(practiceCalendarItem);

            string expected = sport.SportName + " " + sport.ProgramName + " " +
                              DateTime.Now.AddDays(7).ToShortDateString() + " practice canceled " +
                              cancelEvent.CancelReason;

            var actual = _worker.ProcessEventCancelation(cancelEvent);

            _mockCalendarRepository.Verify(mock => mock.GetPracticeEvent(It.IsAny <long>()), Times.Once);
        }
 private void UserControl_Loaded(object sender, RoutedEventArgs e)
 {
     if (this.CalendarItems == null || this.CalendarItems.Count < 1)
     {
         TimeBox.Text = this.Time.Hours.ToString() + ":00";
     }
     else
     {
         TimeSpan time = CalendarItems.FirstOrDefault().Key;
         TimeBox.Text = time.Hours.ToString() + ":" + (time.Minutes < 10 && time.Minutes > 0 ? "0" : "") + time.Minutes.ToString() + (time.Minutes == 0 ? "0" : "");
     }
     ItemBox.Style = this.GridStyle;
     ViewModel     = ((CalendarVm)(MainGrid.DataContext));
 }
Esempio n. 4
0
        public void LoadData(object param = null)
        {
            // Load Trovesaurus data from API
            try
            {
                log.Info("Loading Trovesaurus news, calendar, and streams data");
                if (_StatusTimer == null)
                {
                    StartStatusTimer();
                }
                CheckStatus();

                TrovesaurusApi.RefreshNewsList();
                NewsItems.Clear();
                foreach (var item in TrovesaurusApi.NewsList)
                {
                    NewsItems.Add(item);
                }

                TrovesaurusApi.RefreshCalendarList();
                CalendarItems.Clear();
                foreach (var item in TrovesaurusApi.CalendarList)
                {
                    CalendarItems.Add(item);
                }

                TrovesaurusApi.RefreshStreamList();
                OnlineStreams.Clear();
                foreach (var item in TrovesaurusApi.StreamList)
                {
                    OnlineStreams.Add(item);
                }

                CalendarView.SortDescriptions.Clear();
                CalendarView.SortDescriptions.Add(new SortDescription("EndDateTime", ListSortDirection.Ascending));

                log.Info("Trovesaurus news, calendar, and streams data loaded successfully");
            }
            catch (Exception ex)
            {
                log.Error("Error loading Trovesaurus news, calendar or streams", ex);
            }
        }
Esempio n. 5
0
        //returns all the calendaritems for the current date
        private List <CalendarItem> getCalendarItems(DateTime date)
        {
            List <CalendarItem> items = new List <CalendarItem>();

            var airlineCountries = (from a in GameObject.GetInstance().HumanAirline.Airports select a.Profile.Country).Distinct();

            var holidayGroups =
                from h in HolidayYear.GetHolidays(date)
                where (this.ShowAll || airlineCountries.Contains(h.Holiday.Country))
                orderby h.Date
                group h by h.Holiday.Name into gh
                select new { Holiday = gh.First(), Countries = gh };


            foreach (var hg in holidayGroups)
            {
                List <Country> countries = new List <Country>();

                foreach (var n in hg.Countries)
                {
                    if (!countries.Contains(n.Holiday.Country))
                    {
                        countries.Add(n.Holiday.Country);
                    }
                }
                items.Add(new CalendarItem(CalendarItem.ItemType.Holiday, date, hg.Holiday.Holiday.Name, string.Join("\r\n", from c in countries select c.Name)));
            }

            var airliners = GameObject.GetInstance().HumanAirline.Fleet.FindAll((a => a.Airliner.BuiltDate.ToShortDateString() == date.ToShortDateString() && date > GameObject.GetInstance().GameTime));

            if (airliners.Count > 0)
            {
                items.Add(new CalendarItem(CalendarItem.ItemType.Airliner_Order, date, "Delivery of airliners", string.Join("\r\n", from a in airliners select a.Name)));
            }

            foreach (CalendarItem item in CalendarItems.GetCalendarItems(date))
            {
                items.Add(item);
            }

            return(items);
        }
Esempio n. 6
0
        public void ProcessEventCancelation_When_executed_creat_email_dto()

        {
            CancelEventDto cancelEvent = new CancelEventDto
            {
                CancelNote   = "practice is cancel due to snow",
                CancelReason = "weather",
                PracticeId   = 67,
            };

            CalendarItems calendarItem = new CalendarItems
            {
                Id       = 89,
                ItemDate = DateTime.Now.AddDays(7),
            };

            PracticeCalendarItems practiceCalendarItem = new PracticeCalendarItems
            {
                Id           = 67,
                CalendarItem = calendarItem,
                ProgramId    = 10,
            };

            Sports sport = new Sports
            {
                Id    = 4,
                Name  = "Basketball",
                Email = "*****@*****.**"
            };

            Programs program = new Programs
            {
                Id              = 10,
                Name            = "Woodbridge",
                SportNavigation = sport
            };

            sport.Programs.Add(program);

            //SportLocationDto sport = new SportLocationDto
            //{
            //    ProgramId = 10,
            //    SportId = 4,
            //    Email = "*****@*****.**",
            //    SportName = "Basketball",
            //    ProgramName = "Woodbridge",
            //};

            PracticeCalendarItems practice = new PracticeCalendarItems
            {
                Id           = 67,
                CalendarItem = new CalendarItems {
                    Id = 89, ItemDate = DateTime.Now.AddDays(7)
                }
            };

            _mockCalendarRepository.Setup(repository => repository.GetPracticeEvent(cancelEvent.PracticeId)).ReturnsAsync(practiceCalendarItem);
            _mockReferenceRepository.Setup(repository => repository.GetLocationByProgramId(practiceCalendarItem.ProgramId)).ReturnsAsync(program);

            string expected = sport.Name + " " + program.Name + " " +
                              DateTime.Now.AddDays(7).ToShortDateString() + " practice canceled " +
                              cancelEvent.CancelReason;

            var actual = _worker.ProcessEventCancelation(cancelEvent);

            Assert.Equal(sport.Email, actual.Result.From);
            Assert.Equal(sport.Id, actual.Result.SportId);
            Assert.Equal(program.Id, actual.Result.ProgramId);
            Assert.Equal(cancelEvent.CancelNote, actual.Result.HtmlContent);
            Assert.Equal(expected, actual.Result.Subject);
        }
Esempio n. 7
0
        public CalendarItems GetCitms(Events tds, DateTime dtBegin, DateTime dtEnd, bool isMonth)
        {
            CalendarItems citms = new CalendarItems();
            CalendarItem citm = null;
            EventCycle evcyc = null;

            // need to display the whole month so that it can get the reoccuring ones
            DateTime dtBeginMonth = new DateTime(dtBegin.Year, dtBegin.Month, 1);
            DateTime dtEndMonth = dtBegin.AddMonths(1).AddDays(-1);

            foreach (Event td in tds)
            {
                if (td.IsEnabled && !td.IsReoccuring)
                {
                    citm = new CalendarItem(td);
                    citms.Add(citm);
                }
                else if (td.IsEnabled && td.IsReoccuring)
                {
                    evcyc = new EventCycle(td.EventCycleID);

                    int amt = 0;

                    switch (evcyc.EventCode)
                    {
                        case "SFF":
                            for (DateTime date = dtBeginMonth; date <= dtEndMonth; date = date.AddDays(1))
                            {
                                if (date.DayOfWeek == DayOfWeek.Friday)
                                {
                                    amt++;

                                    if (amt == 2 || amt == 4)
                                    {
                                        if (!isMonth && dtBegin.DayOfWeek == DayOfWeek.Friday &&
                                            dtBegin.Day == date.Day)
                                        {
                                            td.LocalTimeBegin = date;
                                            citm = new CalendarItem(td);
                                            citms.Add(citm);
                                            break;
                                        }
                                        else if (isMonth)
                                        {
                                            td.LocalTimeBegin = date;
                                            citm = new CalendarItem(td);
                                            citms.Add(citm);
                                        }
                                    }
                                }
                            }
                            break;

                        case "FFR":
                            for (DateTime date = dtBeginMonth; date <= dtEndMonth; date = date.AddDays(1))
                            {
                                if (date.DayOfWeek == DayOfWeek.Friday)
                                {
                                    if (!isMonth && dtBegin.DayOfWeek == DayOfWeek.Friday &&
                                        dtBegin.Day == date.Day)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                        break;
                                    }
                                    else if (isMonth)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                    }
                                    break;
                                }
                            }

                            break;
                        case "SFR":

                            for (DateTime date = dtBeginMonth; date <= dtEndMonth; date = date.AddDays(1))
                            {

                                if (amt < 1 && date.DayOfWeek == DayOfWeek.Friday)
                                {
                                    amt++;
                                }
                                else if (amt == 1 && date.DayOfWeek == DayOfWeek.Friday)
                                {
                                    if (!isMonth && dtBegin.DayOfWeek == DayOfWeek.Friday &&
                                        dtBegin.Day == date.Day)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                        break;
                                    }
                                    else if (isMonth)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                    }
                                    break;
                                }

                            }

                            break;

                        #region weekly

                        case "MON":

                            for (DateTime date = dtBeginMonth; date <= dtEndMonth; date = date.AddDays(1))
                            {
                                if (!isMonth && dtBegin.DayOfWeek == DayOfWeek.Monday)
                                {
                                    td.LocalTimeBegin = date;
                                    citm = new CalendarItem(td);
                                    citms.Add(citm);
                                    break;
                                }
                                else if (isMonth)
                                {
                                    if (date.DayOfWeek == DayOfWeek.Monday)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                    }
                                }
                            }

                            break;

                        case "TUE":

                            for (DateTime date = dtBeginMonth; date <= dtEndMonth; date = date.AddDays(1))
                            {
                                if (!isMonth && dtBegin.DayOfWeek == DayOfWeek.Tuesday)
                                {
                                    td.LocalTimeBegin = date;
                                    citm = new CalendarItem(td);
                                    citms.Add(citm);
                                    break;
                                }
                                else if (isMonth)
                                {
                                    if (date.DayOfWeek == DayOfWeek.Tuesday)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                    }
                                }
                            }

                            break;

                        case "WED":

                            for (DateTime date = dtBeginMonth; date <= dtEndMonth; date = date.AddDays(1))
                            {
                                if (!isMonth && dtBegin.DayOfWeek == DayOfWeek.Wednesday)
                                {
                                    td.LocalTimeBegin = date;
                                    citm = new CalendarItem(td);
                                    citms.Add(citm);
                                    break;
                                }
                                else if (isMonth)
                                {
                                    if (date.DayOfWeek == DayOfWeek.Wednesday)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                    }
                                }
                            }

                            break;

                        case "THU":

                            for (DateTime date = dtBeginMonth; date <= dtEndMonth; date = date.AddDays(1))
                            {
                                if (!isMonth && dtBegin.DayOfWeek == DayOfWeek.Thursday)
                                {
                                    td.LocalTimeBegin = date;
                                    citm = new CalendarItem(td);
                                    citms.Add(citm);
                                    break;
                                }
                                else if (isMonth)
                                {
                                    if (date.DayOfWeek == DayOfWeek.Thursday)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                    }
                                }
                            }

                            break;

                        case "FRI":

                            for (DateTime date = dtBeginMonth; date <= dtEndMonth; date = date.AddDays(1))
                            {
                                if (!isMonth && dtBegin.DayOfWeek == DayOfWeek.Friday)
                                {
                                    td.LocalTimeBegin = date;
                                    citm = new CalendarItem(td);
                                    citms.Add(citm);
                                    break;
                                }
                                else if (isMonth)
                                {
                                    if (date.DayOfWeek == DayOfWeek.Friday)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                    }
                                }
                            }

                            break;

                        case "SAT":

                            for (DateTime date = dtBeginMonth; date <= dtEndMonth; date = date.AddDays(1))
                            {
                                if (!isMonth && dtBegin.DayOfWeek == DayOfWeek.Saturday)
                                {
                                    td.LocalTimeBegin = date;
                                    citm = new CalendarItem(td);
                                    citms.Add(citm);
                                    break;
                                }
                                else if (isMonth)
                                {
                                    if (date.DayOfWeek == DayOfWeek.Saturday)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                    }
                                }
                            }

                            break;

                        case "SUN":

                            for (DateTime date = dtBeginMonth; date <= dtEndMonth; date = date.AddDays(1))
                            {
                                if (!isMonth && dtBegin.DayOfWeek == DayOfWeek.Sunday)
                                {
                                    td.LocalTimeBegin = date;
                                    citm = new CalendarItem(td);
                                    citms.Add(citm);
                                    break;
                                }
                                else if (isMonth)
                                {
                                    if (date.DayOfWeek == DayOfWeek.Sunday)
                                    {
                                        td.LocalTimeBegin = date;
                                        citm = new CalendarItem(td);
                                        citms.Add(citm);
                                    }
                                }
                            }

                            break;

                        #endregion

                        default: break;
                    }
                }

            }

            return citms;
        }
        //saves a game
        public static void SaveGame(string name)
        {
            //Pause the game so we can save without the clock running :)
            GameObjectWorker.GetInstance().pause();

            string fileName = AppSettings.getCommonApplicationDataPath() + "\\saves\\" + name + ".sav";

            Stopwatch sw = new Stopwatch();

            sw.Start();

            SaveObject so = new SaveObject();

            Parallel.Invoke(() =>
            {
                so.airportsList = new List <Airport>();
                so.airportsList.AddRange(Airports.GetAllAirports());
            }, () =>
            {
                so.airlinesList = new List <Airline>();
                so.airlinesList.AddRange(Airlines.GetAllAirlines());
            }, () =>
            {
                so.airlinersList = new List <Airliner>();
                so.airlinersList.AddRange(Airliners.GetAllAirliners());
            }, () =>
            {
                so.calendaritemsList = new List <CalendarItem>();
                so.calendaritemsList.AddRange(CalendarItems.GetCalendarItems());
            }, () =>
            {
                so.configurationList = new List <Configuration>();
                so.configurationList.AddRange(Configurations.GetConfigurations());
            }, () =>
            {
                so.eventsList = new List <RandomEvent>();
                so.eventsList.AddRange(RandomEvents.GetEvents());
            }, () =>
            {
                so.allianceList = new List <Alliance>();
                so.allianceList.AddRange(Alliances.GetAlliances());
            }, () =>
            {
                so.Airportfacilitieslist = new List <AirportFacility>();
                so.Airportfacilitieslist.AddRange(AirportFacilities.GetFacilities());
            }, () =>
            {
                so.instance = GameObject.GetInstance();
            });


            DataContractSerializer serializer = new DataContractSerializer(typeof(SaveObject), null,
                                                                           Int32.MaxValue,
                                                                           false,
                                                                           true,
                                                                           null);

            using (Stream stream = new FileStream(fileName, FileMode.Create))
            {
                using (DeflateStream compress = new DeflateStream(stream, CompressionMode.Compress))
                {
                    serializer.WriteObject(compress, so);
                }
            }

            sw.Stop();
        }
        //loads a game
        public static void LoadGame(string file)
        {
            string fileName = AppSettings.getCommonApplicationDataPath() + "\\saves\\" + file + ".sav";

            DataContractSerializer serializer = new DataContractSerializer(typeof(SaveObject));
            SaveObject             deserializedSaveObject;

            using (FileStream stream = new FileStream(fileName, FileMode.Open))
            {
                using (DeflateStream decompress = new DeflateStream(stream, CompressionMode.Decompress))
                {
                    deserializedSaveObject =
                        (SaveObject)serializer.ReadObject(decompress);
                }
            }

            //Parrarel for loading the game
            Parallel.Invoke(() =>
            {
                Airlines.Clear();

                foreach (Airline airline in deserializedSaveObject.airlinesList)
                {
                    Airlines.AddAirline(airline);
                }
            },
                            () =>
            {
                Airports.Clear();

                foreach (Airport airport in deserializedSaveObject.airportsList)
                {
                    airport.Statics = new AirportStatics(airport);
                    Airports.AddAirport(airport);
                }
            },
                            () =>
            {
                Airliners.Clear();

                foreach (Airliner airliner in deserializedSaveObject.airlinersList)
                {
                    Airliners.AddAirliner(airliner);
                }
            },
                            () =>
            {
                CalendarItems.Clear();

                foreach (CalendarItem item in deserializedSaveObject.calendaritemsList)
                {
                    CalendarItems.AddCalendarItem(item);
                }

                Configurations.Clear();

                foreach (Configuration configuration in deserializedSaveObject.configurationList)
                {
                    Configurations.AddConfiguration(configuration);
                }
            },
                            () =>
            {
                RandomEvents.Clear();

                foreach (RandomEvent e in deserializedSaveObject.eventsList)
                {
                    RandomEvents.AddEvent(e);
                }
            },
                            () =>
            {
                Alliances.Clear();

                foreach (Alliance alliance in deserializedSaveObject.allianceList)
                {
                    Alliances.AddAlliance(alliance);
                }
            },
                            () =>
            {
                AirportFacilities.Clear();

                foreach (AirportFacility facility in deserializedSaveObject.Airportfacilitieslist)
                {
                    AirportFacilities.AddFacility(facility);
                }
            },
                            () =>
            {
                GameObject.SetInstance(deserializedSaveObject.instance);
            });  //close parallel.invoke

            //Maybe this helps? But i doubt this is the best way
            Action action = () =>
            {
                Stopwatch swPax = new Stopwatch();
                swPax.Start();

                PassengerHelpers.CreateDestinationDemand();

                //Console.WriteLine("Demand have been created in {0} ms.", swPax.ElapsedMilliseconds);
                swPax.Stop();
            };

            //Create some pilots for the game
            int pilotsPool = 100 * Airlines.GetAllAirlines().Count;

            GeneralHelpers.CreatePilots(pilotsPool);
            int instructorsPool = 75 * Airlines.GetAllAirlines().Count;

            GeneralHelpers.CreateInstructors(instructorsPool);

            //Start the game paused
            GameObjectWorker.GetInstance().startPaused();

            //Task is needed this unlocks the game agian.
            Task.Factory.StartNew(action);
        }
Esempio n. 10
0
        //saves a game
        public static void SaveGame(string name)
        {
            Stopwatch sw = new Stopwatch();

            sw.Start();

            SaveObject so = new SaveObject();

            Parallel.Invoke(() =>
            {
                so.airportsList           = new List <Airport>();
                so.airportsfromstringList = new List <string>();

                var airportsInUse = Airports.GetAllAirports().Where(a => Airlines.GetAllAirlines().Exists(al => al.Airports.Contains(a)) || a.hasAirlineFacility());
                so.airportsList.AddRange(airportsInUse);

                foreach (Airport airport in Airports.GetAirports(a => !airportsInUse.Contains(a)))
                {
                    so.airportsfromstringList.Add(airport.Profile.IATACode);
                }
            }, () =>
            {
                so.airlinesList = new List <Airline>();
                so.airlinesList.AddRange(Airlines.GetAllAirlines());
            }, () =>
            {
                so.airlinersList = new List <Airliner>();
                so.airlinersList.AddRange(Airliners.GetAllAirliners().Where(a => a.Airline != null));
            }, () =>
            {
                so.calendaritemsList = new List <CalendarItem>();
                so.calendaritemsList.AddRange(CalendarItems.GetCalendarItems());
            }, () =>
            {
                so.configurationList = new List <Configuration>();
                so.configurationList.AddRange(Configurations.GetConfigurations());
            }, () =>
            {
                so.eventsList = new List <RandomEvent>();
                so.eventsList.AddRange(RandomEvents.GetEvents());
            }, () =>
            {
                so.allianceList = new List <Alliance>();
                so.allianceList.AddRange(Alliances.GetAlliances());
            }, () =>
            {
                so.Airportfacilitieslist = new List <AirportFacility>();
                so.Airportfacilitieslist.AddRange(AirportFacilities.GetFacilities());
            }, () =>
            {
                so.feeTypeslist = new List <FeeType>();
                so.feeTypeslist.AddRange(FeeTypes.GetTypes());
            }, () =>
            {
                so.advertisementTypeslist = new List <AdvertisementType>();
                so.advertisementTypeslist.AddRange(AdvertisementTypes.GetTypes());
            }, () =>
            {
                so.airlinerfacilitieslist = new List <AirlinerFacility>();
                so.airlinerfacilitieslist.AddRange(AirlinerFacilities.GetAllFacilities());
            }, () =>
            {
                so.routefacilitieslist = new List <RouteFacility>();
                so.routefacilitieslist.AddRange(RouteFacilities.GetAllFacilities());
            }, () =>
            {
                so.instance = GameObject.GetInstance();
                so.settings = Settings.GetInstance();
            }, () =>
            {
                so.airlinefacilitieslist = new List <AirlineFacility>();
                so.airlinefacilitieslist.AddRange(AirlineFacilities.GetFacilities());
            });

            string fileName = AppSettings.getCommonApplicationDataPath() + "\\saves\\" + name + ".sav";

            FileSerializer.Serialize(fileName, so);

            sw.Stop();
            Console.WriteLine("Saving: {0} ms", sw.ElapsedMilliseconds);



            //Clearing stats because there is no need for saving those.
            if (name != "autosave")
            {
                Airports.GetAllAirports().ForEach(a => a.clearDestinationPassengerStatistics());
                Airports.GetAllAirports().ForEach(a => a.clearDestinationCargoStatistics());
                AirlineHelpers.ClearRoutesStatistics();
                AirlineHelpers.ClearAirlinesStatistics();
                AirportHelpers.ClearAirportStatistics();
            }

            /*
             * SaveObject so = new SaveObject();
             * Parallel.Invoke(() =>
             * {
             *  so.airportsList = new List<Airport>();
             *  so.airportsList.AddRange(Airports.GetAllAirports());
             * }, () =>
             * {
             *  so.airlinesList = new List<Airline>();
             *  so.airlinesList.AddRange(Airlines.GetAllAirlines());
             * }, () =>
             * {
             *  so.airlinersList = new List<Airliner>();
             *  so.airlinersList.AddRange(Airliners.GetAllAirliners());
             * }, () =>
             * {
             *  so.calendaritemsList = new List<CalendarItem>();
             *  so.calendaritemsList.AddRange(CalendarItems.GetCalendarItems());
             * }, () =>
             * {
             *  so.configurationList = new List<Configuration>();
             *  so.configurationList.AddRange(Configurations.GetConfigurations());
             * }, () =>
             * {
             *  so.eventsList = new List<RandomEvent>();
             *  so.eventsList.AddRange(RandomEvents.GetEvents());
             * }, () =>
             * {
             *  so.allianceList = new List<Alliance>();
             *  so.allianceList.AddRange(Alliances.GetAlliances());
             * }, () =>
             * {
             *  so.Airportfacilitieslist = new List<AirportFacility>();
             *  so.Airportfacilitieslist.AddRange(AirportFacilities.GetFacilities());
             * }, () =>
             * {
             *  so.feeTypeslist = new List<FeeType>();
             *  so.feeTypeslist.AddRange(FeeTypes.GetTypes());
             * }, () =>
             * {
             *  so.advertisementTypeslist = new List<AdvertisementType>();
             *  so.advertisementTypeslist.AddRange(AdvertisementTypes.GetTypes());
             * }, () =>
             * {
             *  so.airlinerfacilitieslist = new List<AirlinerFacility>();
             *  so.airlinerfacilitieslist.AddRange(AirlinerFacilities.GetAllFacilities());
             * }, () =>
             * {
             *  so.routefacilitieslist = new List<RouteFacility>();
             *  so.routefacilitieslist.AddRange(RouteFacilities.GetAllFacilities());
             * }, () =>
             * {
             *  so.instance = GameObject.GetInstance();
             *  so.settings = Settings.GetInstance();
             *  so.savetype = "039";
             *  so.saveversionnumber = 1;
             * });
             */
            /*
             * DataContractSerializer serializer = new DataContractSerializer(typeof(SaveObject), null, Int32.MaxValue, false, true, null);
             *
             * using (Stream stream = new FileStream(fileName, FileMode.Create))
             * {
             *  using (DeflateStream compress = new DeflateStream(stream, CompressionLevel.Fastest))
             *  {
             *      serializer.WriteObject(compress, so);
             *  }
             * }
             */
        }
Esempio n. 11
0
        //loads a game
        public static void LoadGame(string file)
        {
            string fileName = AppSettings.getCommonApplicationDataPath() + "\\saves\\" + file + ".sav";

            SaveObject deserializedSaveObject = FileSerializer.Deserialize <SaveObject>(fileName);

            /*
             *
             * DataContractSerializer serializer = new DataContractSerializer(typeof(SaveObject));
             * SaveObject deserializedSaveObject;
             * string loading;
             * int version;
             *
             * using (FileStream stream = new FileStream(fileName, FileMode.Open))
             * {
             * using (DeflateStream decompress = new DeflateStream(stream, CompressionMode.Decompress))
             * {
             *     deserializedSaveObject = (SaveObject)serializer.ReadObject(decompress);
             * }
             * }
             *
             * loading = deserializedSaveObject.savetype;
             * version = deserializedSaveObject.saveversionnumber;
             */
            //Parrarel for loading the game
            Parallel.Invoke(() =>
            {
                Airlines.Clear();

                foreach (Airline airline in deserializedSaveObject.airlinesList)
                {
                    Airlines.AddAirline(airline);
                }
            },
                            () =>
            {
                Setup.LoadAirports();

                var airports = Airports.GetAllAirports();

                Airports.Clear();

                foreach (Airport airport in deserializedSaveObject.airportsList)
                {
                    airport.Statics = new AirportStatics(airport);
                    Airports.AddAirport(airport);
                }

                foreach (string iata in deserializedSaveObject.airportsfromstringList)
                {
                    Airport airport = airports.FirstOrDefault(a => a.Profile.IATACode == iata);

                    if (airport != null)
                    {
                        Airports.AddAirport(airport);
                    }
                }
            },
                            () =>
            {
                Airliners.Clear();

                foreach (Airliner airliner in deserializedSaveObject.airlinersList)
                {
                    Airliners.AddAirliner(airliner);
                }
            },
                            () =>
            {
                CalendarItems.Clear();

                foreach (CalendarItem item in deserializedSaveObject.calendaritemsList)
                {
                    CalendarItems.AddCalendarItem(item);
                }
            },
                            () =>
            {
                Configurations.Clear();

                foreach (Configuration configuration in deserializedSaveObject.configurationList)
                {
                    Configurations.AddConfiguration(configuration);
                }
            },
                            () =>
            {
                RandomEvents.Clear();

                foreach (RandomEvent e in deserializedSaveObject.eventsList)
                {
                    RandomEvents.AddEvent(e);
                }
            },
                            () =>
            {
                Alliances.Clear();

                foreach (Alliance alliance in deserializedSaveObject.allianceList)
                {
                    Alliances.AddAlliance(alliance);
                }
            },
                            () =>
            {
                AirportFacilities.Clear();

                foreach (AirportFacility facility in deserializedSaveObject.Airportfacilitieslist)
                {
                    AirportFacilities.AddFacility(facility);
                }
            },
                            () =>
            {
                FeeTypes.Clear();

                foreach (FeeType type in deserializedSaveObject.feeTypeslist)
                {
                    FeeTypes.AddType(type);
                }
            },
                            () =>
            {
                AdvertisementTypes.Clear();

                foreach (AdvertisementType addtype in deserializedSaveObject.advertisementTypeslist)
                {
                    AdvertisementTypes.AddAdvertisementType(addtype);
                }
            },
                            () =>
            {
                AirlinerFacilities.Clear();

                foreach (AirlinerFacility airlinerfas in deserializedSaveObject.airlinerfacilitieslist)
                {
                    AirlinerFacilities.AddFacility(airlinerfas);
                }
            },
                            () =>
            {
                RouteFacilities.Clear();

                foreach (RouteFacility routefas in deserializedSaveObject.routefacilitieslist)
                {
                    RouteFacilities.AddFacility(routefas);
                }
            },
                            () =>
            {
                GameObject.SetInstance(deserializedSaveObject.instance);
                Settings.SetInstance(deserializedSaveObject.settings);
            },
                            () =>
            {
                if (deserializedSaveObject.airlinefacilitieslist != null)
                {
                    AirlineFacilities.Clear();

                    foreach (AirlineFacility airlinefac in deserializedSaveObject.airlinefacilitieslist)
                    {
                        AirlineFacilities.AddFacility(airlinefac);
                    }
                }
            }); //close parallel.invoke

            //for 0.3.9.2 and the issue with no saved facilities on a route classes
            var emptyRouteClassesFacilities = Configurations.GetConfigurations(Configuration.ConfigurationType.Routeclasses).SelectMany(c => ((RouteClassesConfiguration)c).Classes.Where(cl => cl.Facilities == null));

            foreach (RouteClassConfiguration rClassConfiguration in emptyRouteClassesFacilities)
            {
                rClassConfiguration.Facilities = new List <RouteFacility>();
            }

            Setup.SetupLoadedGame();
            //Maybe this helps? But i doubt this is the best way
            Action action = () =>
            {
                Stopwatch swPax = new Stopwatch();
                swPax.Start();

                PassengerHelpers.CreateDestinationDemand();

                //Console.WriteLine("Demand have been created in {0} ms.", swPax.ElapsedMilliseconds);
                swPax.Stop();
            };

            //create some pilots for the game
            int pilotsPool = 100 * Airlines.GetAllAirlines().Count;

            GeneralHelpers.CreatePilots(pilotsPool);
            int instructorsPool = 75 * Airlines.GetAllAirlines().Count;

            GeneralHelpers.CreateInstructors(instructorsPool);

            //creates some airliners for the game
            AirlinerHelpers.CreateStartUpAirliners();

            //Start the game paused
            GameObjectWorker.GetInstance().startPaused();

            //Task is needed this unlocks the game agian.
            Task.Factory.StartNew(action);
        }
Esempio n. 12
0
        private void LoadCalendar()
        {
            var calendar1 = new CalendarItems()
            {
                Id = 1, ItemDate = DateTime.Now.AddDays(-7),
            };
            var calendar2 = new CalendarItems()
            {
                Id = 2, ItemDate = DateTime.Now.AddDays(-3),
            };
            var calendar3 = new CalendarItems()
            {
                Id = 3, ItemDate = DateTime.Now.AddDays(-1),
            };
            var calendar4 = new CalendarItems()
            {
                Id = 4, ItemDate = DateTime.Now.AddDays(0),
            };
            var calendar5 = new CalendarItems()
            {
                Id = 5, ItemDate = DateTime.Now.AddDays(4),
            };
            var calendar6 = new CalendarItems()
            {
                Id = 6, ItemDate = DateTime.Now.AddDays(6),
            };
            var calendar7 = new CalendarItems()
            {
                Id = 7, ItemDate = DateTime.Now.AddDays(7),
            };
            var calendar8 = new CalendarItems()
            {
                Id = 8, ItemDate = DateTime.Now.AddDays(11),
            };
            var calendar9 = new CalendarItems()
            {
                Id = 9, ItemDate = DateTime.Now.AddDays(13),
            };
            var calendar10 = new CalendarItems()
            {
                Id = 10, ItemDate = DateTime.Now.AddDays(14),
            };

            calendar1.PracticeCalendarItems.Add(new PracticeCalendarItems {
                Id = 1, CalendarItemId = 1, ProgramId = 1
            });
            calendar2.PracticeCalendarItems.Add(new PracticeCalendarItems {
                Id = 2, CalendarItemId = 2, ProgramId = 2
            });
            calendar4.PracticeCalendarItems.Add(new PracticeCalendarItems {
                Id = 3, CalendarItemId = 4, ProgramId = 1
            });
            calendar5.PracticeCalendarItems.Add(new PracticeCalendarItems {
                Id = 4, CalendarItemId = 5, ProgramId = 2
            });
            calendar7.PracticeCalendarItems.Add(new PracticeCalendarItems {
                Id = 5, CalendarItemId = 7, ProgramId = 1
            });
            calendar8.PracticeCalendarItems.Add(new PracticeCalendarItems {
                Id = 6, CalendarItemId = 8, ProgramId = 2
            });
            calendar10.PracticeCalendarItems.Add(new PracticeCalendarItems {
                Id = 7, CalendarItemId = 10, ProgramId = 1
            });

            _context.CalendarItems.Add(calendar1);
            _context.CalendarItems.Add(calendar2);
            _context.CalendarItems.Add(calendar3);
            _context.CalendarItems.Add(calendar4);
            _context.CalendarItems.Add(calendar5);
            _context.CalendarItems.Add(calendar6);
            _context.CalendarItems.Add(calendar7);
            _context.CalendarItems.Add(calendar8);
            _context.CalendarItems.Add(calendar9);
            _context.CalendarItems.Add(calendar10);

            _context.SaveChanges();
        }