public static CognitiveFile ValidateForSubmission(CognitiveFileDTO file, IUserAccountRepository usersRepo)
        {
            //TODO: Add attribute values validation + user db validation

            var newId  = Guid.NewGuid().ToString();
            var result = new CognitiveFile
            {
                Id          = newId,
                IsProcessed = false,
                CreatedAt   = DateTime.UtcNow,
                FileName    = $"{newId}{Path.GetExtension(file.FileName)}",
                IsDeleted   = false,
                MediaType   = FileMediaType.Image,
                Origin      = file.Origin,
                OwnerId     = file.OwnerId,
                Status      = "Submitted"
            };

            foreach (var step in file.CognitivePipelineActions)
            {
                result.CognitivePipelineActions.Add(new CognitiveStep
                {
                    ServiceType  = step.ServiceType,
                    Status       = "Processing",
                    Confidence   = 0,
                    IsSuccessful = false,
                });
            }

            //TODO: Add mapper configuration for successful automated mapping between the DTO and business objects
            //result.CognitivePipelineActions = Mapper.Map<List<CognitiveStep>>(file.CognitivePipelineActions);

            return(result);
        }
        public static List <CognitiveFileDTO> GetData()
        {
            CognitiveFileDTO newFile1 = new CognitiveFileDTO
            {
                FileName  = "mosaif_id.png",
                MediaType = Models.FileMediaType.Image,
                Origin    = "UnitTests",
                OwnerId   = "783ed915-8e5d-418b-ade0-8cc5f217ecf7"
            };

            newFile1.CognitivePipelineActions = new List <CognitiveStepDTO>
            {
                new CognitiveStepDTO {
                    ServiceType = Models.CognitiveServiceType.OCR
                },
                new CognitiveStepDTO {
                    ServiceType = Models.CognitiveServiceType.FaceDetection
                }
            };

            CognitiveFileDTO newFile2 = new CognitiveFileDTO
            {
                FileName  = "mohamed-saif.jpg",
                MediaType = Models.FileMediaType.Image,
                Origin    = "UnitTests",
                OwnerId   = "783ed915-8e5d-418b-ade0-8cc5f217ecf7"
            };

            newFile2.CognitivePipelineActions = new List <CognitiveStepDTO>
            {
                new CognitiveStepDTO {
                    ServiceType = Models.CognitiveServiceType.ImageAnalysis
                },
                new CognitiveStepDTO {
                    ServiceType = Models.CognitiveServiceType.OCR
                }
            };

            return(new List <CognitiveFileDTO> {
                newFile1, newFile2
            });
        }