Exemple #1
0
        public async Task <IActionResult> IterationInDifferentStateCount([FromBody] IterationInStateCountRequestModel requestModel)
        {
            try
            {
                var iteration = await _iterationRepository.GetIteration(requestModel.IterationId);

                if (null == iteration || iteration.Status != (int)Constants.Constants.ITERATION_STATUS.ACTIVE)
                {
                    return(BadRequest(new ApiResponseBadRequestResult()
                    {
                        ErrorMessage = $"Invalid Iteration."
                    }));
                }

                var response = await _reportRepository.GetIterationInDifferentStateCount(requestModel.IterationId);

                return(Ok(new ApiResponseOKResult()
                {
                    Data = response
                }));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Failed to fetch iteration in different state count");
                return(StatusCode((int)HttpStatusCode.InternalServerError, new ApiResponseFailure()
                {
                    ErrorMessage = "Failed to fetch iteration in different state count"
                }));
            }
        }
Exemple #2
0
        public async Task <IActionResult> GetIteration(int iterationId)
        {
            try
            {
                var iteration = await _iterationRepository.GetIteration(iterationId);

                if (null == iteration)
                {
                    return(BadRequest(new ApiResponseBadRequestResult()
                    {
                        ErrorMessage = $"Iteration does not exists"
                    }));
                }

                var response = _mapper.Map <IterationReposnseModel>(iteration);
                return(Ok(new ApiResponseOKResult()
                {
                    Data = response
                }));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Failed to get iteration");
                return(StatusCode((int)HttpStatusCode.InternalServerError, new ApiResponseFailure()
                {
                    ErrorMessage = "Failed to get iteration"
                }));
            }
        }
Exemple #3
0
        public async Task <IActionResult> AddIterationGoal([FromBody] EmployeeIterationGoalRequestModel employeeIterationGoalRequestModel)
        {
            try
            {
                var reportingManagerId = HttpContext.User.GetUserIdClaim();

                var user = await _userService.GetUserById(employeeIterationGoalRequestModel.EmployeeId);

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

                if (user.ReportingManagerId != reportingManagerId)
                {
                    return new JsonResult(new ApiResponseFailure()
                    {
                        ErrorMessage = "Requested User has different reporting manager assigned",
                        StatusCode   = (int)StatusCodes.Status403Forbidden
                    })
                           {
                               StatusCode = StatusCodes.Status403Forbidden
                           }
                }
                ;


                var iteration = await _iterationRepository.GetIteration(employeeIterationGoalRequestModel.IterationId);

                if (null == iteration || iteration.Status != (int)Constants.Constants.ITERATION_STATUS.ACTIVE)
                {
                    return(BadRequest(new ApiResponseBadRequestResult()
                    {
                        ErrorMessage = $"Invalid Iteration."
                    }));
                }

                var iterationGoal = await _employeeIterationRepository.GetEmployeeIterationGoal(employeeIterationGoalRequestModel.EmployeeId,
                                                                                                employeeIterationGoalRequestModel.IterationId,
                                                                                                employeeIterationGoalRequestModel.GoalId);

                if (iterationGoal != null)
                {
                    return(BadRequest(new ApiResponseBadRequestResult()
                    {
                        ErrorMessage = $"Requested Goal is already set"
                    }));
                }

                var model = _mapper.Map <EmployeeIterationGoals>(employeeIterationGoalRequestModel);
                model.ReportingManagerId = reportingManagerId;
                await _employeeIterationRepository.AddEmployeeIterationGoal(model);

                return(Ok(new ApiResponseOKResult()
                {
                    Data = true
                }));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Failed to add iteration goal");
                return(StatusCode((int)HttpStatusCode.InternalServerError, new ApiResponseFailure()
                {
                    ErrorMessage = "Failed to add iteration goal"
                }));
            }
        }