Example #1
0
        private List <string> ExportFilesTo(IEnumerable <IFileData> files, string directory)
        {
            var sourcePorts = Util.GetSourcePortsData(DataSourceAdapter);
            HashSet <string> exportedNames = new HashSet <string>();
            int collision = 2;

            foreach (IFileData file in files)
            {
                if (!File.Exists(Path.Combine(DataDirectory.GetFullPath(), file.FileName)))
                {
                    continue;
                }

                string fileName = GetNiceFileName(file, sourcePorts);
                while (exportedNames.Contains(fileName))
                {
                    fileName = $"{Path.GetFileNameWithoutExtension(fileName)}_{collision}{Path.GetExtension(fileName)}";
                    collision++;
                }

                exportedNames.Add(fileName);
                CopyFile(file, Path.Combine(directory, fileName));
            }

            return(exportedNames.ToList());
        }
        private List <StatsBind> GetStatsBind(IEnumerable <IStatsData> stats)
        {
            List <ISourcePort> sourcePorts = Util.GetSourcePortsData(DataSourceAdapter);

            IEnumerable <StatsBind> statsBind = from stat in stats
                                                join sp in sourcePorts on stat.SourcePortID equals sp.SourcePortID
                                                select new StatsBind(stat.MapName, stat.FormattedKills, stat.FormattedSecrets,
                                                                     stat.FormattedItems, TimeSpan.FromSeconds(stat.LevelTime), stat.RecordTime, sp.Name, stat);

            return(statsBind.ToList());
        }
Example #3
0
        protected void SetData(DataGridView dgvMain, IGameFile gameFile)
        {
            if (GameFile != null && GameFile.GameFileID.HasValue)
            {
                IEnumerable <IFileData> files       = DataSourceAdapter.GetFiles(gameFile, FileType);
                List <ISourcePortData>  sourcePorts = Util.GetSourcePortsData(DataSourceAdapter);

                var items = from file in files
                            join sp in sourcePorts on file.SourcePortID equals sp.SourcePortID
                            select new { Description = file.Description, DateCreated = file.DateCreated, SourcePortName = sp.Name, FileData = file };

                dgvMain.DataSource       = items.ToList();
                dgvMain.ContextMenuStrip = m_menu;

                m_files = files.ToArray();
            }
            else
            {
                dgvMain.DataSource = null;
                m_files            = new IFileData[] { };
            }
        }
Example #4
0
        public bool Export()
        {
            List <IFileData> selectedFiles = GetSelectedFiles();

            if (selectedFiles.Count == 0)
            {
                return(false);
            }

            var            sourcePorts = Util.GetSourcePortsData(DataSourceAdapter);
            SaveFileDialog dialog      = new SaveFileDialog();

            dialog.FileName = GetNiceFileName(selectedFiles[0], sourcePorts);

            if (dialog.ShowDialog(this) == DialogResult.OK)
            {
                CopyFile(selectedFiles[0], dialog.FileName);
                return(true);
            }

            return(false);
        }