private static HttpStatusCode GetHttpStatusCode(DomainErrorCodes errorCodes) { switch (errorCodes) { case DomainErrorCodes.InvalidParameter: case DomainErrorCodes.StartDateAfterEndDate: case DomainErrorCodes.TripStartDateIsInThePast: case DomainErrorCodes.TooLongTrip: case DomainErrorCodes.TooShortTrip: case DomainErrorCodes.OverlappingTripDates: case DomainErrorCodes.ArgumentNullOrEmpty: return(HttpStatusCode.BadRequest); case DomainErrorCodes.CustomerAlreadyAssignedToThisTrip: case DomainErrorCodes.TripAlreadyExists: case DomainErrorCodes.CustomerAlreadyExists: return(HttpStatusCode.Conflict); case DomainErrorCodes.CustomerDoesNotExist: case DomainErrorCodes.TripDoesNotExists: return(HttpStatusCode.NotFound); default: throw new ArgumentOutOfRangeException(nameof(errorCodes), errorCodes, null); } }
public DomainException(DomainErrorCodes errorCode, Exception innerException, string description, params object[] args) : base(FormatDescription(description, args)) { ErrorCode = errorCode; Description = FormatDescription(description, args); }