Neues Datenobjekt erzeugen

Importieren Sie bitte für das folgende Beispiel die Client API Testdaten. Dieses Modul bringt einige Schemata und Beispieldaten mit. Wir erstellen nun unser erstes Datenobjekt im onion.net Information Server.

using System;
using System.Xml.Linq;
using Onion.Client;

class Program
{
  static void Main(string[] args)
  {
    using (var session = new OnionSession("ipc://onion.net/onion/server", "admin", "admin"))
    {
      IDataObject contacts = session.Repository.Lookup("Client API Testdata", "1. Contacts");

      XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";

      var el = new XElement("person",
        new XAttribute(XNamespace.Xmlns + "xsi", xsi),
        new XAttribute(xsi + "schemaLocation", "http://onion.net/examples/client-api/contacts/person"),
        new XAttribute("gender", "male"),
        new XElement("address",
          new XElement("street", "Musterstraße 123"),
          new XElement("zipCode", "12345"),
          new XElement("city", "Musterhausen")
        )
      );
   
      IDataObject newContact = contacts.Children.Create("Max Mustermann", el.ToString());

      Console.WriteLine(String.Format("New data object {0} created on {1}.", newContact.Id, newContact.DateCreated));
    }
  }
}

In onion.net befindet sich jedes Datenobjekt an einer hierarchischen Position mit einem strukturellen Bezeichner. Wir nutzen IDataRepository.Lookup, um anhand einer Pfadangabe ein Datenobjekt zu finden. Um ein neues Datenobjekt anzulegen bietet die Schnittstelle IDataObjectChildrenCollection die Methode Create. Als Ergebnis liefert sie das neue Datenobjekt. Die Ausführung des Beispiels sollte zu einem ähnlichen Ergebnis führen.

New data object 610 created on 25.07.2010 12:00:11.

Das neue Datenobjekt kann anschließend im onion.net Editor betrachtet werden.