protected override Entity OnAdd()
        {
            var newItem = new SalarySchedule();

            using (var frm = new frmSalarySchedule_Add())
            {
                frm.ItemData = newItem;
                if (frm.ShowDialog() != DialogResult.OK)
                {
                    return(null);
                }
            }

            App.LogAction("Payroll Salary Schedule",
                          "Created Salary Schedule : " + newItem.Effectivity.ToString("yyyy MMMM dd"));

            ItemDataCollection.Add(newItem);
            return(newItem);
        }
Esempio n. 2
0
        /// <summary>
        /// Process a Salary Schedule Report PDF.
        /// </summary>
        /// <param name="pdfPath">Full path to a readable salary schedule report PDF.</param>
        /// <returns>An <c>ISalarySchedule</c> representation of the report data.</returns>
        public ISalarySchedule Process(string pdfPath)
        {
            ISalarySchedule schedule = new SalarySchedule();

            byte[] fileData = File.ReadAllBytes(pdfPath);

            using (var reader = new PdfReader(fileData))
            {
                schedule.FiscalYear    = readFiscalYear(reader);
                schedule.ReportRunDate = readReportDate(reader);

                schedule.BargainingUnits = readBargainingUnits(reader);

                schedule.JobClasses =
                    getAlignmentCorrectedClassData(reader).SelectMany(page => processClassesOnPage(page)).ToArray();
            }

            return(schedule);
        }