Unit-Testing mit Visual Studio

In den bisherigen Ausgaben von Datenbankentwickler haben wir ohne moderne Entwurfsmuster programmiert und beispielsweise den Code von Fenstern im Code behind-Modul gespeichert. Das wollen wir nun ändern und das Entwurfsmuster Model-View-ViewModel (kurz MVVM) vorstellen. Das ermöglicht durch eine Zwischenschicht zwischen der Benutzeroberfläche und dem Entity Data Model das automatisierte Testen der meisten Funktionen einer Anwendung. Durch automatisiertes Testen, hier Unit-Testing genannt, können wir Tests für unseren Code definieren, die wir immer wieder per Mausklick durchführen können. So können Sie Änderungen am Code durchführen und sich blitzschnell versichern, dass der Code noch so läuft wie gewünscht. Im vorliegenden Artikel erläutern wir, was es mit Unit-Testing auf sich hat und wie Sie es unter Visual Studio einsetzen.

Weiterlesen

Registerseiten im TabControl an Daten binden

Im Artikel “TabControl: Das Registersteuerelement von WPF” haben wir uns die grundlegenden Eigenschaften des Registersteuerelements von .NET und WPF angesehen. Dieses bietet ähnliche Möglichkeiten wie das Registersteuerelement, das Sie vielleicht von Microsoft Access kennen. An einigen Stellen gehen die Möglichkeiten, bedingt durch die größere Flexibilität der Beschreibungssprache XAML, darüber hinaus. So können Sie beispielsweise das TabControl und seine TabItem-Elemente an eine Datenquelle wie eine ObservableCollection binden und die Daten der Objekte dieser Collection sowohl für die Gestaltung der Registerreiter als auch für den eigentlich Inhalt einer jeden Registerseite nutzen.

Weiterlesen

TabControl: Das Registersteuerelement von WPF

Genau wie unter Microsoft Access finden Sie auch unter WPF ein Registersteuerelement – das sogenannte TabControl-Element. Sie können dieses Steuerelement vielseitig einsetzen, um beispielsweise Inhalte, die sonst nicht auf einer Bildschirmseite Platz finden, dennoch halbwegs übersichtlich darzustellen. Dieser Artikel stellt das Register-Steuerelement von WPF vor und zeigt, wie Sie es in Ihren eigenen Anwendungen nutzen können.

Weiterlesen

Seminarverwaltung IVa: Kunden und Seminare

Die Arbeit mit der Seminarverwaltung startet an dem Punkt, wo wir die online eingegangenen Bestellungen einlesen und in der Seminarverwaltung Kunden und Bestellungen in Kunden und Seminarteilnahmen umwandeln. Dazu benötigen wir eine Möglichkeit, die online erfolgten Bestellungen in die Anwendung einzulesen – siehe Artikel “Seminarverwaltung VI: Daten vom Shopsystem”. Außerdem wollen wir in diesem Artikel zeigen, wie Sie die Kunden und die Seminarteilnahmen verwalten können. Hier kann es auch vorkommen, dass ein Kunde auf einem anderen Wege als im Onlineshop bestellt – daher benötigen wir Möglichkeit zum Anlegen von Kunden und Seminarteilnahmen über die Benutzeroberfläche.

Weiterlesen

Beispieldaten für ein EDM generieren

Im Artikel “Beispieldaten generieren mit Bogus” haben wir gezeigt, wie Sie grundsätzlich Beispieldaten mit der Erweiterung Bogus erzeugen. Dort haben wir allerdings noch offen gelassen, wie Sie solche Daten erzeugen, die in verknüpften Tabellen gespeichert werden sollen – also beispielsweise in zwei Tabellen namens “Kunden” und “Bestellungen”, wobei die Tabelle “Bestellungen” über ein Fremdschlüsselfeld namens “KundeID” mit der Tabelle “Kunden” verknüpft ist. Wie das gelingt, und welche Techniken noch interessant sind für das Schreiben von Beispieldaten über ein Entity Data Model direkt in die zugrunde liegenden Tabellen, beschreiben wir im vorliegenden Artikel.

Weiterlesen

Beispieldaten generieren mit Bogus

Wenn Sie eine Anwendung entwickeln, können Sie die meisten Funktionen nur testen, wenn die zugrunde liegende Datenbank bereits Beispieldaten enthält. Ausnahmen sind beispielsweise Formulare zum Anlegen neuer Datensätze – hier legen Sie die Beispieldatenbank selbst an. In allen anderen Fällen kann es nicht schaden, ein paar Beispieldatensätze in den jeweiligen Tabellen bereitzustellen. Oft reicht es aus, das Anlegen einiger Elemente wie Kunden oder Produkte hart im Code zu verdrahten. Wenn Sie allerdings flexibel schnell für verschiedene Datenmodelle und Anwendungen Beispieldaten benötigen, reduzieren Sie den Aufwand zum Zusammenstellen der Beispieldaten zwar auf das einmalige Schreiben des Codes. Es macht aber auch keinen Spaß, sich dann Informationen wie Teststraße, Beispielfirma und Co. aus den Fingern zu saugen. Um dies zu automatisieren und gegebenenfalls auch größere Mengen an Beispieldaten zu generieren, gibt es spezielle Tools. Eine davon heißt Bogus – und diese stellen wir in diesem Artikel im Detail vor.

Weiterlesen

Versionsverwaltung mit Git

Wie geht eigentlich Versionsverwaltung mit Visual Studio-Projekten Wer Software mit Access entwickelt, musste sich darüber nicht viele Gedanken machen: Man kopiert einfach die komplette .accdb-Datei unter einem anderen Namen. Mittlerweile gibt es auch einige Lösungen von Drittherstellern, mit denen die einzelnen Objekte verwaltet werden können. Unter Visual Studio ist die Versionsverwaltung zum Glück direkt integriert. Visual Studio nutzt dafür die Quellcodeverwaltung Git. Welche Einsatzmöglichkeiten es gibt und wie Sie diese für Ihre eigenen Anforderungen einsetzen können, zeigt der vorliegende Artikel.

Weiterlesen

Navigieren mit CollectionViewSource

Bisher haben wir oft mit Detailansichten von Datensätzen wie beispielsweise für Kunden oder Produkten gearbeitet, die zum Anlegen oder Bearbeiten eines einzelnen Datensatzes geeignet waren. Von Access kennen Sie die Möglichkeit, mit den Navigationsschaltflächen auch in solchen Detailformularen zu navigieren und von einem zum anderen Datensatz zu wechseln, ohne zwischendurch zu einem Übersichtsformular zu wechseln. In diesem Artikel wollen wir zeigen, wie Sie das unter WPF so abbilden können, wie es auch unter Access möglich ist. Dabei nutzen wir die Möglichkeiten der CollectionViewSource.

Weiterlesen

Seminarverwaltung III: Daten vom Shopsystem

Unsere Seminarverwaltung lebt unter anderen davon, dass Bestellungen über ein Shopsystem eingehen. Hier nutzen wir elopage, einen Anbieter, mit dem man verschiedene digitale Dienstleistungen online verkaufen kann. elopage übernimmt dabei einige Aufgaben wie etwa die Bereitstellung von Produkt- und Bestellseiten. Nachdem eine Bestellung erfolgt ist, landen die Daten des Kunden inklusive der Daten zum bestellten Artikel in der Datenbank von elopage. Die Bestelldaten können wir per CSV-Datei exportieren und in unsere Seminarverwaltung einlesen. Dazu verwenden wir das NuGet-Paket CsvHelper, das wir in zwei weiteren Artikeln bereits vorgestellt haben. Der vorliegende Artikel zeigt, wie wir die beschriebenen Techniken für den Import in einem konkreten Anwendungsfall nutzen können.

Weiterlesen

Seminarverwaltung II: Ribbon und Frame

Um eine Anwendung wie eine Seminarverwaltung ergonomisch steuern zu können, benötigen wir die Möglichkeit, alle wichtigen Elemente der Benutzeroberfläche und Funktionen schnell aufzurufen. Dazu verwenden wir ein Ribbon, dass alle benötigten Steuerelemente oben im Anwendungsfenster anbietet. Dieser Artikel zeigt, wie Sie das Ribbon für diese Anwendung definieren und wie Sie die einzelnen Funktionen vom Ribbon aus aufrufen.

Weiterlesen