Ejemplo n.º 1
0
        public async Task <ValidationOutputDto> ValidateAssignDepartmentInput(AssignDepartmentInputDto request)
        {
            var userProfile = await _unitOfWork.Repository <UserProfile>().GetByIdAsync(request.UserProfileId);

            if (userProfile == null)
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "User profile is not existing.",
                           StatusCode = 400
                       }
            }
            ;

            var department = await _unitOfWork.Repository <Department>().GetByIdAsync(request.DepartmentId);

            if (department == null)
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "Department is not existing.",
                           StatusCode = 400
                       }
            }
            ;

            return(new ValidationOutputDto
            {
                IsSuccess = true,
                Message = string.Empty,
                StatusCode = 200
            });
        }
Ejemplo n.º 2
0
        public async Task AssignUserToDepartment(AssignDepartmentInputDto request)
        {
            var userProfile = await _unitOfWork.Repository <UserProfile>().GetByIdAsync(request.UserProfileId);

            userProfile.DepartmentId = request.DepartmentId;

            _unitOfWork.Repository <UserProfile>().Update(userProfile);
            await _unitOfWork.Complete();
        }
        public async Task <IActionResult> AssignDepartmentToUser([FromBody] AssignDepartmentInputDto request)
        {
            try
            {
                var validationResponse = await _userProfileService.ValidateAssignDepartmentInput(request);

                if (!validationResponse.IsSuccess)
                {
                    return(BadRequest(new ApiResponse(validationResponse.StatusCode, validationResponse.Message)));
                }

                await _userProfileService.AssignUserToDepartment(request);

                return(Ok(new ApiResponse(200, "Success")));
            }
            catch
            {
                return(BadRequest(new ApiResponse(400, "Something went wrong.")));
            }
        }