예제 #1
0
        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();
            }
        }
예제 #2
0
        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);
                    }
                }
            }
        }
예제 #3
0
        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);
                }
            }
        }