public CreateEmployeeViewModel(Employee employee, IEmployeeRepository repository, MainViewModel mainViewModel)
     : base(mainViewModel)
 {
     Employee = employee;
     Repository = repository;
     Title = "Create Employee";
 }
 public void Initialize()
 {
     _calendar = new Calendar();
     _calendar.SetDate(2015, 7);
     _holidays = new List<Day>();
     _employee = new Employee {Holidays = _holidays};
     _employeeCalendar = new EmployeeCalendarViewModel(_employee, _calendar, true, new EmployeeRepositoryStub());
 }
 public void Initialize()
 {
     _mainViewModel = new MainViewModel();
     _employee = new Employee {Login = "******"};
     _employees = new List<Employee> {_employee};
     _repository = new EmployeeRepositoryStub(_employees);
     SettingsHelper.SaveConnectionString("Data Source=YOGER-SUPERMAN\\SQLEXPRESS;Initial Catalog=HolidayCalendar;Integrated Security=True;Connect Timeout=5");
 }
 public void Initialize()
 {
     _calendar = new Calendar();
     _calendar.SetDate(2015, 9);
     _holidays = new List<Day>();
     _employee = new Employee {FirstName="Joe", FamilyName = "Doe", Holidays = _holidays};
     _dayViewModelObservableCollection = new EmployeeDayViewModelObservableCollection(_employee, _calendar);
     _sampleHoliday = new Day { Date = new DateTime(2015, 8, 15),
                                HolidayReason = new HolidayReason() };
 }
        public EmployeeCalendarViewModel(Employee owner, Calendar calendar, bool isAuthorizedToEdit, IEmployeeRepository employeeRepository)
        {
            Owner = owner;
            _calendar = calendar;
            _isAuthorized = isAuthorizedToEdit;
            _employeeRepository = employeeRepository;

            EmployeeDays = new EmployeeDayViewModelObservableCollection(Owner, _calendar);
            SelectedDays = new List<DayViewModel>();
        }
        public void SaveCannotBeExecutedIfAnyNameInViewModelIsNullOrEmpty()
        {
            var employeeToSave = new Employee();
            _viewModel = new CreateEmployeeViewModel(employeeToSave, _repository, _mainViewModel)
            {
                FirstName = null,
                FamilyName = "Smith"
            };
            var canSave = _viewModel.SaveEmployeeCommand.CanExecute(null);

            Assert.IsFalse(canSave);
        }
        public void SavedEmployeeHasPropertiesFromViewModel()
        {
            _employees.Clear();
            var employeeToSave = new Employee ();
            _viewModel = new CreateEmployeeViewModel(employeeToSave, _repository, _mainViewModel)
            {
                FirstName = "John",
                FamilyName = "Smith"
            };
            _viewModel.SaveEmployeeCommand.Execute(null);

            Assert.AreEqual(_viewModel.FirstName, _employees.First().FirstName);
            Assert.AreEqual(_viewModel.FamilyName, _employees.First().FamilyName);
        }
 private void DisplayEmployeeProperties(Employee employee)
 {
     FirstName = employee.FirstName;
     FamilyName = employee.FamilyName;
     Title = "Edit employee";
 }
 public EditEmployeeViewModel(Employee employee, IEmployeeRepository repository, MainViewModel mainViewModel)
     : base(employee, repository, mainViewModel)
 {
     DisplayEmployeeProperties(employee);
 }
 public EditEmployeeViewModel(Employee employee, MainViewModel mainViewModel)
     : this(employee, new EmployeeRepository(), mainViewModel)
 {
 }
        private void GetEmployeeAndLoadNextView()
        {
            var employee = GetEmployeeForLoggedUser();

            if (employee == null)
            {   var hasher = new Sha256StringHasher();
                var employeeForNewUser = new Employee {Login = hasher.Hash(UserName)};
                ChangeUtility(new CreateEmployeeViewModel(employeeForNewUser, _employeeRepository, MainViewModel));
            }
            else
            {
                LoadViewModel(new HolidayCalendarViewModel(employee, _employeeRepository));
                Close();
            }
        }
        public void SavingNewEmployeeIsPersistedInRepository()
        {
            var employeeToSave = new Employee {FamilyName = "Smith", FirstName = "John"};
            _viewModel = new CreateEmployeeViewModel(employeeToSave, _repository, _mainViewModel);
            _viewModel.SaveEmployeeCommand.Execute(null);

            CollectionAssert.Contains(_employees, employeeToSave);
        }
 public HolidayCalendarViewModel(Employee employee, IEmployeeRepository repository)
 {
     _employeeRepository = repository;
     _authorizedEmployee = employee;
     Calendar = new Calendar();
 }
 public HolidayCalendarViewModel(Employee employee)
     : this(employee, new EmployeeRepository())
 {
 }