Template parsen in C#

image_pdfimage_print

Ok habe ich mir gedacht. Es wird ja wohl nicht so schwer sein folgenden Code zu parsen und die Templates entsprechend zu ersetzen:

vue.js oder mustache verwendet eine ähnliche Syntax.

Ich könnte an dieser Stelle mustache für C# verwenden und er würde mir das Template ersetzen, allerdings benötige ich nicht nur das Ergebnis als String sondern ich möchte bei jedenm Iterationsaufruf eingreifen können.

Bisher habe ich mir folgende Tools angeschaut:

Leider ist Sprache sehr schlecht  dokumentiert und es fehlen Beispiele wie man das umsetzen könnte. Dennoch würde ich es gerne bevorzugen.

0  

NuGet – nupkg Datei automatisch in Zielordner kopieren

image_pdfimage_print

Einfach in der Projektdatei folgendes hinzufügen

 

0  

Vue – Konstanten definieren

image_pdfimage_print

Konstanten kann man in Vue einfach im Created Hook definieren.

Generell sollte man sich das Arbeiten mit Konstanten angewöhnen.

if(UserTypeId == 7) {…} stellt den Entwickler vor die Frage, was an diesen UserType nun so besonders ist.

Besser: if(UserTypeId == USERTYPE_GUEST) . So weiß jeder, die folgende Logik betrifft den Gastbenutzer

 

0  

Vue – Directive

image_pdfimage_print

Mal angenommen man möchte alle Felder auf einer Seite deaktivieren. Man könnte input für input durchgehen und mit :disabled=”isEditable” das Feld deaktivieren.
Oder man schreibt eine Custom Directive, die diese Logik abbildet: https://vuejs.org/v2/guide/custom-directive.html

Möchte man das global haben:

Oder per Instanz:

Eingebunden wird das nun mit.

oder

oder ohne Bedingung

 

0  

Cmd Pfad autocomplete funktioniert nicht

image_pdfimage_print

Cmd öffnen

Befehle eingeben
Cmd neustarten und mit cd Tab den Pfad autocompleten lassen 🙂

0  

Applikationsdesign: Datensätze abarbeiten nach Punktesystem

image_pdfimage_print

Mir kam mal folgende Problemstellung in die Gedanken:

Mal angenommen ich muss unterschiedliche Aufgaben abarbeiten. Diese befinden sich in einer Warteschleife. So dass sie nacheinander oder auch asynchron parallel abgearbeitet werden sollen.

Jede Aufgabe besitzt eine Priorität. Sagen wie 1 (unwichtig) – 10 (sehr wichtig). In die Warteschleife kommen immer wieder Aufgaben nach. Das Problem ist, es werden die sehr wichtigen immer zuerst abgearbeitet. Die weniger wichtigen kommen daher nie dran und werden nie verarbeitet. Die Lösung ist ein Punktesystem mit Zeitangabe. Die Priorität ist dient dann als Faktor und wird mit der Anzahl Minuten multipliziert. Das ergibt die Summe der Punkte pro Datensatz

Beispiel: Es ist Momentan 12:00 Uhr Mittags.

  1. Datensatz 1: Prio 4, Hinzugefügt um: 11 Uhr, Punkte: 4 * 60 = 240
  2. Datensatz 2: Prio 9, Hinzugefügt um: 8 Uhr, Punkte: 9 * 240 = 2160
  3. Datensatz 3: Prio 2, Hinzugefügt um: 4 Uhr, Punkte: 2 * 480 = 960

Sortiert man diese Liste nun nach Punkten ergibt sich eine neue Reihenfolge

  1. Datensatz 2: Prio 9, Hinzugefügt um: 8 Uhr, Punkte: 9 * 240 = 2160
  2. Datensatz 3: Prio 2, Hinzugefügt um: 4 Uhr, Punkte: 2 * 480 = 960
  3. Datensatz 1: Prio 4, Hinzugefügt um: 11 Uhr, Punkte: 4 * 60 = 240

So hat jeder Datensatz eine Chance drangenommen zu werden. Je länger er in der Warteschleife verweilt, desto höher wird sein Punktesatz.

0  

system-versioned temporal tables oder automatische Historie auf Tabellenbasis

image_pdfimage_print

funktioniert ab SQL Server 2016

 

 

0  

NLog Config – mit ILogger

image_pdfimage_print

appsettings.json

 

Program.cs

 

NuGet Pakete:

  • NLog
  • NLog.Config
  • NLog.Extensions.Logging
  • NLog.AspNetCore

In der Config XXX ersetzen.

 

Datenbank Tabelle:

 

0  

Hilfsklassen für komplette Perioden

image_pdfimage_print

 

0  

SQL Column löschen inkl. aller Constraints

image_pdfimage_print

 

0