Example #1
0
 /// <summary>
 /// Sets the status of this data item if/when allowed.
 /// </summary>
 /// <param name="newStatus">The new status.</param>
 protected void SetStatus(FieldItemResolutionStatus newStatus)
 {
     if (this.Status.CanBeAdvancedTo(newStatus))
     {
         this.Status = newStatus;
     }
 }
Example #2
0
        /// <summary>
        /// Determines if the given resolution status is one such taht the field results should
        /// be included in the final context output where the resolution occure.
        /// </summary>
        /// <param name="resolutionStatus">The resolution status.</param>
        /// <returns><c>true</c> if this status represents one to have its results included, <c>false</c> otherwise.</returns>
        public static bool IncludeInOutput(this FieldItemResolutionStatus resolutionStatus)
        {
            switch (resolutionStatus)
            {
            case FieldItemResolutionStatus.Complete:
            case FieldItemResolutionStatus.Failed:
            case FieldItemResolutionStatus.Invalid:
                return(true);

            default:
                return(false);
            }
        }
Example #3
0
        /// <summary>
        /// Determines whether a given resolution status is in a state that requires no additional processing.
        /// </summary>
        /// <param name="resolutionstatus">The resolutionstatus.</param>
        /// <returns><c>true</c> if the specified resolution status is finalized; otherwise, <c>false</c>.</returns>
        public static bool IsFinalized(this FieldItemResolutionStatus resolutionstatus)
        {
            switch (resolutionstatus)
            {
            case FieldItemResolutionStatus.Canceled:
            case FieldItemResolutionStatus.Failed:
            case FieldItemResolutionStatus.Invalid:
                return(true);

            default:
                return(false);
            }
        }
Example #4
0
 /// <summary>
 /// Determines whether a given resolution status indicates an unexpected error occured.
 /// </summary>
 /// <param name="resolutionStatus">The resolution status.</param>
 /// <returns><c>true</c> if the status indicates some type of error occured; otherwise, <c>false</c>.</returns>
 public static bool IndicatesAnError(this FieldItemResolutionStatus resolutionStatus)
 {
     return(resolutionStatus == FieldItemResolutionStatus.Invalid || resolutionStatus == FieldItemResolutionStatus.Failed);
 }
Example #5
0
 /// <summary>
 /// Determines if the given resolution status is one such that, given the process chain, can be moved forward
 /// into the newly provided status.
 /// </summary>
 /// <param name="resolutionStatus">The current status.</param>
 /// <param name="newStatus">The new status.</param>
 /// <returns><c>true</c> if this instance can be advanced; otherwise, <c>false</c>.</returns>
 public static bool CanBeAdvancedTo(this FieldItemResolutionStatus resolutionStatus, FieldItemResolutionStatus newStatus)
 {
     return(CAN_BECOME_STATI != null &&
            CAN_BECOME_STATI.ContainsKey(newStatus) &&
            CAN_BECOME_STATI[newStatus].Contains(resolutionStatus));
 }