public virtual async Task RemoveAllFileAsync(Guid versionId)
        {
            var appVersion = await VersionRepository.GetAsync(versionId);

            foreach (var versionFile in appVersion.Files)
            {
                await VersionBlobContainer
                .DeleteAsync(VersionFile.NormalizeBlobName(appVersion.Version, versionFile.Name, versionFile.Version));
            }
            appVersion.RemoveAllFile();
        }
        public virtual async Task AppendFileAsync(Guid versionId, string fileSha256,
                                                  string fileName, string fileVersion,
                                                  long fileSize, string filePath = "",
                                                  FileType fileType = FileType.Stream)
        {
            var appVersion = await VersionRepository.GetAsync(versionId);

            if (appVersion.FileExists(fileName))
            {
                appVersion.RemoveFile(fileName);
            }
            appVersion.AppendFile(fileName, fileVersion, fileSize, fileSha256, filePath, fileType);
        }
        public virtual async Task RemoveFileAsync(Guid versionId, string fileName)
        {
            var appVersion = await VersionRepository.GetAsync(versionId);

            var versionFile = appVersion.FindFile(fileName);

            if (versionFile != null)
            {
                await VersionBlobContainer
                .DeleteAsync(VersionFile.NormalizeBlobName(appVersion.Version, versionFile.Name, versionFile.Version));

                appVersion.RemoveFile(fileName);
            }
        }
 public virtual async Task <AppVersion> GetByIdAsync(Guid id)
 {
     return(await VersionRepository.GetAsync(id));
 }