예제 #1
0
        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!");
        }
예제 #2
0
        /// <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);
        }