public void TestChangeTransOutcomeStatus() { var record = new TransmissionOutcome { Instance = DbBaseClass.FNSBA, TransmissionOutcomeId = TestOutcomeId }; Assert.IsTrue(record.Execute(), record.LastError); var outcome = new ChangeTransOutcomeStatus(DbBaseClass.FNSBA) { TransmissionId = record.TransmissionOutcomeId, OldStatus = record.Status, NewStatus = SpecialStatus }; Assert.IsFalse(outcome.OldStatus == outcome.NewStatus, "Reset source Status to test!"); Assert.IsTrue(outcome.Execute(), outcome.LastError); var result = new TransmissionOutcome { Instance = DbBaseClass.FNSBA, TransmissionOutcomeId = TestOutcomeId }; Assert.IsTrue(result.Execute(), result.LastError); Assert.IsTrue(SpecialStatus == result.Status, "Results were not set correctly!"); }
/// <summary> /// Updates the outcome status using lock. /// </summary> /// <param name="current">The current.</param> /// <param name="newStatus">The new status.</param> /// <param name="instance">The instance.</param> /// <returns></returns> static public bool UpdateOutcomeStatusUsingLock(ITransmissionOutcome current, string newStatus, string instance) { bool results = false; try { ChangeTransOutcomeStatus outcome = new ChangeTransOutcomeStatus(instance); outcome.TransmissionId = current.OutcomeId; outcome.OldStatus = current.Status; outcome.NewStatus = newStatus; if (outcome.OldStatus != outcome.NewStatus) { outcome.Execute(); results = outcome.Result.Equals("1"); } } catch (Exception ex) { GeneralUtility.LogError(ex.Message, "UpdateOutcomeStatusUsingLock"); results = false; } return(results); }