Example #1
0
        private static void CreateLeaveConfiguration()
        {
            LeaveConfigurationRepository repository = new LeaveConfigurationRepository();

            repository.SaveOrUpdate(new LeaveConfiguration()
            {
                AmountDays     = 30,
                LeaveEndOfLife = LeaveEndOfLife.Rollover,
                LeaveType      = LeaveType.Sick,
                ValidDays      = 365 * 3,
            });

            repository.SaveOrUpdate(new LeaveConfiguration()
            {
                AmountDays     = 20,
                LeaveEndOfLife = LeaveEndOfLife.Expire,
                LeaveType      = LeaveType.Normal,
                ValidDays      = 365,
            });

            repository.SaveOrUpdate(new LeaveConfiguration()
            {
                AmountDays     = 3,
                LeaveEndOfLife = LeaveEndOfLife.Expire,
                LeaveType      = LeaveType.Family,
                ValidDays      = 365,
            });
        }
        public ActionResult Employee(FormCollection formCollection)
        {
            EmployeeListViewModel employeeListViewModel = new EmployeeListViewModel();

            TryUpdateModel(employeeListViewModel);

            if (ModelState.IsValid)
            {
                EmployeeRepository           repository = new EmployeeRepository();
                LeaveConfigurationRepository leaveConfigurationRepository = new LeaveConfigurationRepository();

                foreach (EmployeeListItemViewModel itemViewModel in employeeListViewModel.EmployeeList)
                {
                    Employee employee = repository.GetById(itemViewModel.Id);

                    if (employee == null)
                    {
                        //insert
                        if (String.IsNullOrWhiteSpace(itemViewModel.FullName) == false && itemViewModel.Id == 0)
                        {
                            employee = new Employee(itemViewModel.FullName)
                            {
                                Manager = repository.GetById(itemViewModel.ManagerId ?? 0)
                            };

                            LeaveGenerator  generator       = new LeaveGenerator();
                            LeaveRepository leaveRepository = new LeaveRepository();

                            foreach (var leaveConfig in leaveConfigurationRepository.GetAll())
                            {
                                Leave leave = generator.Generate(employee, leaveConfig);

                                employee.LeaveList.Add(leave);

                                leaveRepository.SaveOrUpdate(leave);
                            }

                            repository.SaveOrUpdate(employee);
                        }
                    }
                    else
                    {
                        //update
                        employee.FullName = itemViewModel.FullName;
                        employee.Manager  = repository.GetById(itemViewModel.ManagerId ?? 0);
                        repository.SaveOrUpdate(employee);
                    }
                }

                return(RedirectToAction("Employee"));
            }

            return(Employee());
        }
Example #3
0
        private static void CreateLeave()
        {
            EmployeeRepository           employeeRepository           = new EmployeeRepository();
            LeaveConfigurationRepository leaveConfigurationRepository = new LeaveConfigurationRepository();
            LeaveRepository leaveRepository = new LeaveRepository();

            LeaveGenerator generator = new LeaveGenerator();

            foreach (Employee employee in employeeRepository.GetAll())
            {
                foreach (var leaveConfig in leaveConfigurationRepository.GetAll())
                {
                    Leave leave = generator.Generate(employee, leaveConfig);

                    employee.LeaveList.Add(leave);

                    leaveRepository.SaveOrUpdate(leave);
                }
            }
        }