Пример #1
0
        public void Test_CheckOut()
        {
            DateTime?now       = DateTime.Now;
            var      procedure = new Procedure {
                ProcedureCheckIn = new ProcedureCheckIn()
            };
            var regStep = new RegistrationProcedureStep(procedure);
            var staff   = TestStaffFactory.CreateStaff();

            procedure.CheckIn(staff, now);

            Assert.IsFalse(procedure.IsPreCheckIn);
            Assert.IsTrue(procedure.IsCheckedIn);
            Assert.IsFalse(procedure.IsCheckedOut);
            Assert.AreEqual(ActivityStatus.IP, regStep.State);
            Assert.IsNull(regStep.EndTime);

            procedure.CheckOut(now);

            Assert.IsFalse(procedure.IsPreCheckIn);
            Assert.IsFalse(procedure.IsCheckedIn);
            Assert.IsTrue(procedure.IsCheckedOut);
            Assert.AreEqual(now, procedure.ProcedureCheckIn.CheckOutTime);

            Assert.AreEqual(ActivityStatus.CM, regStep.State);
            Assert.AreEqual(staff, regStep.PerformingStaff);
            Assert.AreEqual(now, regStep.EndTime);
        }
Пример #2
0
 /// <summary>
 /// Helper method implements some fuzzy logic to try and determine whether the procedure
 /// should be checked-out, and check it out if necessary.
 /// </summary>
 /// <param name="rp"></param>
 /// <param name="timestamp"></param>
 protected void TryAutoCheckOut(Procedure rp, DateTime?timestamp)
 {
     if (rp.IsCheckedIn)
     {
         var allMpsTerminated = rp.ModalityProcedureSteps.TrueForAll(mps => mps.IsTerminated);
         if (allMpsTerminated)
         {
             // auto check-out
             rp.CheckOut(timestamp);
         }
     }
 }
Пример #3
0
		/// <summary>
		/// Helper method implements some fuzzy logic to try and determine whether the procedure
		/// should be checked-out, and check it out if necessary.
		/// </summary>
		/// <param name="rp"></param>
		/// <param name="timestamp"></param>
		protected void TryAutoCheckOut(Procedure rp, DateTime? timestamp)
		{
			if (rp.IsCheckedIn)
			{
				var allMpsTerminated = rp.ModalityProcedureSteps.TrueForAll(mps => mps.IsTerminated);
				if (allMpsTerminated)
				{
					// auto check-out
					rp.CheckOut(timestamp);
				}
			}
		}
Пример #4
0
		public void Test_CheckOut()
		{
			DateTime? now = DateTime.Now;
			var procedure = new Procedure { ProcedureCheckIn = new ProcedureCheckIn() };
			var regStep = new RegistrationProcedureStep(procedure);
			var staff = TestStaffFactory.CreateStaff();
			procedure.CheckIn(staff, now);

			Assert.IsFalse(procedure.IsPreCheckIn);
			Assert.IsTrue(procedure.IsCheckedIn);
			Assert.IsFalse(procedure.IsCheckedOut);
			Assert.AreEqual(ActivityStatus.IP, regStep.State);
			Assert.IsNull(regStep.EndTime);

			procedure.CheckOut(now);

			Assert.IsFalse(procedure.IsPreCheckIn);
			Assert.IsFalse(procedure.IsCheckedIn);
			Assert.IsTrue(procedure.IsCheckedOut);
			Assert.AreEqual(now, procedure.ProcedureCheckIn.CheckOutTime);

			Assert.AreEqual(ActivityStatus.CM, regStep.State);
			Assert.AreEqual(staff, regStep.PerformingStaff);
			Assert.AreEqual(now, regStep.EndTime);
		}