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

Seminarverwaltung I: Entity Data Model

Es wird Zeit, die gelernten Techniken mal wieder an einer praktischen Lösung auszuprobieren. In diesem Fall soll es eine Anwendung werden, die ich selbst einsetzen will, da ich seit ein paar Wochen auch Webinare zu verschiedenen Themen anbiete. Die Herausforderung ist, die Kunden, die über einen Onlineshop bestellt haben, in die Anwendung einzulesen und diese den entsprechenden Seminaren beziehungsweise Webinaren zuzuordnen. Zu gegebener Zeit sollen die Teilnehmer eine Mail mit dem Link zur Teamssitzung erhalten und anschließend noch einen Link mit dem Download der Aufzeichnung des Seminars. Schließlich sollen auch noch Zertifikate über die Teilnahme erstellt und versendet werden. Wie dies alles gelingt, zeigt der vorliegende Artikel.

Weiterlesen

Optionsgruppe an Boolean binden

Im Artikel “Optionsgruppen mit GroupBox und RadioButtons” haben Sie erfahren, wie Sie Optionsgruppen mit dem GroupBox-Steuerelement und RadioButton-Steuerelementen nachbilden. In diesem Artikel haben wir uns noch nicht darum gekümmert, diesen Optionsgruppen-Nachbau an Daten zu binden – sprich beispielsweise an eine Eigenschaft im Code behind-Modul des Fensters mit der Optionsgruppe. Da dies nicht so trivial ist wie das Binden von Steuerelementen wie TextBox oder anderen, widmen wir diesem Thema einen eigenen Artikel.

Weiterlesen

Typumwandlung unter VB.NET

Unter VB.NET gibt es verschiedene Möglichkeiten, den Typ von Variablen umzuwandeln. Dieser Artikel erläutert den Unterschied zwischen impliziter und expliziter Typumwandlung, die Bedeutung von Option Strict, die verschiedenen Typumwandlungsfunktionen wie CBool und die Methoden der Convert-Klasse. Außerdem gibt es noch flexible Umwandlungsfunktionen wie CType, DirectCast oder TryCast – auch diese schauen wir uns genauer an.

Weiterlesen