/// <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"); }
/// <summary> /// Export der aller Buchungen, für die damalige RBA Zeiterfassung /// </summary> /// <param name="objectSpace"></param> /// <param name="folderToSave" /> /// <param name="bookings"></param> public static void Export(IObjectSpace objectSpace, string folderToSave, IList <IBooking> bookings) { _objectSpace = objectSpace; var csvExport = new CsvExport("|"); var counter = 1; var exportBookings = from b in bookings orderby b.Date ascending select b; foreach (var booking in exportBookings) { AddRow(csvExport, booking, counter); counter++; } csvExport.ExportToFile($@"{folderToSave}\book_csv_{Guid.NewGuid()}.csv"); }