Created
August 2, 2012 13:43
-
-
Save janderit/3237207 to your computer and use it in GitHub Desktop.
Reporting/Data/Kontext
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public interface IProvideData | |
{ | |
bool Provides(string key); | |
string Key { get; } | |
string Description { get; } | |
string Target { get; } | |
DatenTabelle DesignData(); | |
DatenTabelle DemoData(); | |
DatenTabelle Transform(IEnumerable<DruckKontext> kontext); | |
} | |
public interface IProvideKontext | |
{ | |
KontextTyp Typ { get; } | |
IEnumerable<DruckKontext> Access(IEnumerable<IProvideKontext> kontext); | |
} | |
/*CG*/ public partial class DruckKontext | |
/*CG*/ { | |
/*CG*/ | |
/*CG*/ public virtual KontextTyp Typ { get; set; } | |
/*CG*/ public virtual Guid Id { get; set; } | |
/*CG*/ } | |
public class DatenTabelle | |
{ | |
public List<List<string>> Werte {get;} | |
public string Herkunft { get; set; } | |
public string Ziel { get; set; } | |
public List<Datenspalte> Spalten {get;} | |
public IEnumerable<Serienbriefzeile> Zeilen {get;} | |
public DatenTabelle DesignData() {get;} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
"Kontext" sind i.W. durch ein enum typisierte Guids, die von generischen Dataprovidern genutzt werden, um Daten aus Readmodels bereitzustellen.
So kann für einen Report ein kontextfreier Dataprovider z.B. Daten eines Mitarbeiters bereitstellen,
oder ein Generischer MitarbeiterDataprovider registriert sein, der, falls der Kontext die Id eines Mitarbeiters enthält, entsprechende Daten aus einem Readmodel bereitstellt, und ansonsten inaktiv ist