/// <summary> /// Initializes a new instance of the <see cref="TransmissionOutcome"/> class. /// </summary> /// <param name="rec">The rec.</param> public TransmissionOutcome(ITransmissionOutcome rec) : this() { TransmissionOutcomeId = rec.OutcomeId; CallId = rec.CallId; Status = rec.Status; RoutingPlanId = rec.RoutingPlanId; SpecificDestinationId = rec.SpecificDestinationId; LastErrorText = rec.LastErrorText; LastDestinationString = rec.LastDestinationString; }
/// <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); }