Instantly share code, notes, and snippets.

Embed
What would you like to do?
Reporting/Data/Kontext
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;}
}
@janderit

This comment has been minimized.

Owner

janderit commented Aug 2, 2012

"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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment