public ViewModel()
        {
            DataRepository = new DataRepository();

            _engine = new SynteticDataGenerator(
                new RealDataImporter(),
                new FtfTensorCurveImporter(),
                new ObservatoryDataExporter());

            LoadDataCommand      = new DelegateCommand(Load);
            LoadImpedanceCommand = new DelegateCommand(LoadImpedance);
            LoadGicCommand       = new DelegateCommand(LoadGic);
            SaveDataCommand      = new DelegateCommand(SaveData, CanSaveData);
            SaveSpectraCommand   = new DelegateCommand(SaveSpectraData, CanSaveSpectraData);
            ExportCommand        = new DelegateCommand(ExportImage);

            Status        = new CalculationInfoModel(Validation, Calculate);
            SpectraStatus = new CalculationInfoModel(ValidationSpectra, CalculateSpectra);

            Status.RaiseValidation();
            SpectraStatus.RaiseValidation();
            SaveDataCommand.RaiseCanExecuteChanged();
            SaveSpectraCommand.RaiseCanExecuteChanged();

            DataRepository.SelectedSites.CollectionChanged += SelectedSites_CollectionChanged;
            DataRepository.All.CollectionChanged           += All_CollectionChanged;
        }
Exemple #2
0
        static void Main(string[] args)
        {
            System.Console.WriteLine();
            System.Console.WriteLine(@"-- Расчёт электрического поля - 1.2 - 01.04.2018 --");
            System.Console.WriteLine(@"--    Епишкин Дмитрий - [email protected]  --");
            System.Console.WriteLine();

            if (!ReadSettings())
            {
                System.Console.WriteLine(@"Программа завершена");
                System.Console.ReadKey();
                return;
            }

            System.Console.WriteLine();
            System.Console.WriteLine("Проверка входных параметров..");

            if (!CheckSettings())
            {
                System.Console.WriteLine(@"Файл input.inf содержит недопустимые параметры");
                System.Console.WriteLine(@"Программа завершена");
                System.Console.ReadKey();
                return;
            }

            System.Console.WriteLine("Всё в порядке!");

            System.Console.WriteLine();

            System.Console.WriteLine("Длина окна для преобразования поля: " + _windowGenerating);
            System.Console.WriteLine("Шаг окна преобразования поля: " + _step);
            System.Console.WriteLine("Длина окна для расчёта амплитуд и спектральных мощностей: " + _windowPowerSpectra);

            System.Console.WriteLine();

            var data = new SynteticDataGenerator(
                new RealDataImporter(),
                new FtfTensorCurveImporter(),
                new ObservatoryDataExporter())

                       .Generate(_tsFile, _zFile, _outTsFile, _windowGenerating, _step, _acFilter);

            System.Console.WriteLine();

            System.Console.WriteLine("Расчёт средней амплитуды и спектральной мощности Hx");
            var hx = PowerSpectraCalculation.Run(data.Hx, _windowPowerSpectra);

            System.Console.WriteLine("Расчёт средней амплитуды и спектральной мощности Hy");
            var hy = PowerSpectraCalculation.Run(data.Hy, _windowPowerSpectra);

            System.Console.WriteLine("Расчёт средней амплитуды и спектральной мощности Ex");
            var ex = PowerSpectraCalculation.Run(data.Ex, _windowPowerSpectra);

            System.Console.WriteLine("Расчёт средней амплитуды и спектральной мощности Ey");
            var ey = PowerSpectraCalculation.Run(data.Ey, _windowPowerSpectra);

            System.Console.WriteLine("Сохранение амплитуд и спектральных мощностей в файл");
            PowerSpectraExporter.Export(_outPowerSpectraFile, ex, ey, hx, hy);

            System.Console.WriteLine();

            System.Console.WriteLine("-- Готово --");
            System.Console.ReadKey();
        }