From 46737aa95888231d2e99d75ba9f6dc18fcd342bc Mon Sep 17 00:00:00 2001 From: Kojo Date: Mon, 23 Oct 2023 16:12:22 +0200 Subject: [PATCH] =?UTF-8?q?EmployeeListReport=20=C3=BCberarbeitet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Report/DefaultReportCreator.cs | 46 +++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/Report/DefaultReportCreator.cs b/Report/DefaultReportCreator.cs index 4b8bda47e..25c8cf4cf 100644 --- a/Report/DefaultReportCreator.cs +++ b/Report/DefaultReportCreator.cs @@ -1423,11 +1423,49 @@ namespace BeWo.Report public override XtraReport CreateEmployeeListReport(List oids) { - var ro = EmployeeListRO.Create(oids); - IBeWoReport report = FindReportImp(); - report.SetReportDataSource(ro); + var queryReport = FindReportImp(null, "Mitarbeiter"); + var employees = DAOFactory.GenericDAO.LoadByIDs(oids); - return report as XtraReport; + DataTable table = new DataTable(); + string[] spalten = new string[] { "Name", "Personalnummer", "Kürzel", "Anschrift", "Handy", "Telefon", "Mail" }; + for (int i = 0; i < spalten.Length; i++) + table.Columns.Add(spalten[i], typeof(string)); + + for (int i = 0; i < employees.Count; i++) + { + DataRow row = table.NewRow(); + Employee employee = employees[i]; + row[1] = employee.PersonnelNumber; + + Person person = employee.Person; + if (person != null) + { + row[0] = person.LastNameFirstName; + row[2] = person.Abbreviation; + + var address = person.Address; + if (address != null) + { + row[3] = address.Street + ", " + address.PostalCode + " " + address.Town; + } + + var contacts = person.Contacts; + if (contacts != null) + { + row[4] = contacts.FirstOrDefault(c => c.Type == BS.Shared.ContactType.business_MobilePhone)?.Value; + row[5] = contacts.FirstOrDefault(c => c.Type == BS.Shared.ContactType.business_Phone)?.Value; + row[6] = contacts.FirstOrDefault(c => c.Type == BS.Shared.ContactType.business_Mail)?.Value; + } + } + + table.Rows.Add(row); + } + + var queryReportObject = QueryRO.Create(new Query() { Title = "Mitarbeiter" }, table); + queryReportObject.Name = "Mitarbeiter"; + queryReport.SetReportDataSource(queryReportObject); + + return queryReport as XtraReport; } public override XtraReport CreateTeamListReport(List oids)