public async Task <UserCompUpdateDto> SubmitUserCompensation(UserCompUpdateDto userCompDto)
        {
            try
            {
                var compensation = await Context.Users.Where(u => u.Id == userCompDto.UserId).FirstOrDefaultAsync();

                if (compensation == null)
                {
                    await Context.Users.AddAsync(compensation);
                    await SaveAll();

                    return(Mapper.Map <UserCompUpdateDto>(compensation));
                }
                compensation.BusinessTravel    = userCompDto.BusinessTravel;
                compensation.AnnualIncome      = userCompDto.AnnualIncome;
                compensation.PercentSalaryHike = userCompDto.PercentSalaryHike;
                compensation.StockOptionLevel  = userCompDto.StockOptionLevel;

                await SaveAll();

                return(Mapper.Map <UserCompUpdateDto>(compensation));
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public async Task <IActionResult> SubmitCompensation(UserCompUpdateDto userCompDto)
        {
            try
            {
                var compensation = await UserRepo.SubmitUserCompensation(userCompDto);

                return(Created(
                           compensation.UserId.ToString(),
                           compensation
                           ));
            }
            catch (Exception)
            {
                return(StatusCode(500, "Could not submit compensation info. Please try again later!"));
            }
        }