Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }