public ImageDbFileSource(
     IUOWPhotoStorage uowPhotoStorageMongo,
     IUOWPhotoStorage uowPhotoStorageSQL)
 {
     _uowPhotoMongo = uowPhotoStorageSQL;
     _uowPhotoSQL   = uowPhotoStorageSQL;
 }
        private byte[] DownloadFile(IUOWPhotoStorage uowPhotoStorage, MediaTypes mediaTypes, int mediaId)
        {
            switch (mediaTypes)
            {
            case MediaTypes.ProductPhoto:
                return(uowPhotoStorage.ProductPhotosStorage.GetImageBytesById(mediaId) ?? new byte[0]);

            case MediaTypes.CategoryPhoto:
                return(uowPhotoStorage.CategoryPhotosStorage.GetImageBytesById(mediaId) ?? new byte[0]);

            case MediaTypes.UserPhoto:
                return(uowPhotoStorage.UserPhotosStorage.GetImageBytesById(mediaId) ?? new byte[0]);

            default:
                throw new InvalidCastException("Incorrect media type");
            }
        }
        private bool IsFileExists(IUOWPhotoStorage uowPhotoStorage, MediaTypes mediaTypes, int mediaId)
        {
            switch (mediaTypes)
            {
            case MediaTypes.ProductPhoto:
                return(uowPhotoStorage.ProductPhotosStorage.IsImageExist(mediaId));

            case MediaTypes.CategoryPhoto:
                return(uowPhotoStorage.CategoryPhotosStorage.IsImageExist(mediaId));

            case MediaTypes.UserPhoto:
                return(uowPhotoStorage.UserPhotosStorage.IsImageExist(mediaId));

            default:
                throw new InvalidCastException("Incorrect media type");
            }
        }
        private bool UploadFile(IUOWPhotoStorage uowPhotoStorage, byte[] image, MediaTypes mediaTypes, int mediaId)
        {
            //Log.Instance.LogAsInfo($"{nameof(ImageDbFileSource)}.{nameof(UploadFile)}: UploadFile is started");
            switch (mediaTypes)
            {
            case MediaTypes.ProductPhoto:
                return(uowPhotoStorage.ProductPhotosStorage.AddOrUpdateFile(image, mediaId));

            case MediaTypes.CategoryPhoto:
                return(uowPhotoStorage.CategoryPhotosStorage.AddOrUpdateFile(image, mediaId));

            case MediaTypes.UserPhoto:
                return(uowPhotoStorage.UserPhotosStorage.AddOrUpdateFile(image, mediaId));

            default:
                throw new InvalidCastException("Incorrect media type");
            }
        }