예제 #1
0
        public void DeleteEmployee(Employee employee)
        {

            Action procedure = () =>
                {

                    Database.DeleteAll<EmployeeProgram>(ep=>ep.EmployeeId ==employee.Id);
                
                    Database.Delete(employee); 


            };

            Database.ExecuteInTransaction(procedure);

        }
예제 #2
0
        private static string ProgramIdShouldBeUnique(Employee employee)
        {
            string result = string.Empty;

            employee.Programs.ForEach(p =>
                {

                    var found = employee.Programs.FindAll(program => program.ProgramId == p.ProgramId);

                    if (found.Count >= 2)
                    {
                        result = "Two or more programs are same.";

                    }

                });
 

            return result;

        }
예제 #3
0
        public  void UpdateEmployee(Employee employee)
        {
            employee.Validate();

            Action procedure = () =>
            {

                Database.Update(employee); 

                employee.Programs.ForEach(p =>
                {
                    p.EmployeeId = employee.Id; 

                    SaveEmployeeProgram(p);
                }); 
               
            };

            Database.ExecuteInTransaction(procedure);


        }
예제 #4
0
        private void RunEdit(Employee employee)
        {
               
                    var employeeWindow = new EmployeeWindow();


                    employeeWindow.DataContext = new EmployeeWindowViewModel(_database, employee);
                    employeeWindow.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                    employeeWindow.ShowDialog();

                    RunSearch();
              

        }
예제 #5
0
        private void RunDelete(Employee employee)
        {

            
                if (InforCenter.IsInTestMode)
                {
                    new EmployeeBL(_database).DeleteEmployee(employee);
                    RunSearch();

                }

                else if (ConfirmDeleteEmployee())
                {

                    new EmployeeBL(_database).DeleteEmployee(employee);
                    RunSearch();

                }
            

            

        }
        public EmployeeWindowViewModel(IDatabase database, Employee employee=null)
        {
            _database = database;

            _employee = employee; 

            if (_employee == null)
            {
                 _employee = new Employee();
            }

        }