public async Task OpenGraphItFile(InputFileChangeEventArgs e, bool overwrite) { Overwrite = overwrite; try { byte[] temp; Options newOptions = new Options(); using (var streamReader = new MemoryStream()) { await e.File.OpenReadStream().CopyToAsync(streamReader); temp = streamReader.ToArray(); } OpenPreference = false; string graph = DecodeAndInflate(temp); XmlDocument xmlData = new XmlDocument(); xmlData.LoadXml(graph); if (Overwrite) { Graph = new Graph(); } Traverse(xmlData, NodeService.NextId(Graph.Nodes), EdgeService.NextId(Graph.Edges)); await GraphChanged.InvokeAsync(Graph); if (Overwrite) { await OptionsChanged.InvokeAsync(Options); } } catch (ObjectDisposedException) { ErrorOpening = true; } }