Hallo Ihr lieben, Hallo @Nofear23m,
da es mir bisher nicht gelungen ist mein Notizbuch für die Arbeit fertigzustellen, was häufig daran lag, das ich so viele Baustellen zeitgleich in diesem Projekt habe, und ich auf Dauer immer den Durchblick verloren habe, wollte ich dieses Thema erneut aufrollen, zuerst einmal eine grobe Zusammenfassung dessen, was ich zu erreichen versuche, zusätzlich, will ich auch erläutern, warum ich manches so umsetzen will, aber evtl. fallen euch ja bessere Ansätze ein, da bin ich mittlerweile recht flexibel geworden
Hintergrund: Ich arbeite als technischer HelpDesk und supporte sowohl Kollegen als auch Kunden im Umgang mit unseren Simulatoren (Wir produzieren weltweit die Simulations/Übungs-Puppen, an welchen Ärtze, Schwestern, Pfleger und Ersthelfer(CPR) ausgebildet werden). Aufgrund der schieren Menge an verschiedenen Modellen, und damit verbundenen Problemen die auftreten können, benötige ich die Möglichkeit, in meinen Notizen zu suchen, um schnellstmöglich Hilfestellung geben zu können, da ich mir alle Kniffe einfach nicht merken kann, ebenfalls benötige ich Simple Informationen, wie Versandgewichte, oder Artikelnummern.
Eine der Hürden ist, das mir hier leider keine Datenbank oder dergleichen zur Verfügung steht, sondern lediglich ein Netzlaufwerk, ein langsames, per VPN mit gerade einmal 100Mbit angebundenes Netzlaufwerk, so das jedes gesparte Kb an Daten, einem direkten Performance-Schub gleichkommt.
Eine weiter Verkomplizierung ist, das mindestens 3 Leute zeitgleich, das Programm benutzen können sollen, in älteren Versuchen hab ich dies per pessimistic Lock erreicht, allerdings scheint mir das einfach nicht elegant genug, evtl. ist euch ja eine Art Datei bezogene Datenbank bekannt, die auch mit mehreren zeitgleich stattfindenden Zugriffen umzugehen weiß?
Ich habe das SampleProgramm direkt mit einem IDataService aufgesetzt, sodass ich die Heranschaffung oder Abspeicherung der Daten auch im Nachhinein noch problemlos anpassen kann.
Eine der Haupthürden, mit denen ich bislang einfach keinen Ansatz finde, ist, das Ich gerne x Kategorien benutzen möchte, also jede Kategorie soll unbegrenzt Unterkategorien haben können, z.B. ModellName > ProblemKategorie > Problem > Notiz, aber eben, nur wenn notwendig, ein einfaches ArtikelnummerSammlung > Notiz oder auch Notizen ohne Kategorie sollen ebenfalls möglich sein. Des Weiteren komme ich bisher nicht dahinter, wie ich den jeweiligen Notizen, noch Datei oder URL (wenn möglich ohne Unterscheidung also beides lediglich als "Anhang") Anhänge verpassen könnte, wichtig ist das diese Dateien, aus jeder ProgrammInstanz auf verschiedenen Rechnern heraus abgerufen werden können müssen, daher vermute ich das ich die jeweiligen Anhänge mit auf das Netzlaufwerk kopieren muss, das reine kopieren sollte hier kein Problem darstellen, evtl. als Byte>Base64.String oder dergleichen? Nicht falsch verstehen, wie das grundsätzlich ginge, ist mir bekannt und das sollte ich auch hinbekommen, aber evtl. gibt es ja hierfür eine Art "Patentlösung" die mir bislang nur nicht bekannt ist. Dieser Thread soll vor allem grundlegende Ideen schaffen, damit ich weiß wie ich mich am besten orientieren sollte.
Die View betreffend, wäre es mir am liebsten, wenn die einzelnen Notizen in einer "Art" TreeView angezeigt werden, die Kategorien sollen also nach Möglichkeit einklappbar sein, jedoch habe ich bisher bei etlichen Versuchen, nie wirklich mit dem TreeView arbeiten können, entweder konnte ich nie das ausgewählte Item abrufen, oder wenn ich per Suche, nach einer Notiz gesucht habe, wurden die entsprechenden Nodes nie aufgeklappt, weshalb ich es aktuell nach wie vor mit einer ListBox angehe, aber evtl. habt ihr auch hier ein paar Ideen, die WPF ist ja enorm anpassbar =)
Das anhängende SampleProjekt habe ich heute geschrieben, und ich habe nach bestem Wissen und Gewissen alles so weit eingebaut wie es mir derzeit am besten scheint, IDataService, erstmal Simple Notizen, lediglich mit Text und Name, und ich weiß dafür gibbets wahrscheinlich haue, aber ich habe es nicht im klassischen MVVM-Pattern erstellt, da sich mir bisher einfach nicht erschließt, wofür ich noch zugrundeliegende Models brauche, im Allgemeinen arbeite ich mit VM-V. Bisher verwende ich zum Abspeichern die Xml-Serializer Klasse von @Nofear23m allerdings ist diese Version um 2-Fache Komprimierung erweitert, da ich so zum einen deutlich kleinere Dateien habe, und die XML´s nicht im Klartext lesbar sind, was ich irgendwie als Vorteil empfinde. Im Sample hab ich selbst noch ein paar Problemchen entdeckt die mein Gehirn hoffentlich "nur" "noch" nicht zu lösen weiß, z. B., wie ich nach Verändern einer Notiz, direkt abspeichern kann, ich meine klar, wenn ich eine neue Notiz anlege, könnte ich ja einfach SaveNotes aufrufen, aber bei Veränderung fällt mir nichts ein, wo ich das einbauen sollte, etwa bei jedem PropertyChanged oder wie würde ich das am besten angehen?
So das war jetzt echt erstmal eine ganze Menge Text, danke das Ihr euch das angetan habt =)
Vielleicht schaffe ich es diesmal mit eurer Unterstützung zu einem Verwendbaren Programm zu kommen, vielen Lieben Dank im Voraus, gerne könnt ihr mir auch Kritik am SampleProjekt mitteilen, man lernt halt nie aus =)
da es mir bisher nicht gelungen ist mein Notizbuch für die Arbeit fertigzustellen, was häufig daran lag, das ich so viele Baustellen zeitgleich in diesem Projekt habe, und ich auf Dauer immer den Durchblick verloren habe, wollte ich dieses Thema erneut aufrollen, zuerst einmal eine grobe Zusammenfassung dessen, was ich zu erreichen versuche, zusätzlich, will ich auch erläutern, warum ich manches so umsetzen will, aber evtl. fallen euch ja bessere Ansätze ein, da bin ich mittlerweile recht flexibel geworden
Hintergrund: Ich arbeite als technischer HelpDesk und supporte sowohl Kollegen als auch Kunden im Umgang mit unseren Simulatoren (Wir produzieren weltweit die Simulations/Übungs-Puppen, an welchen Ärtze, Schwestern, Pfleger und Ersthelfer(CPR) ausgebildet werden). Aufgrund der schieren Menge an verschiedenen Modellen, und damit verbundenen Problemen die auftreten können, benötige ich die Möglichkeit, in meinen Notizen zu suchen, um schnellstmöglich Hilfestellung geben zu können, da ich mir alle Kniffe einfach nicht merken kann, ebenfalls benötige ich Simple Informationen, wie Versandgewichte, oder Artikelnummern.
Eine der Hürden ist, das mir hier leider keine Datenbank oder dergleichen zur Verfügung steht, sondern lediglich ein Netzlaufwerk, ein langsames, per VPN mit gerade einmal 100Mbit angebundenes Netzlaufwerk, so das jedes gesparte Kb an Daten, einem direkten Performance-Schub gleichkommt.
Eine weiter Verkomplizierung ist, das mindestens 3 Leute zeitgleich, das Programm benutzen können sollen, in älteren Versuchen hab ich dies per pessimistic Lock erreicht, allerdings scheint mir das einfach nicht elegant genug, evtl. ist euch ja eine Art Datei bezogene Datenbank bekannt, die auch mit mehreren zeitgleich stattfindenden Zugriffen umzugehen weiß?
Ich habe das SampleProgramm direkt mit einem IDataService aufgesetzt, sodass ich die Heranschaffung oder Abspeicherung der Daten auch im Nachhinein noch problemlos anpassen kann.
Eine der Haupthürden, mit denen ich bislang einfach keinen Ansatz finde, ist, das Ich gerne x Kategorien benutzen möchte, also jede Kategorie soll unbegrenzt Unterkategorien haben können, z.B. ModellName > ProblemKategorie > Problem > Notiz, aber eben, nur wenn notwendig, ein einfaches ArtikelnummerSammlung > Notiz oder auch Notizen ohne Kategorie sollen ebenfalls möglich sein. Des Weiteren komme ich bisher nicht dahinter, wie ich den jeweiligen Notizen, noch Datei oder URL (wenn möglich ohne Unterscheidung also beides lediglich als "Anhang") Anhänge verpassen könnte, wichtig ist das diese Dateien, aus jeder ProgrammInstanz auf verschiedenen Rechnern heraus abgerufen werden können müssen, daher vermute ich das ich die jeweiligen Anhänge mit auf das Netzlaufwerk kopieren muss, das reine kopieren sollte hier kein Problem darstellen, evtl. als Byte>Base64.String oder dergleichen? Nicht falsch verstehen, wie das grundsätzlich ginge, ist mir bekannt und das sollte ich auch hinbekommen, aber evtl. gibt es ja hierfür eine Art "Patentlösung" die mir bislang nur nicht bekannt ist. Dieser Thread soll vor allem grundlegende Ideen schaffen, damit ich weiß wie ich mich am besten orientieren sollte.
Die View betreffend, wäre es mir am liebsten, wenn die einzelnen Notizen in einer "Art" TreeView angezeigt werden, die Kategorien sollen also nach Möglichkeit einklappbar sein, jedoch habe ich bisher bei etlichen Versuchen, nie wirklich mit dem TreeView arbeiten können, entweder konnte ich nie das ausgewählte Item abrufen, oder wenn ich per Suche, nach einer Notiz gesucht habe, wurden die entsprechenden Nodes nie aufgeklappt, weshalb ich es aktuell nach wie vor mit einer ListBox angehe, aber evtl. habt ihr auch hier ein paar Ideen, die WPF ist ja enorm anpassbar =)
Das anhängende SampleProjekt habe ich heute geschrieben, und ich habe nach bestem Wissen und Gewissen alles so weit eingebaut wie es mir derzeit am besten scheint, IDataService, erstmal Simple Notizen, lediglich mit Text und Name, und ich weiß dafür gibbets wahrscheinlich haue, aber ich habe es nicht im klassischen MVVM-Pattern erstellt, da sich mir bisher einfach nicht erschließt, wofür ich noch zugrundeliegende Models brauche, im Allgemeinen arbeite ich mit VM-V. Bisher verwende ich zum Abspeichern die Xml-Serializer Klasse von @Nofear23m allerdings ist diese Version um 2-Fache Komprimierung erweitert, da ich so zum einen deutlich kleinere Dateien habe, und die XML´s nicht im Klartext lesbar sind, was ich irgendwie als Vorteil empfinde. Im Sample hab ich selbst noch ein paar Problemchen entdeckt die mein Gehirn hoffentlich "nur" "noch" nicht zu lösen weiß, z. B., wie ich nach Verändern einer Notiz, direkt abspeichern kann, ich meine klar, wenn ich eine neue Notiz anlege, könnte ich ja einfach SaveNotes aufrufen, aber bei Veränderung fällt mir nichts ein, wo ich das einbauen sollte, etwa bei jedem PropertyChanged oder wie würde ich das am besten angehen?
So das war jetzt echt erstmal eine ganze Menge Text, danke das Ihr euch das angetan habt =)
Vielleicht schaffe ich es diesmal mit eurer Unterstützung zu einem Verwendbaren Programm zu kommen, vielen Lieben Dank im Voraus, gerne könnt ihr mir auch Kritik am SampleProjekt mitteilen, man lernt halt nie aus =)
If Energy = Low Then
Drink(aHugeCoffee)
Else
Drink(aHugeCoffeeToo)
End If
Drink(aHugeCoffee)
Else
Drink(aHugeCoffeeToo)
End If