/// <summary> /// Upload a single assembly for review. /// </summary> /// <param name="assemblyModel">The assembly being uploaded.</param> /// <returns>The ID assigned to the assembly in the database.</returns> public async Task <string> UploadAssemblyAsync(AssemblyModel assemblyModel) { var guid = Guid.NewGuid().ToString(); assemblyModel.Id = guid; var assemblyComments = new AssemblyCommentsModel(guid); await commentRepository.UploadAssemblyCommentsAsync(assemblyComments); var blob = ContainerClient.GetBlobClient(guid); using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(JsonSerializer.ToString(assemblyModel)))) { await blob.UploadAsync(stream); } blob = ContainerClient.GetBlobClient(guid); await blob.SetMetadataAsync(new Dictionary <string, string>() { { "id", guid } }); return(guid); }
/// <summary> /// Upload a single assembly for review. /// </summary> /// <param name="assemblyModel">The assembly being uploaded.</param> /// <returns>The ID assigned to the assembly in the database.</returns> public async Task <string> UploadAssemblyAsync(AssemblyModel assemblyModel, Stream original) { var guid = Guid.NewGuid().ToString(); assemblyModel.Id = guid; assemblyModel.HasOriginal = original != null; var assemblyComments = new AssemblyCommentsModel(guid); await commentRepository.UploadAssemblyCommentsAsync(assemblyComments); var blob = ContainerClient.GetBlobClient(guid); await blob.UploadAsync(new MemoryStream(JsonSerializer.SerializeToUtf8Bytes(assemblyModel))); if (original != null) { var originalBlob = OriginalsContainer.GetBlobClient(guid); await originalBlob.UploadAsync(original); } return(guid); }