public ControlPanelViewModel(DBContext context, Employee empl) { dbContext = context; employeeRepo = EmployeeImpl.getInstance(dbContext); //adminRepo = new AdminImpl(dbContext); projectRepo = ProjectImpl.getInstance(dbContext); reportRepo = ReportImpl.getInstance(dbContext); taskRepo = TaskImpl.getInstance(dbContext); positionRepo = PositionImpl.getInstance(dbContext); levelRepo = LevelImpl.getInstance(dbContext); Employees = new ObservableCollection <Employee>(employeeRepo.getAll().Where(user => user.Role == Role.User)); Admins = new ObservableCollection <Employee>(employeeRepo.getAll().Where(user => user.Role == Role.Admin)); foreach (Employee employee in Employees) { if (employee.PositionId != null) { employee.Position = positionRepo.get((int)employee.PositionId); } } Projects = projectRepo.getAll(); Tasks = taskRepo.getAll(); Levels = levelRepo.getAll(); Positions = new ObservableCollection <Position>(new List <Position>(new Position[] { new Developer(), new HumanResources(), new ProjectManager(), new Tester() })); EmployeeSelectedIndex = -1; AdminSelectedIndex = -1; ProjectSelectedIndex = -1; TaskSelectedIndex = -1; SelectedProject = new Project(); SelectedTask = new Task(); SelectedEmployee = new Employee(); SelectedAdmin = new Employee(); }
public InfoViewModel(DBContext context, Employee empl) { selectedEmployee = empl; this.context = context; IRepository <Position> positionRepo = PositionImpl.getInstance(context); IRepository <Level> levelRepo = LevelImpl.getInstance(context); PayStrategy = new MonthStrategy(); if (empl.PositionId != null) { empl.Position = positionRepo.get((int)empl.PositionId); if (empl.Position.LevelId != null) { empl.Position.Level = levelRepo.get((int)empl.Position.LevelId); Salary = Math.Round(new SalaryManager(PayStrategy).getSalary(empl), 2); } } payStrategys = new ObservableCollection <PayStrategy>(new List <PayStrategy>(new PayStrategy[] { PayStrategy, new IncomeMaonthStrategy(), new QuarterStrategy(), new YearStrategy() })); }