Exemple #1
0
 protected void Dispatch(IDocumentItem documentItem, PdfDocumentWriter writer, Context context)
 {
     if (!documentItem.Hidden)
     {
         this.GetType().GetMethod("Handle" + documentItem.GetType().Name, BindingFlags.Instance | BindingFlags.NonPublic).Invoke(this, new object[] { documentItem, writer, context });
     }
 }
 public IDocument CreateDocument(IDocumentItem item)
 {
     if (item is IDiagram)
         return new DiagramDocument((IDiagram)item, DockForm);            
     else if (item is TemplateFile)
         return new TemplateDocument((TemplateFile)item, DockForm);
     throw new NotSupportedException(item.GetType().Name);
 }
Exemple #3
0
        public string SerializeToText(IDocumentItem obj)
        {
            var BinarySerializer = new DataContractSerializer(obj.GetType());

            using (var ms = new MemoryStream())
            {
                BinarySerializer.WriteObject(ms, obj);
                return(Encoding.UTF8.GetString(ms.ToArray()));
            }
        }
Exemple #4
0
        public string SerializeToText(IDocumentItem obj)
        {
            var devidedTypes = typeof(MorestachioDocument).Assembly.GetTypes().Where(e => e.IsClass)
                               .Where(e => typeof(IDocumentItem).IsAssignableFrom(e)).ToArray();
            var XmlSerializer = new XmlSerializer(obj.GetType(), devidedTypes);

            using (var ms = new MemoryStream())
            {
                XmlSerializer.Serialize(ms, obj);
                return(Encoding.UTF8.GetString(ms.ToArray()));
            }
        }
Exemple #5
0
        private void SerilalizeAndDeserialize(IDocumentItem document)
        {
            var text             = DocumentSerializerStrategy.SerializeToText(document);
            var deserialized     = DocumentSerializerStrategy.DeSerializeToText(text, document.GetType());
            var deserializedText = DocumentSerializerStrategy.SerializeToText(deserialized);

            Assert.That(document, Is.EqualTo(deserialized), () =>
            {
                return($"Object left is: " +
                       $"\"{text}\" " +
                       $"and right ist " +
                       $"\"{deserializedText}\"" +
                       $"");
            });

            Assert.That(deserializedText, Is.EqualTo(text));
        }