Exemplo n.º 1
0
        private void ImportCarGeneratorsCSV(string path)
        {
            // Read car generators from CSV
            CarGenerator[] imported;
            try {
                imported = CarGeneratorCsvHelper.Read(path);
            }
            catch (IOException ex) {
                ShowErrorDialog(ex.Message);
                StatusText = Strings.StatusMessageImportUnsuccessful;
                return;
            }
            catch (InvalidDataException ex) {
                ShowErrorDialog(ex.Message);
                StatusText = Strings.StatusMessageImportUnsuccessful;
                return;
            }

            // Ensure number of car generators equals the game's expected amount
            int underBy = CarGeneratorsData.NumberOfCarGenerators - imported.Length;

            Array.Resize(ref imported, CarGeneratorsData.NumberOfCarGenerators);
            if (underBy > 0)
            {
                // Fill padded values with default car generator
                for (int i = 0; i < underBy; i++)
                {
                    imported[imported.Length - i - 1] = new CarGenerator();
                }
            }
            else if (underBy < 0)
            {
                ShowImportCountExceededDialog(Math.Abs(underBy));
            }

            // Replace car generators
            CurrentSaveData.CarGenerators.CarGeneratorsArray = imported;
            ShowImportSuccessDialog();

            // Refresh table
            ClearCarGeneratorsList();
            PopulateCarGeneratorsList();
            OnResetRowOrderRequested();

            // Update metadata
            UpdateNumberOfCarGenerators();

            // Update status
            StatusText     = string.Format(Strings.StatusMessageImportSuccessful, path);
            IsFileModified = true;
        }
Exemplo n.º 2
0
        private void ExportCarGeneratorsCSV(string path)
        {
            CarGenerator[] data = CurrentSaveData.CarGenerators.CarGeneratorsArray;

            try {
                CarGeneratorCsvHelper.Write(data, path);
            }
            catch (IOException ex) {
                ShowErrorDialog(ex.Message);
                StatusText = Strings.StatusMessageExportUnsuccessful;
                return;
            }
            catch (InvalidDataException ex) {
                ShowErrorDialog(ex.Message);
                StatusText = Strings.StatusMessageExportUnsuccessful;
                return;
            }

            ShowExportSuccessDialog();
            StatusText = string.Format(Strings.StatusMessageExportSuccessful, path);
        }