Suchergebnisse

Suchergebnisse 1-30 von insgesamt 44.

  • Benutzer-Avatarbild

    Hallo Leute Der User @MichaHo hat den wunsch geäußert mit MVVM anzufangen, was ich unterstützen möchte. Meine Tutorialreihe ist allerdings noch nicht so weit und das wird auch noch eine Weile dauern. Jetzt gab es zwei möglichkeiten, ich greife ihm ausserhalb dieses Forums unter die Arme oder innerhalb des Forums. Da ich helfen möchte den WPF Bereich des Forums zu beleben war meine entscheidung klar was ich mache. Deshalb erstelle ich nun diesen Thread. Dieser soll NICHT dazu dienen über MVVM zu …

  • Benutzer-Avatarbild

    Erste vorläufige Projektstruktur erstellt Soeben habe ich auf Git Syncronisiert und die Projektstruktur erstellt. Diese ist vorläufig und zeigt mal wie eine Solution in VisualStudio für MVVM aufgebaut wird. Wichtig hier das die Projektmappen getrennt sind. Ein Diagram zeigt auch welches Projekt einen Verweis auf welches hat. So sieht man z.b. schöne das die Views das Model nicht kennen und das Model aber auf nicht die View. Das ViewModel weis auch nichts vom View aber umgekehrt. Anbei auch ein S…

  • Benutzer-Avatarbild

    Sooo liebe Leute, wieder ein Commit Ich habe mal mit den ersten Modelklassen begonnen. Anbei auch ein Diagram das man es versteht. Es gibt 3 Interfaces. ILogcalDelete, ILogicalTimestamp und IProtocolable Hintergrund hierbei ist das bei alle Klassen welche Beispielsweise ILogicalDelete implementieren die Logik für Loschmarkierungen automatisch übernommen wird. Da bei Datenbanksystemen (meiner Meinung nach) so gut wie nie gelöscht werden soll (ausser durch z.b. einen Admin direkt am SQL Server), s…

  • Benutzer-Avatarbild

    Zitat von MichaHo: „1. Was genau tut die Klasse ConcurrencyModelBase ?“ Reicht dir das in Post #5 nicht? Zitat von MichaHo: „2. Warum ist ArticleAttribute und Attribute 2 Klassen? Hätte doch auch 1 gereicht, oder?“ Wie man ganz gut am Diagram sehen kann ein Artikel X Attribute vom Typ ArticleAttribute haben. Ein ArticleAttribute kat wiederum ein Attribute Property vom Typ Attribute und ein Value Property vom Typ String. Weil.... Es kann ja mehrere Attributtypen geben. Gewicht, Farbe, Länge, Höhe…

  • Benutzer-Avatarbild

    Hallo Zitat von MichaHo: „ich meine die Models würden von ModelBase erben und nicht von Concurrency“ Schau dir mal das Diagram nochmal an, da sieht man es ja gut. Die Modelklasse erben schon von ModelBase. Aber Artikel erbt von ConcurrencyBase. Und ConcurrencyBase erbt von ModelBase. Also hat Artikel alles was ModelBase hat UND die eine Eigenschaft aus ConcurrencyBase noch dazu damit sichergestellt ist das wir bei Article auch brav eine Konflikterkennung haben da dies eine wichtige Tabelle ist. …

  • Benutzer-Avatarbild

    Gut, dann belassen wir es einfach bei Lager ohne Sublagern und Lageplätzen. Also gibt es für einen Artikel einfach Lager = Lager 1 und Lagerplatz = "xyz" hier kann dann z.b. auch C12-13-10 für spezial-Lagerflächen drinnen stehen, halten wir es einfach. Aber, die nächste Frage an die Community damit Ihr was zu nachdenken habt: Erstellen die Struktur um z.b. das Mindesthaltbarkeitsdatum für Artikel erfassen zu können. Beispiel: Wir haben 12 Packungen Reis. 3 davon laufen in drei Wochen ab, 9 Packu…

  • Benutzer-Avatarbild

    Zitat von ErfinderDesRades: „ch - noch nebenbei Frage: Ich lese im Diagram: "Attributes als ICollection(Of ...)" - ist das wirklich so, dass dort auch VB-Schlüsselworte auf deutsch übersetzt sind?“ Ja, in der Deutschen Version schon. Ich weis nicht genau aber ich erinnere mich dunkel zu glauben das man das auch abschalten kann. Stört mich aber nicht. Grüße Sascha

  • Benutzer-Avatarbild

    Sehe ich genauso. Gerade für die V1 (evtl. kann es sich dann später jeder selbst erweitern oder wir gemeinsam) sollte man alles so einfach wie möglich halten. Klar, was nötig ist muss rein, alles was nicht unbedingt nötig ist bleibt erstmal weg. Beibt nur noch die von mir gestelte Frage: Zitat: „Erstellen die Struktur um z.b. das Mindesthaltbarkeitsdatum für Artikel erfassen zu können. Beispiel: Wir haben 12 Packungen Reis. 3 davon laufen in drei Wochen ab, 9 Packungen aber erst in 4 Monaten. Wi…

  • Benutzer-Avatarbild

    Hallo Welches VS hast du denn? Das Model und das ViewModel sind .Net Standard Bibliotheken damit falls es mal notwendig wird, diese weiterverwendet werden können. .NET Standard 2.0 ist also voraussetzung. Grüße Sascha

  • Benutzer-Avatarbild

    Hallo @Amro Starte Visual Studio Installer. Dort gehst du auf "Einzelne Komponenten". Stelle sicher das mindestens .Net Framework 4.6.1 installiert ist. Dort ist .NET Standard enthalten. Anbei ein Screenshot. Grüße Sascha

  • Benutzer-Avatarbild

    So Leute. Habe heute ein wenig mehr ins Model gepackt so das wir denke ich mit den nächsten Schritten weitermachen können damit wir voran kommen. Ich habe nun die Lager und Lagerort optimiert durch einfügen einer Zwischentabelle. Wenn ich mich nicht irre sollte dies nun bereits die 2. Normalform darstellen. Bez. Haltbarkeitsdatum - Da hat sich von eurer Seite nicht viel getan in Punkto Ideen - OK, war gemein. Da gibt es keine einfache Lösung. Da ich letztes Jahr bereits länge an einem solchen pr…

  • Benutzer-Avatarbild

    Hallo @MichaHo, ich bin jetzt mit Git auch nicht so Fit das ich das auswendig weis. Ich denke du musst einen Clean durchführen und dann Syncen. Oder derweil - neu Forken. Grüße Sascha

  • Benutzer-Avatarbild

    OK, gehen wir es langsam an. Welche VS Version hast du genau? Dann Poste bitte ein Bild von den Installierten .Net komponenten wie ich es getan habe. Ich musste NIE etwas von ausserhalb installieren um .NET Stadnard unterstützung zu erhalten. Alles rein mit VS und deren installer. Edit: @MichaHo - Was hast du genau für fragen. Ich mache es bei diesem Projekt jetzt nicht so das ich jeden kleinen Schritt beschreibe, da werde ich nicht fertig. Stellt eure Frage was euch nicht klar ist und ich beant…

  • Benutzer-Avatarbild

    Wenn ihr probleme habt mit den .NET Standard kann ich die Projekte gerne auf das Full .NET 4.6 umstellen, man kann das ViewModel und das Model dann eben nicht für Mobile Anwendungen wiederverwenden, wenn euch das nicht stört können wir das machen. Ihr entscheidet. Ich stelle gerne um! Für das lernen von MVVM ist es unerheblich!! Grüße Sascha

  • Benutzer-Avatarbild

    OK, das ist gut. Möchte aber dennoch hinzufügen das ich es selbst nicht noch(!!) nicht probiert habe ein ViewModel in .NET Standard zu erstellen. Hatte es mal in solch einer Strutktur, es aber dann wieder abgeändert weil.... Da EF Core oder besser .Net Core hier einiges noch nicht implementiert hatte ich probleme mit einige Abfragen wo der SQL nicht korrekt von LINQ übersetzt wurde. Ich hatte damals auch ein Issue bei GitHub im EF Core Projekt eröffnet. Dieses wurde auch gefixt habe es dann alle…

  • Benutzer-Avatarbild

    Hallo Leute. Gerade habe ich wieder eingecheckt. Ich habe ein neues Projekt der Projektmappe hinzugefügt welches für unseren EntityFramework DBcontext ist. Nicht wundern das dieses Projekt in C# ist. C# deshalb weil EF Core noch(!!) keine Migration für VB.Net unterstützt. Bedeutet das die generierung der Migrationsklassen für VB noch nicht implementiert wurde. Ich habe die Nuget-Pakete für EF Core SQLServer und InMemory hinzugefügt. Den InMemory Provider benötigen wir dann für die UnitTests. Ega…

  • Benutzer-Avatarbild

    OK, also hast es nun hinbekommen?! Bis hier her Fragen??? Bez. Settings im Model oder bez. des Contexts und deren Hilfsmethoden? Denn heute abend mach ich wieder weiter. Grüße Sascha

  • Benutzer-Avatarbild

    Hallo Zitat von MichaHo: „Fragen, Ähh, ja... Settings... wofür genau benötigen wir die? oder, was speichern wir dort ab? Es gibt ja mehrere SettingCategorys, die teilweise auf die einzelnen Projekte zielen, richtig? (SettCatUi, SettCatLogic).“ Was speichern wir in die Settings. Naja, alles mögliche was man so benötigt. Beispielsweise Einstellungen die den User trifft, Fensterpositionen, evtl. eingestellte Farben usw. Ja, ich habe diverse Kategorien vordefiniert. Diese haben jetzt erstmal nix mit…

  • Benutzer-Avatarbild

    Es ist kein problem wenn du später erst fragen stellst. Im Moment ist es noch nicht viel. Ich sage mal. mit 20-30 Minuten bist du SICHER mit dem aktuellen code durch, so das du dir ein paar Fragen zusammengetragen hast. Ich mache immer nur Stückchen für Stückchen weiter, so das es nicht zu viel auf einmal wird. So kann man von Commit zu Commit immer schön sehen was sich getan hat und welcher Code hinzugekommen ist. Zu viel innerhalb eines Comit ist nicht gut, dan kann niemand mehr folgen. Grüße …

  • Benutzer-Avatarbild

    Hallo Leute Am Weekend hatte ich leider wenig Zeit. Heute werde ich allerdings wieder etwas machen. Nicht zu viel damit jeder folgen kann aber denn Zitat von Akanel: „Aber heute Abend nehme ich es mir Mal fest vor und schaue mir das Projekt an. Sonst komme ich im halben Jahr erst mir meinen Fragen.“ Falls du bereits dazu gekommen bist kannst du gerne noch Fragen einwerfen. Gerade der Code am Anfang des Projekts ist enorm wichtig diesen zu verstehen da alles weitere auf diesem Aufbaut. Grüße Sasc…

  • Benutzer-Avatarbild

    Hallo Leute Wie versprochen habe ich heute wieder was getan. Es wurde noch ein Projekt der Projektmappe hinzugefügt. HomeStorage.DAL (DAL = DataAccessLayer) Und noch eines mit dem Namen HomeStorage.BL (BL = Businesslogik) Dieser DAL Zwischenlayer wird dafür zuständig sein die Daten über EntityFramework Core abzurufen oder wieder darüber zu persistieren. Jetzt fragt Ihr euch sicher "Wozu in einem extra Layer"? Warum kann ich das nicht direkt im ViewModel machen? Berechtigte Frage und man kann es …

  • Benutzer-Avatarbild

    Zitat von ErfinderDesRades: „Eine Basisklasse kann doch von sich aus Basis-Funktionalität bereitstellen - da braucht sie doch nicht auch noch ein Interface erfinden und implementieren?“ Wie bereits geschrieben soll für jeden einzelnen Layer auch möglich sein UnitTests zu schreiben. OK, EF Core kann man durch die Einführung eines InMemoryProviders zwar auch schön ohne ein Interface Testbar machen aber hier geht es ja nicht nur um EF Core, sollte sich die Art und weise WIE ich Daten abrufe ändern …

  • Benutzer-Avatarbild

    Zitat von ErfinderDesRades: „naja - sieht mir aus, als wollest du für jede Entität ein eigenes Repository basteln.“ Richtig, es wird dann für so gut wie jede Entität eine Klasse geben welche von GenericRepository erbt. VB.NET-Quellcode (18 Zeilen) Zitat von ErfinderDesRades: „in meim Verständnis wäre ein Repository aber eine größere Einheit, die mehrere miteinander zusammenhängende Entitäten abdecken würde. Ausserdem enthält die gezeigte Methode so wenig Logik, dassich drüber nachdenkte, obs nic…

  • Benutzer-Avatarbild

    Zitat von MichaHo: „Es könnte ja sein das künftig noch weitere Contexte hinzukommen, smit kann man jedesm Context da rein schmeißen und in den dann richtigen typ casten... oder so... kanns nicht genau erklären...“ Nicht ganz, ne. In diesem Fall könnte der Typ auch DBContext sein den davon erbt unser Context. Jemand noch eine Idee. Ein kleiner Tipp. Seht euch an was ich ErfinderDesRades geschrieben habe. VB.NET-Quellcode (18 Zeilen) Der Grund ist nämlich der selbe wie der warum hier der Konstrukt…

  • Benutzer-Avatarbild

    Hallo @Akanel Das kann ich verstehen. Wenn man mit Interfaces und BAsisklassen noch nicht viel zu tun hatte bringt das auch nichts. Hier Hilft nur: Buch in die Hand und von vorne bis ende lernen. Irgendwas "aufschnappen" bringt nix. Das ist auch das was ich meinte im ersten Kapitel meines MVVM Tutorials. Man muss die Grundlgen der OOP können. Ohne dem wird das nichts, schon gar nicht mit der WPF unter der Verwendung eines Pattern. Da muss sowas sitzen. Du kannst ja wenn du möchtest weiterhin "zu…

  • Benutzer-Avatarbild

    Hallo @ThuCommix Der Einwand ist berechtigt und dein Ansatz gut. (Muss ich mal probieren) Im Moment sind unsere Repositoryklassen auch noch leer, ich möchte aber die möglichkeit haben für "Spezielle" Abfragen eine eigene Methode im jeweiligen Repository zu erstellen. Die Basisklasse gibt uns einiges an möglichkeit, aber leider nicht alles. Es gibt viele Dinge welche man nicht so einfach generisch machen kann. Ich habe zumindest noch keinen Weg gefunden. Ein Beispiel hierfür ist EF.function.Like …

  • Benutzer-Avatarbild

    Sorry @ThuCommix und Sorry an alle anderen. Ich hatt die Tage/Wochen jetzt viele private probleme und konnte einfach nicht Online gehen (Trennung, Umzug usw.) @ThuCommix, ich werde mir das mal Übersetzen und ansehen, sieht aber soweit gut aus. Mal sehen. Ich werde auf jeden Fall Berichten!! Danke dir erstmal. Grüße Sascha

  • Benutzer-Avatarbild

    Danke für die netten Worte. JA, langsam wirds eh wieder, nur die harten kommen durch. Spätestens ende nächster Woche geht es hier wieder weiter. Sind im übrigen in der zwischenzeit Fragen aufgetaucht welche wir vieleicht noch durchgehen sollten?? Grüße Sascha

  • Benutzer-Avatarbild

    Hallo @ThuCommix Zitat von ThuCommix: „Somit bleiben alle Ef Verweise im DAL Layer und falls du das Framework ändern willst musst du nur die Extension und die Repository Klasse anpassen. Durch das exposen das IQueryable im Repository hast du alle Möglichkeiten“ Soweit habe ich mir das jetzt angesehen und auch verstanden. Ist ja nicht um so viel anders als meine Basisklasse. Die QueryableExtensions sind cool, nur.... Oft kommt es vor das man kompliziertere Abfragen hat wo man mehrere Includes und…

  • Benutzer-Avatarbild

    Habe mal wieder Commited. Die Repository Klasse wurde nach den erkenntnissen von @ThuCommix abgeändert und ist nur auch direkt instanzierbar. RelayCommand und ViewModelBase Klasse hinzugefügt. Die RelayCommand unterscheidet sich allerdings von einer RelayCommand Klasse wie man sie normalerweise in WPF Anwendungen verwendet. Hintergrund: Da wir hier unter .Net Standard Arbeiten gibt es keinen CommandManager wie im .Net Framework wodurch uns ein paar Funktionalitäten fehlen. Eine davon ist das man…