Exemplo n.º 1
0
        public override ValidationResult Validate()
        {
            string message = _validationObject switch
            {
                FileTransferMethodExt ext => ValidateFileTransferMethod(ext),
                TaskFileOffsetExt ext => ValidateTaskFileOffset(ext),
                GetFileTransferMethodModel methodModel => ValidateGetFileTransferMethodModel(methodModel),
                EndFileTransferModel transferModel => ValidateEndFileTransferModel(transferModel),
                DownloadPartsOfJobFilesFromClusterModel clusterModel => ValidateDownloadPartsOfJobFilesFromClusterModel(clusterModel),
                ListChangedFilesForJobModel jobModel => ValidateListChangedFilesForJobModel(jobModel),
                DownloadFileFromClusterModel clusterModel => ValidateDownloadFileFromClusterModel(clusterModel),
                _ => string.Empty
            };

            return(new ValidationResult(string.IsNullOrEmpty(message), message));
        }
        public IActionResult GetFileTransferMethod(GetFileTransferMethodModel model)
        {
            try
            {
                _logger.LogDebug($"Endpoint: \"FileTransfer\" Method: \"GetFileTransferMethod\" Parameters: \"{model}\"");
                ValidationResult validationResult = new FileTransferValidator(model).Validate();
                if (!validationResult.IsValid)
                {
                    ExceptionHandler.ThrowProperExternalException(new InputValidationException(validationResult.Message));
                }

                return(Ok(_service.GetFileTransferMethod(model.SubmittedJobInfoId, model.SessionCode)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemplo n.º 3
0
 private string ValidateGetFileTransferMethodModel(GetFileTransferMethodModel model)
 {
     ValidateId(model.SubmittedJobInfoId, nameof(model.SubmittedJobInfoId));
     ValidateSessionCode(model.SessionCode);
     return(_messageBuilder.ToString());
 }