//------ public Employee(AbstractEmployee parnt, string nm, float salry) { subordinates = new ArrayList(); name = nm; salary = salry; parent = parnt; }
//--------------- private void buildEmployeeList() { prez = new Boss("CEO", 200000); marketVP = new Boss("Marketing VP", 100000); prez.add(marketVP); salesMgr = new Boss("Sales Mgr", 50000); advMgr = new Boss("Advt Mgr", 50000); marketVP.add(salesMgr); marketVP.add(advMgr); prodVP = new Boss("Production VP", 100000); prez.add(prodVP); advMgr.add("Secy", 20000); //add salesmen reporting to sales manager for (int i = 1; i <= 5; i++) { salesMgr.add("Sales" + i.ToString(), rand_sal(30000)); } prodMgr = new Boss("Prod Mgr", 40000); shipMgr = new Boss("Ship Mgr", 35000); prodVP.add(prodMgr); prodVP.add(shipMgr); for (int i = 1; i <= 3; i++) { shipMgr.add("Ship" + i.ToString(), rand_sal(25000)); } for (int i = 1; i <= 4; i++) { prodMgr.add("Manuf" + i.ToString(), rand_sal(20000)); } }
private void btShowBoss_Click(object sender, System.EventArgs e) { EmpNode node; node = (EmpNode)EmpTree.SelectedNode; AbstractEmployee emp = node.getEmployee(); string bosses = ""; while (emp != null) { bosses += emp.getName() + "\n"; emp = emp.getBoss(); } MessageBox.Show(null, bosses, "Reporting chain"); }
//------ private void addNodes(EmpNode nod, AbstractEmployee emp) { AbstractEmployee newEmp; EmpNode newNode; IEnumerator empEnum; empEnum = emp.getSubordinates(); while (empEnum.MoveNext()) { newEmp = (AbstractEmployee)empEnum.Current; newNode = new EmpNode(newEmp); nod.Nodes.Add(newNode); addNodes(newNode, newEmp); } }
// GET: api/Employees/5 public async Task <String> Get(int id) { string employeesJson = await client.GetEmployees(); List <AbstractEmployee> employees = new List <AbstractEmployee>(); List <RawEmployee> rawEmployees = JsonConvert.DeserializeObject <List <RawEmployee> >(employeesJson); RawEmployee rawEmployee = (from rawEmp in rawEmployees where rawEmp.Id == id select rawEmp).FirstOrDefault(); if (rawEmployee != null) { AbstractEmployee employee = factory.BuildEmployee(rawEmployee); employees.Add(employee); } return(JsonConvert.SerializeObject(employees)); }
// GET: api/Employees public async Task <String> Get() { string employeesJson = await client.GetEmployees(); List <AbstractEmployee> employees = new List <AbstractEmployee>(); List <RawEmployee> rawEmployees = JsonConvert.DeserializeObject <List <RawEmployee> >(employeesJson); foreach (RawEmployee rawEmployee in rawEmployees) { AbstractEmployee employee = factory.BuildEmployee(rawEmployee); employees.Add(employee); } return(JsonConvert.SerializeObject(employees)); }
//------ public override AbstractEmployee getChild() { bool found; AbstractEmployee tEmp = null; IEnumerator esub; if (getName().Equals(getName())) { return(this); } else { found = false; esub = subordinates.GetEnumerator(); while (!found && esub.MoveNext()) { tEmp = (AbstractEmployee)esub.Current; found = (tEmp.getName().Equals(name)); if (!found) { if (!tEmp.isLeaf()) { tEmp = tEmp.getChild(); found = (tEmp.getName().Equals(name)); } } } if (found) { return(tEmp); } else { return(new Employee(null, "New person", 0)); } } }
//------ public virtual void add(AbstractEmployee emp) { throw new Exception("No subordinates in base employee class"); }
public UserInfo(AbstractEmployee employee) { Employee = employee; }
public EmpNode(AbstractEmployee aemp) : base(aemp.getName()) { emp = aemp; }
public void AddEmployee(AbstractEmployee employee) { MyEmployees.Add(employee); }
public abstract override void seeDanger(AbstractEmployee source, EmployeeIF boss);
public Boss(AbstractEmployee parnt, string name, float salary) : base(parnt, name, salary) { }
//------ public override void add(AbstractEmployee emp) { subordinates.Add(emp); }
//------ public Boss(AbstractEmployee parnt, AbstractEmployee emp) : base(parnt, emp.getName(), emp.getSalary()) { }