public static Csv.Type.Payroll.Payroll GetLine(CsvParser cp) { var payroll = new Csv.Type.Payroll.Payroll(); if(cp.CsvLine != null && cp.CsvLine.Count > 0) { payroll.AccountOfficeReference = cp.CsvItem("AccountOfficeReference"); payroll.Address1 = cp.CsvItem("Address1"); payroll.Address2 = cp.CsvItem("Address2"); payroll.Address3 = cp.CsvItem("Address3"); payroll.Address4 = cp.CsvItem("Address4"); payroll.Address5 = cp.CsvItem("Address5"); payroll.BacsReferenceNo = cp.CsvItem("BacsReferenceNo"); payroll.BankAccountName = cp.CsvItem("BankAccountName"); payroll.BankAccountNo = cp.CsvItem("BankAccountNo"); payroll.BankBranch = cp.CsvItem("BankBranch"); payroll.BankName = cp.CsvItem("BankName"); payroll.BankSortCode = cp.CsvItem("BankSortCode"); payroll.CompanyName = cp.CsvItem("CompanyName"); payroll.CompanyNo = cp.CsvItem("CompanyNo"); payroll.CompanyWeeks = cp.CsvItem<int>("CompanyWeeks"); payroll.FourWeeklyDivisor = cp.CsvItem<double>("FourWeeklyDivisor"); payroll.HourlyDivisor = cp.CsvItem<double>("HourlyDivisor"); payroll.MonthlyDivisor = cp.CsvItem<int>("MonthlyDivisor"); payroll.PayFrequency = cp.CsvItem<int>("PayFrequency"); payroll.PeriodsPerYear = cp.CsvItem<int>("PeriodsPerYear"); payroll.QuarterlyDivisor = cp.CsvItem<double>("QuarterlyDivisor"); payroll.TaxDistrict = cp.CsvItem("TaxDistrict"); payroll.TaxOfficeNo = cp.CsvItem("TaxOfficeNo"); payroll.TaxReference = cp.CsvItem("TaxReference"); payroll.TwoWeeklyDivisor = cp.CsvItem<double>("TwoWeeklyDivisor"); payroll.WeeklyDivisor = cp.CsvItem<double>("WeeklyDivisor"); payroll.WebSystemType = cp.CsvItem<int>("WebSystemType"); payroll.AdditionalReports = cp.CsvItem<bool>("AdditionalReports"); payroll.EmailPayslips = cp.CsvItem<bool>("EmailPayslips"); payroll.EmailReports = cp.CsvItem<bool>("EmailReports"); payroll.OutputMethod = cp.CsvItem("OutputMethod"); payroll.P11D = cp.CsvItem<bool>("P11D"); payroll.PaidByBacs = cp.CsvItem<bool>("PaidByBacs"); payroll.PayByDirectDebit = cp.CsvItem<bool>("PayByDirectDebit"); payroll.PayDay = cp.CsvItem("PayDay"); payroll.PensionByWeb = cp.CsvItem<bool>("PensionByWeb"); payroll.PostMethod = cp.CsvItem<int>("PostMethod"); payroll.SecondaryBacs = cp.CsvItem<bool>("SecondaryBacs"); payroll.PrintReports = cp.CsvItem<bool>("PrintReports"); payroll.PrintEEsPayslip = cp.CsvItem<bool>("PrintEEsPayslip"); payroll.PrintERsPayslip = cp.CsvItem<bool>("PrintERsPayslip"); payroll.NormalPayDay = cp.CsvItem("NormalPayDay"); payroll.OrganisationName = cp.CsvItem("OrganisationName"); payroll.EmployeeNoFormat = cp.CsvItem("EmployeeNoFormat"); payroll.PayslipERsPension1 = cp.CsvItem<bool>("PayslipERsPension1"); payroll.PayslipERsPension2 = cp.CsvItem<bool>("PayslipERsPension2"); payroll.PrintPaymentDate = cp.CsvItem<bool>("PrintPaymentDate"); payroll.OmniSlip = cp.CsvItem<bool>("OmniSlip"); } return payroll; }
public static void ReadPayrollFile(string fileName) { var engine = new CsvParser(fileName, true); var payrollList = new Csv.Type.Common.CommonCsvList <Csv.Type.Payroll.Payroll>(); while (!engine.EndOfStream) { engine.ReadLine(); if (engine.CsvHeader.Count == engine.CsvLine.Count) { payrollList.Items.Add(PayrollData.GetLine(engine)); Console.WriteLine($"AccountOfficeReference : {engine.CsvItem("AccountOfficeReference")}"); Console.WriteLine($"Address1 : {engine.CsvItem("Address1")}"); Console.WriteLine($"CompanyName : {engine.CsvItem("CompanyName")}"); Console.WriteLine($"FourWeeklyDivisor : {engine.CsvItem("FourWeeklyDivisor")}"); Console.WriteLine($"TaxDistrict : {engine.CsvItem("TaxDistrict")}"); Console.WriteLine($"NormalPayDay : {engine.CsvItem("NormalPayDay")}"); Console.WriteLine($"EmployeeNoFormat : {engine.CsvItem("EmployeeNoFormat")}"); Console.WriteLine($"OmniSlip : {engine.CsvItem("OmniSlip")}"); Console.WriteLine($"PrintPaymentDate : {engine.CsvItem("PrintPaymentDate")}"); Console.WriteLine("-----------------------------------------------"); } else if (engine.CsvLine.Count > 0 && engine.CsvLine[0].Contains("EOF")) { payrollList.EndOfFile = true; payrollList.EndOfFileTimeStamp = (engine.CsvLine.Count < 2) ? "" : engine.CsvLine[1]?.ToString(); Console.WriteLine($"End of CSV File : Create TimeStamp @ {payrollList.EndOfFileTimeStamp}"); } else { Console.WriteLine($"Error line : { engine.ErrorRow}"); } var x = new Csv.Type.Payroll.Payroll(); CsvLib.WireupCSV <Csv.Type.Payroll.Payroll>(ref x, engine.CsvHeader, engine.CsvLine); var y = x.Address1; } Console.WriteLine($"Total Parsed Count : {payrollList.Count()}"); Console.WriteLine(engine.CsvItem("Address2")); }