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); }
/// <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); } } }
/// <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); } } }
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); }