/// <summary> /// Erzeugt Liste von Buchungen mmit Start und Endzeit, pro Tag nur eine Buchung /// </summary> /// <param name="objectSpace"></param> /// <param name="folderToSave"></param> /// <param name="bookings"></param> public static void ExportJdcBookings(IObjectSpace objectSpace, string folderToSave, IList <IBooking> bookings) { _objectSpace = objectSpace; var csvExport = new CsvExport(";"); var groupedBookingList = from booking in bookings group booking by booking.Date into newBooking orderby newBooking.Key ascending select newBooking; var employee = bookings.FirstOrDefault()?.Employee; foreach (var item in groupedBookingList) { var jdcBooking = new JdcBooking { Date = item.Key, EmployeeName = $"{employee.Name.Split(' ').First()} {employee.Name.Split(' ').Last()}", StartTime = item.OrderBy(i => i.StartTime).FirstOrDefault().StartTime, EndTime = item.OrderBy(i => i.StartTime).LastOrDefault().EndTime }; AddJdcBookingRow(csvExport, jdcBooking); } csvExport.ExportToFile($@"{folderToSave}\{employee.Name.Split(' ').First()} {employee.Name.Split(' ').Last()}.csv"); }
private static void AddJdcBookingRow(CsvExport csvExport, JdcBooking booking) { csvExport.AddRow(); csvExport["Datum"] = $"{booking.Date.ToShortDateString()}"; csvExport["Name"] = $"{booking.EmployeeName}"; csvExport["Kommt"] = $"{booking.StartTime}"; csvExport["Geht"] = $"{booking.EndTime}"; }