public async Task <bool> PushStringsToTransifexAsync(ImmutableArray <SOString> strings) { using (MiniProfiler.Current.Step("Pushing strings to Transifex")) { ByteArrayContent byteContent; using (MiniProfiler.Current.Step("Serializing the payload")) { var content = Jil.JSON.Serialize(strings.Select(s => new TransifexStringToPush { Key = s.Key, Translation = s.Translation })); var buffer = Encoding.UTF8.GetBytes(content); byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); } bool success; using (MiniProfiler.Current.Step("Posting to Transifex")) { var client = GetHttpClient(); var response = await client.PutAsync(_resourcePath, byteContent); success = response.IsSuccessStatusCode; } if (success) { await _soStringService.UpdateStringsPushed(); } return(success); } }