예제 #1
0
        private OrderSelectCriteria GetSelectCriteria()
        {
            var criteria = new OrderSelectCriteria();

            // only query for device in this partition
            criteria.ServerPartitionKey.EqualTo(Partition.Key);

            QueryHelper.SetGuiStringCondition(criteria.PatientId, PatientId);
			QueryHelper.SetGuiStringCondition(criteria.PatientsName, PatientName);

            QueryHelper.SetGuiStringCondition(criteria.AccessionNumber, AccessionNumber);

            if (!String.IsNullOrEmpty(ToStudyDate) && !String.IsNullOrEmpty(FromStudyDate))
            {
                var toKey = DateTime.ParseExact(ToStudyDate, DateFormats, null);
                var fromKey = DateTime.ParseExact(FromStudyDate, DateFormats, null);
				criteria.ScheduledDateTime.Between(fromKey, toKey.AddHours(24));
            }
            else if (!String.IsNullOrEmpty(ToStudyDate))
            {
                var toKey = DateTime.ParseExact(ToStudyDate, DateFormats, null);
				criteria.InsertTime.LessThanOrEqualTo(toKey.AddHours(24));
            }
            else if (!String.IsNullOrEmpty(FromStudyDate))
            {
                var fromKey = DateTime.ParseExact(FromStudyDate, DateFormats, null);
                criteria.ScheduledDateTime.MoreThanOrEqualTo(fromKey);
            }

	        if (!string.IsNullOrEmpty(ReferringPhysiciansName))
	        {
		        var staffCriteria = new StaffSelectCriteria();
		        QueryHelper.SetGuiStringCondition(staffCriteria.Name, ReferringPhysiciansName);
		        criteria.ReferringStaffRelatedEntityCondition.Exists(staffCriteria);
	        }

	        if (Statuses != null && Statuses.Length > 0)
            {
                if (Statuses.Length == 1)
                    criteria.OrderStatusEnum.EqualTo(OrderStatusEnum.GetEnum(Statuses[0]));
                else
                {
                    var statusList = Statuses.Select(OrderStatusEnum.GetEnum).ToList();
                    criteria.OrderStatusEnum.In(statusList);
                }
            }

            criteria.ScheduledDateTime.SortDesc(0);

	        if (QCExpected.HasValue)
		        criteria.QCExpected.EqualTo(QCExpected.Value);

            return criteria;
        }
 public StaffSelectCriteria(StaffSelectCriteria other)
 : base(other)
 {}
예제 #3
0
 public StaffSelectCriteria(StaffSelectCriteria other)
     : base(other)
 {
 }