Пример #1
0
        private void LoadHistory()
        {
            StudyHistoryeAdaptor       adaptor  = new StudyHistoryeAdaptor();
            StudyHistorySelectCriteria criteria = new StudyHistorySelectCriteria();

            criteria.DestStudyStorageKey.EqualTo(TheStudySummary.TheStudyStorage.GetKey());
            criteria.InsertTime.SortDesc(0);
            _historyList = CollectionUtils.Select(adaptor.Get(criteria),
                                                  delegate(StudyHistory history)
            {
                // only include reconciliation records that result in updating the current study
                if (history.StudyHistoryTypeEnum == StudyHistoryTypeEnum.StudyReconciled)
                {
                    ReconcileHistoryRecord desc = StudyHistoryRecordDecoder.ReadReconcileRecord(history);
                    switch (desc.UpdateDescription.Action)
                    {
                    case StudyReconcileAction.CreateNewStudy:
                    case StudyReconcileAction.Merge:
                    case StudyReconcileAction.ProcessAsIs:
                        return(true);
                    }
                    return(false);
                }
                return(true);
            });
        }
Пример #2
0
        /// <summary>
        /// Finds a list of <see cref="StudyHistory"/> records of the specified <see cref="StudyHistoryTypeEnum"/>
        /// for the specified <see cref="StudyStorage"/>.
        /// </summary>
        /// <param name="studyStorage"></param>
        /// <returns></returns>
        /// <param name="types"></param>
        static public IList <StudyHistory> FindStudyHistories(StudyStorage studyStorage, IEnumerable <StudyHistoryTypeEnum> types)
        {
            // Use of ExecutionContext to re-use db connection if possible
            using (ServerExecutionContext scope = new ServerExecutionContext())
            {
                IStudyHistoryEntityBroker  broker   = scope.PersistenceContext.GetBroker <IStudyHistoryEntityBroker>();
                StudyHistorySelectCriteria criteria = new StudyHistorySelectCriteria();
                criteria.StudyStorageKey.EqualTo(studyStorage.Key);
                criteria.StudyHistoryTypeEnum.EqualTo(StudyHistoryTypeEnum.StudyReconciled);

                if (types != null)
                {
                    criteria.StudyHistoryTypeEnum.In(types);
                }

                criteria.InsertTime.SortAsc(0);
                IList <StudyHistory> historyList = broker.Find(criteria);
                return(historyList);
            }
        }