public EmployeeWageParametersViewModel( Employee entity, ITdiTab tab, IUnitOfWork uow, IPresetPermissionValidator permissionValidator, IUserRepository userRepository, ICommonServices commonServices, INavigationManager navigationManager ) : base(entity, commonServices) { this.tab = tab ?? throw new ArgumentNullException(nameof(tab)); this.commonServices = commonServices ?? throw new ArgumentNullException(nameof(commonServices)); this.navigationManager = navigationManager; UoW = uow ?? throw new ArgumentNullException(nameof(uow)); Entity.ObservableWageParameters.ElementAdded += (aList, aIdx) => WageParametersUpdated(); Entity.ObservableWageParameters.ElementRemoved += (aList, aIdx, aObject) => WageParametersUpdated(); canChangeWageCalculation = permissionValidator.Validate("can_edit_wage", userRepository.GetCurrentUser(UoW).Id); }
public EmployeeWageParametersViewModel( Employee entity, ITdiTab tab, IUnitOfWork uow, IPresetPermissionValidator permissionValidator, IUserRepository userRepository, ICommonServices commonServices, INavigationManager navigationManager, IEmployeeRepository employeeRepository, IWageCalculationRepository wageCalculationRepository) : base(entity, commonServices) { this.tab = tab ?? throw new ArgumentNullException(nameof(tab)); this.commonServices = commonServices ?? throw new ArgumentNullException(nameof(commonServices)); this.navigationManager = navigationManager; _wageCalculationRepository = wageCalculationRepository ?? throw new ArgumentNullException(nameof(wageCalculationRepository)); UoW = uow ?? throw new ArgumentNullException(nameof(uow)); Entity.ObservableWageParameters.ElementAdded += (aList, aIdx) => WageParametersUpdated(); Entity.ObservableWageParameters.ElementRemoved += (aList, aIdx, aObject) => WageParametersUpdated(); canChangeWageCalculation = permissionValidator.Validate("can_edit_wage", userRepository.GetCurrentUser(UoW).Id); _canEditWageBySelfSubdivision = userRepository.GetCurrentUser(UoW).IsAdmin || (employeeRepository.GetEmployeeForCurrentUser(UoW).Subdivision == Entity.Subdivision && permissionValidator.Validate("can_edit_wage_by_self_subdivision", userRepository.GetCurrentUser(UoW).Id) ); }
public PermissionService(IEntityPermissionValidator entityPermissionValidator, IPresetPermissionValidator presetPermissionValidator) { this.presetPermissionValidator = presetPermissionValidator ?? throw new ArgumentNullException(nameof(presetPermissionValidator)); this.permissionValidator = entityPermissionValidator ?? throw new ArgumentNullException(nameof(entityPermissionValidator)); }