コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="csvExport"></param>
        /// <param name="booking"></param>
        /// <param name="counter" ></param>
        private static void AddRow(CsvExport csvExport, IBooking booking, int counter)
        {
            var timeDiff = booking.EndTime.Subtract(booking.StartTime);

            csvExport.AddRow();
            csvExport["UN_ID"]     = $"{counter}";
            csvExport["COMP_ID"]   = booking.Customer.ShortName;
            csvExport["USER_ID"]   = booking.Employee.User.UserName;
            csvExport["DESC"]      = booking.Task.Name;
            csvExport["DESC_MEMO"] = booking.TaskDescription;
            csvExport["NDESC"]     = booking.Task.Number.ToString();
            csvExport["DAT"]       = booking.Date.ToShortDateString();
            csvExport["NR_WEEK"]   = string.Format("{0}", booking.Date.CalendarWeek());
            csvExport["T_START"]   = booking.StartTime.ToString();
            csvExport["T_END"]     = booking.EndTime.ToString();
            csvExport["T_S_FACT"]  = "";
            csvExport["T_E_FACT"]  = "";
            csvExport["CUSTOMER"]  = string.Format("{0} {1}", booking.Customer.Number, booking.Customer.Name);
            csvExport["TIME_DIFF"] = string.Format("{0:D2}:{1:D2}:{2:D2}", timeDiff.Hours, timeDiff.Minutes, timeDiff.Seconds);
            csvExport["TIME_FACT"] = "";
            csvExport["PAYED"]     = "FALSCH";
            csvExport["NSEC"]      = timeDiff.TotalSeconds.ToString();
            csvExport["NSEC_FACT"] = "0";
            csvExport["KNR"]       = booking.Customer.Number.ToString();
            csvExport["NPROJECT"]  = booking.Project.Number.ToString();
            csvExport["DESCP"]     = booking.Project.Name;
            csvExport["BOOKED"]    = "FALSCH";
            csvExport["UNIT"]      = "0";
            csvExport["PRICE"]     = "{0}";
        }
コード例 #2
0
        /// <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");
        }
コード例 #3
0
 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}";
 }
コード例 #4
0
        /// <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");
        }