// CONSTRUCTOR /// <summary> /// constructor for adress /// </summary> /// <param name="propertyName">the property name</param> /// <param name="propertyNumber">the property number</param> /// <param name="postCode">the postcode</param> public Address(string propertyName, int propertyNumber, PostCode postCode) { this.propertyName = propertyName; this.propertyNumber = propertyNumber; this.postCode = postCode; }
private Employee MapTableToEmployeeClass(SqlCeDataReader reader) { Employee emp = null; // Strip out the values from the query . int id = (int) reader["EmployeeId"]; string name =(string) reader["Name"]; string userName = (string)reader["UserName"]; string phoneNumber = (string)reader["PhoneNumber"]; // Optional field, Nulls possible. int supervisorId = 0; if(reader["SupervisorId"] != System.DBNull.Value) supervisorId = (int)reader["SupervisorId"]; // Can be null. Dooooooohh! Thicko. int deptId = (int)reader["DeptId"]; int addressId = (int)reader["AddressId"]; string Type = ((byte)reader["Type"]).ToString(); // optional field. int paygrade = 0; if (reader["PayGrade"] != System.DBNull.Value) paygrade = (int)reader["PayGrade"]; string deptname = (string)reader["DeptName"]; string postcode = (string)reader["PostCode"]; string propertyName = (string)reader["PropertyName"]; // Optional field. int propertyNumber = 0; if (reader["propertyNumber"] != System.DBNull.Value) int.TryParse((string)reader["PropertyNumber"], out propertyNumber); // Construct a PostCode class PostCode postCode = new PostCode(postcode); // Construct an Address class Address address = new Address(propertyName, propertyNumber, postCode); // Construct the Department class Department department = new Department(); department.DepartmentName = deptname; // Instantiate the relevent employee class if (Type == "1") emp = new SalariedEmployee(id, name, userName, address, phoneNumber, paygrade); else emp = new HourlyPaidEmployee(id, name, userName, address, phoneNumber); return emp; }