private bool FileSave() { Cursor.Current = Cursors.WaitCursor; try { if (!DataIsValid()) { return(false); } // Update MANDATORY COMPUTATIONS foreach (var emp in ListOfEmployees) { emp.Deductions.LoadAllItemsWithDeduction(); DeductionGenerator.UpdateMandatoryDeductions(emp); var mandatoryWriter = new PayrollEmployeeDataWriter(App.CurrentUser.User.Username, emp); mandatoryWriter.SaveChanges(); } //ItemData.Id = ; ItemData.PayrollType = "Regular"; ItemData.DateCovered = dtPeriod.Value; ItemData.Remarks = txtRemarks.Text; var generator = new PayrollGenerator(); pbStatus.Maximum = ListOfEmployees.Count(); pbStatus.Text = ""; pbStatus.Visible = true; pbStatus.Refresh(); generator.Generate(ItemData, ListOfEmployees, OnProgress); var writer = new PayrollPeriodDataWriter(App.CurrentUser.User.Username, ItemData); writer.SaveChanges(); App.LogAction("Payroll", "Generated New Payroll :" + dtPeriod.Value.ToString("yyyy MMMM dd")); return(true); } catch (Exception ex) { MessageDialog.ShowError(ex, this); return(false); } }
protected PayrollEmployee OnAdd() { // Find Employee Id var employeeId = 0; using (var frm = new frmEmployee_Open()) { if (frm.ShowDialog() != DialogResult.OK) { return(null); } employeeId = frm.EmployeeId; } // Check for Duplicate var duplicate = new PayrollEmployeeDataReader().HasExistingId(employeeId); if (duplicate) { MessageDialog.Show("Duplicate Record", "An existing Record with same employee already exists"); return(null); } // Get Employee Profile var employee = new EmployeeDataReader().GetBasicProfileOf(employeeId); if (employee == null) { throw new Exception("Record NOT found"); } // Create New Payroll Employee var newItem = new PayrollEmployee { EmployeeId = employee.Id, EmployeeClass = employee, Active = true }; // Mandatory Deductions newItem.Deductions.AddMandatoryDeductions(); DeductionGenerator.UpdateMandatoryDeductions(newItem); using (var frm = new frmPayrollEmployee_Add()) { frm.ItemData = newItem; if (frm.ShowDialog() != DialogResult.OK) { return(null); } } App.LogAction("Payroll", "Added Employee : " + newItem.EmployeeClass.EmpNum); return(newItem); }