public async Task <ResponseDto <Department> > GetDepartmentById(int id) { var departmentFromDb = await _departmentsRepository.GetDepartmentById(id); ResponseDto <Department> response = DepartmentsValidator.ValidateGetDepartmentById(departmentFromDb); if (response.HasErrors) { return(response); } response.Value = departmentFromDb; return(response); }
public async Task <ResponseDto <bool> > DeleteDepartment(int id) { var departmentFromDb = await _departmentsRepository.GetDepartmentById(id); ResponseDto <bool> response = DepartmentsValidator.ValidateDeleteDepartment(departmentFromDb); if (response.HasErrors) { return(response); } response.Value = await _departmentsRepository.DeleteDepartment(id); return(response); }
public async Task <ResponseDto <bool> > AssignManager(int id, int userId) { var departmentFromDb = await _departmentsRepository.GetDepartmentById(id); var userFromDb = await _userRepository.GetUserById(userId); ResponseDto <bool> response = DepartmentsValidator.ValidateAssignManager(departmentFromDb, userFromDb); if (response.HasErrors) { return(response); } response.Value = await _departmentsRepository.AssignManager(id, userId); return(response); }
public async Task <ResponseDto <int> > ChangeName(int id, string name) { var departmentFromDb = await _departmentsRepository.GetDepartmentById(id); var departmentWithName = await _departmentsRepository.GetDepartmentByName(name); ResponseDto <int> response = DepartmentsValidator.ValidateChangeName(departmentFromDb, departmentWithName, name); if (response.HasErrors) { return(response); } response.Value = await _departmentsRepository.ChangeName(id, name); return(response); }
public async Task <ResponseDto <int> > AddDepartment(AddDepartmentDto departmentDto) { var departmentFromDb = await _departmentsRepository.GetDepartmentByName(departmentDto.Name); ResponseDto <int> response = DepartmentsValidator.ValidateAddDepartment(departmentFromDb, departmentDto); if (response.HasErrors) { return(response); } var mappedDepartment = Mapper.Map <Department>(departmentDto); response.Value = await _departmentsRepository.AddDepartment(mappedDepartment); return(response); }