private void LoadRogueProject(RogueProject rogueProject, bool isNewProject) { this.Analysis = new MultiAlignAnalysis { DataProviders = this.SetupDataProviders(rogueProject.AnalysisPath, isNewProject), Options = rogueProject.MultiAlignAnalysisOptions }; this.DataSelectionViewModel.Analysis = this.Analysis; this.Analysis.MetaData.Datasets.AddRange(rogueProject.Datasets); this.featureCache.Providers = this.Analysis.DataProviders; this.m_config.AnalysisPath = rogueProject.AnalysisPath; this.UpdateDatasets(); this.FeatureFindingSettingsViewModel = new FeatureFindingSettingsViewModel(this.Analysis, this.featureCache); this.AlignmentSettingsViewModel = new AlignmentSettingsViewModel(this.Analysis, this.featureCache); this.RaisePropertyChanged("Analysis"); }
private void Serialize(string filePath) { var rogueProjectSerializer = new DataContractSerializer(typeof (RogueProject)); var datasetInfoList = this.Datasets.Select(datasetInformation => datasetInformation.Dataset).ToList(); var rogueProject = new RogueProject { MultiAlignAnalysisOptions = this.Analysis.Options, Datasets = datasetInfoList, AnalysisPath = this.m_config.AnalysisPath }; using (var writer = File.Open(filePath, FileMode.Create)) { rogueProjectSerializer.WriteObject(writer, rogueProject); } }
private RogueProject Deserialize(string filePath) { var rogueProjectSerializer = new DataContractSerializer(typeof(RogueProject)); var rogueProject = new RogueProject(); using (var reader = File.Open(filePath, FileMode.Open)) { try { rogueProject = (RogueProject) rogueProjectSerializer.ReadObject(reader); this.Analysis.Options = rogueProject.MultiAlignAnalysisOptions; } catch (InvalidCastException) { MessageBox.Show("Could not deserialize analysis options."); } } return rogueProject; }