public override ValidationResult Validate <T>(T request)
        {
            var req = request as GetWorkOrderRequest;

            ValidationResult result;

            result = _requestComponentValidator.RouteId(req.RouteId);

            if (result == null)
            {
                result = _requestComponentValidator.QueryApiVersionRequired(req.QueryApiVersion);
            }

            if (result == null)
            {
                result = _requestComponentValidator.QueryApiVersion(req.QueryApiVersion);
            }

            if (result == null)
            {
                result = new ValidationResult();
            }

            return(result);
        }
        public override ValidationResult Validate <T>(T request)
        {
            var req = request as DeleteSourceRequest;

            ValidationResult result;

            result = _requestComponentValidator.RouteId(req.RouteId);

            if (result == null)
            {
                result = _requestComponentValidator.QueryApiVersionRequired(req.QueryApiVersion);
            }

            if (result == null)
            {
                result = _requestComponentValidator.QueryApiVersion(req.QueryApiVersion);
            }

            if (result == null)
            {
                result = _requestComponentValidator.HeaderIfMatchRequired(req.HeaderIfMatch);
            }

            if (result == null)
            {
                result = _requestComponentValidator.HeaderIfMatch(req.HeaderIfMatch);
            }

            if (result == null)
            {
                result = new ValidationResult();
            }

            return(result);
        }
        public override ValidationResult Validate <T>(T request)
        {
            var req = request as UpdateBusinessUnitRequest;

            ValidationResult result;

            result = _requestComponentValidator.RouteId(req.RouteId);

            if (result == null)
            {
                result = _requestComponentValidator.QueryApiVersionRequired(req.QueryApiVersion);
            }

            if (result == null)
            {
                result = _requestComponentValidator.QueryApiVersion(req.QueryApiVersion);
            }

            if (result == null)
            {
                result = _requestComponentValidator.HeaderIfMatchRequired(req.HeaderIfMatch);
            }

            if (result == null)
            {
                result = _requestComponentValidator.HeaderIfMatch(req.HeaderIfMatch);
            }

            if (result == null)
            {
                result = _requestComponentValidator.HeaderContentTypeRequired(req.HeaderContentType);
            }

            if (result == null)
            {
                result = _requestComponentValidator.HeaderContentType(req.HeaderContentType);
            }

            if (result == null)
            {
                result = _requestComponentValidator.BodyPatchRequired(req.BodyPatch);
            }

            if (result == null)
            {
                result = _requestComponentValidator.BodyPatch(req.BodyPatch);
            }

            if (result == null)
            {
                result = new ValidationResult();
            }

            return(result);
        }