public void SetupExportDefinition()
 {
     _exportDefinition.AddField(person => person.HeightInCentimeters);
     _exportDefinition.AddField(person => person.BirthDate);
     _exportDefinition.AddField(person => person.Name);
 }
Beispiel #2
0
        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);
        }