コード例 #1
0
ファイル: ExportScan.cs プロジェクト: caiodias/EDDiscovery
        override public bool GetData(EDDiscoveryForm _discoveryForm)
        {
            if (EDSMList == false)
            {
                var filter = _discoveryForm.TravelControl.GetPrimaryFilter;

                List <HistoryEntry> result = filter.Filter(_discoveryForm.history);

                scans = new List <JournalScan>();

                var entries = JournalEntry.GetByEventType(JournalTypeEnum.Scan, EDCommander.CurrentCmdrID, _discoveryForm.history.GetMinDate, _discoveryForm.history.GetMaxDate);
                scans = entries.ConvertAll <JournalScan>(x => (JournalScan)x);
            }
            else
            {
                string explorepath = Path.Combine(Tools.GetAppDataDirectory(), "Exploration");
                if (!Directory.Exists(explorepath))
                {
                    Directory.CreateDirectory(explorepath);
                }


                OpenFileDialog dlg = new OpenFileDialog();
                dlg.InitialDirectory = explorepath;
                dlg.DefaultExt       = "json";
                dlg.AddExtension     = true;
                dlg.Filter           = "Explore file| *.json";

                scans = new List <JournalScan>();

                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    ExplorationSetClass _currentExplorationSet = new ExplorationSetClass();
                    _currentExplorationSet.Clear();
                    _currentExplorationSet.Load(dlg.FileName);

                    foreach (string system in _currentExplorationSet.Systems)
                    {
                        List <long> edsmidlist = SystemClass.GetEdsmIdsFromName(system);

                        if (edsmidlist.Count > 0)
                        {
                            for (int ii = 0; ii < edsmidlist.Count; ii++)
                            {
                                List <JournalScan> sysscans = EDSMClass.GetBodiesList((int)edsmidlist[ii]);
                                if (sysscans != null)
                                {
                                    scans.AddRange(sysscans);
                                }
                            }
                        }
                    }
                }
            }
            return(true);
        }