示例#1
0
        private async Task <Maybe <string> > ExportToJson(ICollection <DocumentReference> documents, string name = "")
        {
            var fileName          = ArchiveExtensions.EnsureFileName(name, "export", ".json", true);
            var maybeJsonFileName = await _applicationInteraction.ShowSaveFileDialog("Save Json export", "Json File|*.json", fileName);

            if (maybeJsonFileName.HasValue)
            {
                if (documents.Count == 1)
                {
                    using (var writer = new StreamWriter(maybeJsonFileName.Value))
                    {
                        documents.First().Serialize(writer, true);
                    }
                }
                else
                {
                    var documentAggregator = new DocumentReferenceAggregator(documents);
                    using (var writer = new StreamWriter(maybeJsonFileName.Value))
                    {
                        documentAggregator.Serialize(writer, true, false);
                    }
                }
            }

            return(maybeJsonFileName);
        }
示例#2
0
        public Task <Result> CopyDocuments(IEnumerable <DocumentReference> documents)
        {
            var documentAggregator = new DocumentReferenceAggregator(documents);

            Clipboard.SetData(DataFormats.Text, documentAggregator.Serialize(true, false));

            return(Task.FromResult(Result.Ok()));
        }