public void Render(HtmlTextWriter writer)
        {
            using (LogGroup logGroup = LogGroup.Start("Rendering an XML entity page.", NLog.LogLevel.Debug))
            {
                if (DataSource != null)
                {
                    HttpContext.Current.Response.ContentType = "text/xml";

                    StringWriter stringWriter = new StringWriter();

                    Type type = EntityState.GetType(TypeName);

                    if (DataSource is Array)
                    {
                        DataSource = new SerializableCollection((IEntity[])DataSource);
                    }

                    XmlSerializer serializer = new XmlSerializer(DataSource.GetType(), new Type[] { type });
                    serializer.Serialize(stringWriter, DataSource);

                    XmlDocument doc = new XmlDocument();

                    LogWriter.Debug("Xslt file: " + XsltFile);


                    doc.LoadXml(stringWriter.ToString());


                    string piString = "type=\"text/xsl\"";

                    piString += "href=\"" + XsltFile + "\"";

                    XmlProcessingInstruction pi =
                        doc.CreateProcessingInstruction("xml-stylesheet",
                                                        piString);

                    doc.InsertBefore(pi, doc.DocumentElement);


                    doc.Save(writer);
                }
                else
                {
                    LogWriter.Debug("DataSource == null. Skipped custom render.");
                }
            }
        }
        public void op_JsonSerialize_object_whenSerializableCollection(string expected)
        {
            var example = new SerializableCollection
            {
                new SerializableType
                {
                    Value = new JsonObject
                    {
                        new JsonPair("price", 1.23m)
                    }
                }
            };

            var actual = example.JsonSerialize();

            Assert.Equal(expected, actual);
        }
        /// <summary>
        /// Gibt alle Universen zurück, die geladen werden können.
        /// </summary>
        /// <returns>Die Liste der Universen.</returns>
        public Awaiter Load(out SerializableCollection <IUniverse> universes)
        {
            string root    = GetRoot();
            var    awaiter = new Awaiter();

            universes            = new SerializableCollection <IUniverse>();
            awaiter.Serializable = universes;
            foreach (var folder in Directory.GetDirectories(root))
            {
                string id = Path.GetFileNameWithoutExtension(folder);//folder.Replace(root + "\\", "");
                if (Guid.TryParse(id, out Guid guid))
                {
                    universes.Add((IUniverse)Load(out var universe, guid).WaitOn());
                }
            }
            awaiter.SetResult(universes);

            return(awaiter);
        }
        public void op_JsonSerialize_object_whenSerializableCollection(string expected)
        {
            var example = new SerializableCollection
                              {
                                  new SerializableType
                                      {
                                          Value = new JsonObject
                                                      {
                                                          new JsonPair("price", 1.23m)
                                                      }
                                      }
                              };

            var actual = example.JsonSerialize();

            Assert.Equal(expected, actual);
        }
 public Awaiter Load(out SerializableCollection <IUniverse> universes) => throw new NotImplementedException();