async Task<MergeResult> MergeImpl(IOwinContext context) { var content = new StreamContent(context.Request.Body); content.Headers.ContentType = MediaTypeHeaderValue.Parse(context.Request.ContentType); var result = new MergeResult(); result.Graph = new Graph(); var provider = await content.ReadAsMultipartAsync(); foreach (var httpContent in provider.Contents) { var fileName = httpContent.Headers.ContentDisposition.FileName; if (string.IsNullOrWhiteSpace(fileName)) { continue; } using (Stream fileContent = await httpContent.ReadAsStreamAsync()) { using (TextReader reader = new StreamReader(fileContent)) { string data = await reader.ReadToEndAsync(); JToken jsonLd = JToken.Parse(data); if (result.JsonLdContext == null) { result.JsonLdContext = (JObject)jsonLd["@context"]; result.JsonLdFrame = (string)jsonLd["@type"]; } IGraph graph = Common.GraphFromJson(jsonLd); result.Graph.Merge(graph, false); } } } return result; }
async Task <MergeResult> MergeImpl(IOwinContext context) { var content = new StreamContent(context.Request.Body); content.Headers.ContentType = MediaTypeHeaderValue.Parse(context.Request.ContentType); var result = new MergeResult(); result.Graph = new Graph(); var provider = await content.ReadAsMultipartAsync(); foreach (var httpContent in provider.Contents) { var fileName = httpContent.Headers.ContentDisposition.FileName; if (string.IsNullOrWhiteSpace(fileName)) { continue; } using (Stream fileContent = await httpContent.ReadAsStreamAsync()) { using (TextReader reader = new StreamReader(fileContent)) { string data = await reader.ReadToEndAsync(); JToken jsonLd = JToken.Parse(data); if (result.JsonLdContext == null) { result.JsonLdContext = (JObject)jsonLd["@context"]; result.JsonLdFrame = (string)jsonLd["@type"]; } IGraph graph = Common.GraphFromJson(jsonLd); result.Graph.Merge(graph, false); } } } return(result); }