void OpenAnalyseProject(AnalyseProjectSummaryViewModel p) { var cw = ProjectWindowList.FirstOrDefault(v => (v.DataContext as ProjectViewModelBase).TargetSummaryVM == p); if (cw != null) { cw.Activate(); return; } var w = new AnalyseProjectWindow(); var dc = new AnalyseProjectViewModel(p.TargetProject) { TargetSummaryVM = p, OpenView = w.OpenDocument }; w.DataContext = dc; w.helper.projectViewModel = dc; w.Closed += W_Closed; ProjectWindowList.Add(w); w.Show(); if (p.TargetProject.Status == ProjectStatus.Running) { dc.StartObserveViewModel(); } }
public void LoadFromFile() { var dlg = new OpenFileDialog() { Filter = "back testing project|*." + BacktestingResource.BacktestingProjectFileExt + "|analyse project|*." + BacktestingResource.AnalyseProjectFileExt + "| (*.*)|*.*" }; if (dlg.ShowDialog() == true) { if (!dlg.FileName.EndsWith(BacktestingResource.AnalyseProjectFileExt)) { try { var bp = CommonLib.CommonProc.LoadObjFromFile <BacktestingProject>(dlg.FileName); if (bp != null) { bp.RecoverySerialObject(); var svm = new BacktestingProjectSummaryViewModel() { TargetProject = bp, Open = Open, Delete = Delete, Start = Start, Pause = Pause, Stop = Stop }; ProjectList.Add(svm); OpenBacktestingProject(svm); } return; } catch (Exception ex) { LogSupport.Error(ex); } } if (!dlg.FileName.EndsWith(BacktestingResource.BacktestingProjectFileExt)) { try { var ap = CommonLib.CommonProc.LoadObjFromFile <AnalyseProject>(dlg.FileName); if (ap != null) { ap.RecoverySerialObject(); var svm = new AnalyseProjectSummaryViewModel() { TargetProject = ap, Open = Open, Delete = Delete, Start = Start, Pause = Pause, Stop = Stop }; ProjectList.Add(svm); OpenAnalyseProject(svm); } return; } catch (Exception ex) { LogSupport.Error(ex); } } } }
void LoadWorkspace() { var dlg = new OpenFileDialog() { Filter = "work space|*.workspace|(*.*)|*.*" }; if (dlg.ShowDialog() == true) { var sp = CommonLib.CommonProc.LoadObjFromFile <Workspace>(dlg.FileName); if (sp != null) { var count = sp.AnalyseList.Count + sp.BacktestingList.Count; var array = new ProjectSummaryViewModelBase[count]; foreach (var kv in sp.AnalyseList) { kv.Value.RecoverySerialObject(); var svm = new AnalyseProjectSummaryViewModel() { TargetProject = kv.Value, Open = Open, Delete = Delete, Start = Start, Pause = Pause, Stop = Stop }; array[kv.Key] = svm; } foreach (var kv in sp.BacktestingList) { kv.Value.RecoverySerialObject(); var svm = new BacktestingProjectSummaryViewModel() { TargetProject = kv.Value, Open = Open, Delete = Delete, Start = Start, Pause = Pause, Stop = Stop }; array[kv.Key] = svm; } ProjectList.Clear(); foreach (var p in array) { ProjectList.Add(p); } } else { MessageBox.Show("Load workspace faild from " + dlg.FileName); } } }