public async Task <IActionResult> ApprovePendingReportingManagerRequests([FromBody] ApproveReportingManagerPendingRequest request)
        {
            try
            {
                var userId = HttpContext.User.GetUserIdClaim();
                var user   = await _userManager.FindByIdAsync(userId.ToString());

                if (null == user)
                {
                    return(BadRequest(new ApiResponseBadRequestResult()
                    {
                        ErrorMessage = $"User with Id {userId} does not exists"
                    }));
                }

                await _userService.ApprovePendingReportingManagerRequests(request);

                return(Ok(new ApiResponseOKResult()
                {
                    StatusCode = StatusCodes.Status200OK, Data = true
                }));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Failed to approve reporting manager requests");
                return(StatusCode((int)HttpStatusCode.InternalServerError, new ApiResponseFailure()
                {
                    ErrorMessage = "Failed to approve reporting manager request"
                }));
            }
        }
        public async Task ApprovePendingReportingManagerRequests(
            ApproveReportingManagerPendingRequest request)
        {
            var pendingRequest = await _context.ReportingManagerRequests
                                 .Where(x => x.RequestStatus == false &&
                                        x.ReportingManagerRequestId == request.ReportingManagerRequestId)
                                 .SingleOrDefaultAsync();

            if (null != pendingRequest)
            {
                var user = await _userContext.Users.FirstOrDefaultAsync(x => x.Email == request.ReportedUserEmail);

                if (null != user)
                {
                    user.ReportingManagerId      = request.NewReportingManagerId;
                    pendingRequest.RequestStatus = true;
                    await _userContext.SaveChangesAsync();

                    await _context.SaveChangesAsync();
                }
            }
        }