예제 #1
0
        public int Act(CreateThumbnailSheetOptions options)
        {
            _correlationId = Guid.NewGuid().ToString();
            var videoFileInfoExtractResponse = ExtractVideoFileInformation(options);

            if (!videoFileInfoExtractResponse.IsValid)
            {
                return(1);
            }
            var thumbnailSheetCreateResponse = CreateThumbnailSheet(options, videoFileInfoExtractResponse.VideoFileInformation);

            return(thumbnailSheetCreateResponse.IsValid ? 0 : 1);
        }
예제 #2
0
        private VideoFileInfoExtractResponse ExtractVideoFileInformation(CreateThumbnailSheetOptions options)
        {
            var request  = new VideoFileInfoExtractRequest(options.VideoFilePath, _correlationId);
            var response = _videoFileInfoExtractionService.Extract(request);


            if (response.IsValid)
            {
                _auditor.AuditSuccess("VideoFile", options.VideoFilePath, "InfoExtracted", response);
            }
            else
            {
                _auditor.AuditFailure("VideoFile", options.VideoFilePath, "InfoExtractionFailed", response);
            }
            return(response);
        }
예제 #3
0
        private ThumbnailSheetCreateResponse CreateThumbnailSheet(CreateThumbnailSheetOptions options, VideoFileInformationModel videoFileInformation)
        {
            var request = new ThumbnailSheetCreateRequest(
                videoPath: options.VideoFilePath,
                sheetName: Path.GetFileNameWithoutExtension(options.VideoFilePath),
                numberOfThumbnails: options.NumberOfThumbnails,
                videoDurationInSeconds: videoFileInformation.DurationInSecs,
                correlationId: _correlationId);
            var response = _thumbnailSheetCreationService.Create(request);

            if (response.IsValid)
            {
                _auditor.AuditSuccess("VideoFile", options.VideoFilePath, "ThumbnailSheetCreated", response);
            }
            else
            {
                _auditor.AuditFailure("VideoFile", options.VideoFilePath, "ThumbnailSheetCreationFailed", response);
            }
            return(response);
        }