public int AddEmployee(Employee employee, List<Terminal> terminalList) { BeginTransaction(); try { //if Employee is added from terminal then Employee No has been assigned already if (employee.EmployeeNumber <= 0) employee.EmployeeNumber = GetAvailEmployeeNumber(); else AddEmployeeNumber(employee.EmployeeNumber); if (employee.EmployeeNumber > 0) { employee.PayrollNumber = AddEmployee(employee); if (terminalList.Count > 0) { List<EmployeeTerminal> employeeTerminalList = new List<EmployeeTerminal>(); foreach (Terminal terminal in terminalList) { EmployeeTerminal emplTerminal = new EmployeeTerminal(); emplTerminal.TerminalID = terminal.ID; emplTerminal.EmployeeNumber = employee.EmployeeNumber; employeeTerminalList.Add(emplTerminal); } AddEmployeeTerminal(employeeTerminalList); } CommitTransaction(); } else { throw new Exception("There's no more employee number available. Please enter your CC detail to purchase more."); } } catch (Exception) { RollbackTransaction(); throw; } return employee.PayrollNumber; }
public List<EmployeeTerminal> GetEmployeeTerminalsByEmpl(int employeeNumber) { OleDbCommand odCom = BuildSelectCmd("EmployeeTerminal", "*", "EmployeeNumber=@EmployeeNumber", new object[] { "@EmployeeNumber", employeeNumber }); OleDbDataReader odRdr = odCom.ExecuteReader(); List<EmployeeTerminal> employeeTerminals = new List<EmployeeTerminal>(); EmployeeTerminal employeeTerminal = null; while (odRdr.Read()) { employeeTerminal = new EmployeeTerminal(); employeeTerminal.EmployeeNumber = (int)odRdr["EmployeeNumber"]; employeeTerminal.TerminalID = (int)odRdr["TerminalID"]; employeeTerminals.Add(employeeTerminal); } odRdr.Close(); return employeeTerminals; }