MesoXPO Framework
Code-Snippets
Systemdatenbank
Lesen der Mandantenverbindungen
// Systemverbindung
var systemConnection = new MesoXPO.SystemUnitOfWork(sqlServer, 0, systemDb, "meso", mesoPasswort);
// Liste der Mandantenverbindungen
var companyList = new XPQuery<Datenbankverbindung>(systemConnection).Select(d => d.Mandant).ToList();
// Mandantenverbindung
// MesoObjectLayer für gewünschten Mandant (automatische Filterung auf Mandant und aktuelles Wirtschaftsjahr
var mesoObjectLayer = SystemUnitOfWork.GetMesoObjectLayer(companyList.First());
var companyConnection = mesoObjectLayer.GetDataUnitOfWork();
// optional: statische Systemverbindung für Zugriff aus den Datenobjekten (z.B. auf Archivdokumente, Eigenschaften etc., die nicht in derselben Datenbank und daher nicht im selben DataLayer liegen)
SystemUnitOfWork.SessionSystem = systemConnection;Mandantendaten
Hauptartikel mit Lagerbestand
Verdeutlicht Abfrage auf eine “nested” Property (Lagereinstellungen)
var artikelMitLagerstand = new XPQuery<ArtikelStammdatei>(companyConnection)
.Where(a => a.Lagereinstellungen.Artikeltyp == ProductTypeEnum.ProductWithStock && a.Lagerwerte.Lagerbestand > 0);
foreach (var lagerartikel in
artikelMitLagerstand)
Debug.WriteLine($"Artikel {lagerartikel.Artikelnummer} in {lagerartikel.Mesocomp} {lagerartikel.Mesoyear}: {lagerartikel.Lagerwerte.Lagerbestand}");