Beispiel #1
0
 public SessionInfo(PersonOnJob oPersonOnJob)
 {
     try
     {
         this.oCurrentPerson = oPersonOnJob.StandardPerson;
         this.oCurrentJob    = oPersonOnJob.OperationJob;
         this.oCurrentOrg    = oPersonOnJob.OperationJob.OperationOrg;
     }
     catch
     {
     }
 }
Beispiel #2
0
    public SessionInfo(string sUserCode, string sPassWord, string sJobID)
    {
        ObjectQuery oQuery = new ObjectQuery();

        oQuery.AddCriterion(Expression.Eq("StandardPerson.Code", sUserCode));
        oQuery.AddCriterion(Expression.Eq("StandardPerson.Password", sPassWord));
        oQuery.AddCriterion(Expression.Eq("OperationJob.Id", sJobID));
        //oQuery.AddFetchMode("OperationJob", FetchMode.Eager);
        //oQuery.AddFetchMode("OperationJob.OperationOrg", FetchMode.Eager);
        //oQuery.AddFetchMode("StandardPerson", FetchMode.Eager);
        IList lstPersonOnJob = ResourceSvr.PersonOnJobManager.GetOnJobPersonList(oQuery);

        if (lstPersonOnJob != null && lstPersonOnJob.Count > 0)
        {
            PersonOnJob oPersonOnJob = lstPersonOnJob[0] as PersonOnJob;

            this.oCurrentPerson = oPersonOnJob.StandardPerson;
            this.oCurrentJob    = oPersonOnJob.OperationJob;
            this.oCurrentOrg    = oPersonOnJob.OperationJob.OperationOrg;
        }
        else
        {
        }
    }
Beispiel #3
0
 public SessionInfo(StandardPerson oCurrentPerson, OperationJob oCurrentJob, OperationOrg oCurrentOrg)
 {
     this.oCurrentPerson = oCurrentPerson;
     this.oCurrentJob    = oCurrentJob;
     this.oCurrentOrg    = oCurrentOrg;
 }
        public IDEAQueryExecuter()
        {
            var stream = Observable.FromEventPattern <ExecuteOperationModelEventArgs>(this, "ExecuteQueryEvent");

            stream.GroupByUntil(k => k.EventArgs.OperationModel, g => Observable.Timer(TimeSpan.FromMilliseconds(50)))
            .SelectMany(y => y.FirstAsync())
            .Subscribe(async arg =>
            {
                var dispatcher = CoreApplication.MainView.CoreWindow.Dispatcher;
                await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    var operationModel = arg.EventArgs.OperationModel;
                    operationModel.ResultCauserClone = operationModel.Clone();
                    operationModel.Result            = null;

                    if (ActiveJobs.ContainsKey(operationModel) && arg.EventArgs.StopPreviousExecution)
                    {
                        foreach (var executionId in ActiveJobs[operationModel].Keys)
                        {
                            ActiveJobs[operationModel][executionId].Stop();
                            ActiveJobs[operationModel][executionId].JobUpdate    -= job_JobUpdate;
                            ActiveJobs[operationModel][executionId].JobCompleted -= job_JobCompleted;
                        }

                        ActiveJobs.Remove(operationModel);
                    }
                    // determine if new job is even needed (i.e., are all relevant inputfieldmodels set)
                    OperationJob newJob = null;
                    if (operationModel is HistogramOperationModel)
                    {
                        var histogramOperationModel = (HistogramOperationModel)operationModel;
                        if (((histogramOperationModel.VisualizationType == VisualizationType.table) && (histogramOperationModel.AttributeTransformationModels.Count > 0)) ||
                            ((histogramOperationModel.VisualizationType != VisualizationType.table) && histogramOperationModel.GetAttributeUsageTransformationModel(AttributeUsage.X).Any() &&
                             histogramOperationModel.GetAttributeUsageTransformationModel(AttributeUsage.Y).Any()))
                        {
                            newJob = new HistogramOperationJob(
                                histogramOperationModel,
                                TimeSpan.FromMilliseconds(MainViewController.Instance.MainModel.ThrottleInMillis), (int)MainViewController.Instance.MainModel.SampleSize);
                        }
                    }
                    else if (operationModel is StatisticalComparisonOperationModel)
                    {
                        var statisticalComparisonOperationModel = (StatisticalComparisonOperationModel)operationModel;
                        newJob = new StatisticalComparisonOperationJob(
                            statisticalComparisonOperationModel,
                            TimeSpan.FromMilliseconds(MainViewController.Instance.MainModel.ThrottleInMillis), (int)MainViewController.Instance.MainModel.SampleSize);
                    }
                    else if (operationModel is ExampleOperationModel)
                    {
                        var exampleOperationModel = (ExampleOperationModel)operationModel;
                        newJob = new ExampleOperationJob(
                            exampleOperationModel,
                            TimeSpan.FromMilliseconds(MainViewController.Instance.MainModel.ThrottleInMillis), (int)MainViewController.Instance.MainModel.SampleSize);
                    }

                    else if (operationModel is RiskOperationModel)
                    {
                        var riskOperationModel = (RiskOperationModel)operationModel;
                        newJob = new RiskOperationJob(
                            riskOperationModel,
                            TimeSpan.FromMilliseconds(MainViewController.Instance.MainModel.ThrottleInMillis));
                    }
                    else if (operationModel is StatisticalComparisonDecisionOperationModel)
                    {
                        var riskOperationModel = (StatisticalComparisonDecisionOperationModel)operationModel;
                        newJob = new StatisticalComparisonDecisionOperationJob(
                            riskOperationModel,
                            TimeSpan.FromMilliseconds(MainViewController.Instance.MainModel.ThrottleInMillis));
                    }


                    if (newJob != null)
                    {
                        if (!ActiveJobs.ContainsKey(operationModel))
                        {
                            ActiveJobs.Add(operationModel, new Dictionary <int, OperationJob>());
                        }
                        ActiveJobs[operationModel][operationModel.ExecutionId] = newJob;
                        newJob.JobUpdate    += job_JobUpdate;
                        newJob.JobCompleted += job_JobCompleted;
                        newJob.Start();
                    }
                });
            });
        }