コード例 #1
0
        public static void AssertState(this TraineeshipApplicationDetail traineeshipApplicationDetail, string errorMessage, params ApplicationStatuses[] allowedUserStatuses)
        {
            if (!allowedUserStatuses.Contains(traineeshipApplicationDetail.Status))
            {
                var expectedStatuses = string.Join(", ", allowedUserStatuses);
                var message          = string.Format("Application in invalid state for '{0}' (id: {1}, current: '{2}', expected: '{3}')",
                                                     errorMessage,
                                                     traineeshipApplicationDetail.EntityId,
                                                     traineeshipApplicationDetail.Status,
                                                     expectedStatuses);

                throw new CustomException(message, ErrorCodes.EntityStateError);
            }
        }
コード例 #2
0
 public static void RevertStateToDraft(this TraineeshipApplicationDetail traineeshipApplicationDetail)
 {
     traineeshipApplicationDetail.Status      = ApplicationStatuses.Draft;
     traineeshipApplicationDetail.DateApplied = null;
 }
コード例 #3
0
 public static void SetStateExpiredOrWithdrawn(this TraineeshipApplicationDetail traineeshipApplicationDetail)
 {
     traineeshipApplicationDetail.Status = ApplicationStatuses.ExpiredOrWithdrawn;
 }
コード例 #4
0
 public static void SetStateInProgress(this TraineeshipApplicationDetail traineeshipApplicationDetail)
 {
     traineeshipApplicationDetail.Status         = ApplicationStatuses.InProgress;
     traineeshipApplicationDetail.DateLastViewed = DateTime.UtcNow;
 }
コード例 #5
0
 public static void SetStateSubmitted(this TraineeshipApplicationDetail traineeshipApplicationDetail)
 {
     traineeshipApplicationDetail.Status = ApplicationStatuses.Submitted;
 }
コード例 #6
0
 public static void SetStateSubmitting(this TraineeshipApplicationDetail traineeshipApplicationDetail)
 {
     traineeshipApplicationDetail.Status      = ApplicationStatuses.Submitting;
     traineeshipApplicationDetail.DateApplied = DateTime.UtcNow;
 }