예제 #1
0
        public async Task <ProgramDetails> PublishAsync(ProgramDetails program, Package package)
        {
            Ensure.NotNull(program, nameof(program));
            Ensure.NotNull(package, nameof(package));

            using (var stream = new MemoryStream())
            {
                await package.ToZipStreamAsync(stream, leaveStreamOpen : true);

                stream.Position = 0;

                return(await api.PutStreamAsync <ProgramDetails>(
                           path : $"/programs/{program.Id}@{program.Version}",
                           contentType : "application/zip",
                           stream : stream,
                           properties : JsonObject.FromObject(program)
                           ));
            }
        }