public void SetupExportDefinition() { _exportDefinition.AddField(person => person.HeightInCentimeters); _exportDefinition.AddField(person => person.BirthDate); _exportDefinition.AddField(person => person.Name); }
private ExportDefinition <Sender> CreateExportDefinition(FromToQuery query) { var export = new ExportDefinition <Sender>(); var sendings = db.Sendings.Include(s => s.Isolate).Where (s => (s.SamplingDate == null && s.ReceivingDate >= query.From && s.ReceivingDate <= query.To) || (s.SamplingDate >= query.From && s.SamplingDate <= query.To)).ToList(); Func <Sender, long> senderSendingCount = sender => sendings.Count(s => sender.SenderId == s.SenderId); Func <Sender, String> senderLaboratoryNumbers = sender => String.Join(",", sendings.Where(s => sender.SenderId == s.SenderId).Select(s => s.Isolate.LaboratoryNumber)); Func <Sender, String> senderStemNumbers = sender => String.Join(",", sendings.Where(s => sender.SenderId == s.SenderId).Select(s => s.Isolate.StemNumber.HasValue ? s.Isolate.StemNumber.ToString() : "-")); export.AddField(s => s.SenderId); export.AddField(s => s.Name); export.AddField(s => s.Department); export.AddField(s => s.StreetWithNumber); export.AddField(s => s.PostalCode); export.AddField(s => s.City); export.AddField(s => s.Phone1); export.AddField(s => s.Phone2); export.AddField(s => s.Fax); export.AddField(s => s.Email); export.AddField(s => s.Remark); export.AddField(s => senderSendingCount(s), "Anzahl Einsendungen"); export.AddField(s => senderStemNumbers(s), "Stammnummern"); export.AddField(s => senderLaboratoryNumbers(s), "Labornummern"); return(export); }