public void Execute(ProtocolAssignmentStep assignmentStep, Staff acceptedBy) { if (assignmentStep.State == ActivityStatus.IP) { assignmentStep.Complete(); } else { assignmentStep.Complete(acceptedBy); } assignmentStep.Protocol.Accept(); }
public void Test_CanApprove() { Procedure procedure = new Procedure(); Protocol protocol = new Protocol(procedure); ProtocolAssignmentStep procedureStep = new ProtocolAssignmentStep(protocol); Assert.AreEqual(ProtocolStatus.PN, procedureStep.Protocol.Status); Assert.IsFalse(procedureStep.CanApprove); protocol.SubmitForApproval(); Assert.AreEqual(ActivityStatus.SC, procedureStep.State); Assert.AreEqual(ProtocolStatus.AA, procedureStep.Protocol.Status); Assert.IsTrue(procedureStep.CanApprove); procedureStep.Start(new Staff()); Assert.AreEqual(ActivityStatus.IP, procedureStep.State); Assert.AreEqual(ProtocolStatus.AA, procedureStep.Protocol.Status); Assert.IsTrue(procedureStep.CanApprove); procedureStep.Suspend(); Assert.AreEqual(ActivityStatus.SU, procedureStep.State); Assert.AreEqual(ProtocolStatus.AA, procedureStep.Protocol.Status); Assert.IsFalse(procedureStep.CanApprove); procedureStep.Complete(); Assert.AreEqual(ActivityStatus.CM, procedureStep.State); Assert.AreEqual(ProtocolStatus.AA, procedureStep.Protocol.Status); Assert.IsFalse(procedureStep.CanApprove); // TODO : test all other Protocol state conditions }
public void Test_CanAcceptRejctSuspendSave() { ProtocolAssignmentStep procedureStep = new ProtocolAssignmentStep(new Protocol()); Assert.AreEqual(ActivityStatus.SC, procedureStep.State); procedureStep.Start(new Staff()); Assert.AreEqual(ActivityStatus.IP, procedureStep.State); Assert.IsTrue(procedureStep.CanAccept); Assert.IsTrue(procedureStep.CanReject); Assert.IsTrue(procedureStep.CanSuspend); Assert.IsTrue(procedureStep.CanSave); procedureStep.Suspend(); Assert.AreEqual(ActivityStatus.SU, procedureStep.State); Assert.IsFalse(procedureStep.CanAccept); Assert.IsFalse(procedureStep.CanReject); Assert.IsFalse(procedureStep.CanSuspend); Assert.IsFalse(procedureStep.CanSave); procedureStep.Complete(); Assert.AreEqual(ActivityStatus.CM, procedureStep.State); Assert.IsFalse(procedureStep.CanAccept); Assert.IsFalse(procedureStep.CanReject); Assert.IsFalse(procedureStep.CanSuspend); Assert.IsFalse(procedureStep.CanSave); }
public void Execute(ProtocolAssignmentStep assignmentStep) { assignmentStep.Complete(); assignmentStep.Protocol.SubmitForApproval(); // Replace with new step scheduled step ProtocolAssignmentStep approvalStep = new ProtocolAssignmentStep(assignmentStep.Protocol); assignmentStep.Procedure.AddProcedureStep(approvalStep); approvalStep.Schedule(Platform.Time); approvalStep.Assign(assignmentStep.Protocol.Supervisor); }