Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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() }));
        }