public async Task UpdateIncomeRecord(IncomeForUpdateDto incomeForUpdateDto, IMapper mapper)
        {
            var incomeFromDb = await Get(incomeForUpdateDto.Id);

            var bankAccountFromDb = incomeFromDb.BankAccount;

            bankAccountFromDb.Ballance = bankAccountFromDb.Ballance - incomeFromDb.Ammount + incomeForUpdateDto.Ammount;

            incomeFromDb.NewBallance = incomeFromDb.NewBallance - incomeFromDb.Ammount + incomeForUpdateDto.Ammount;

            mapper.Map(incomeForUpdateDto, incomeFromDb);
        }
        public async Task <IHttpActionResult> UpdateIncomeRecord(long userId, IncomeForUpdateDto incomeForUpdateDto)
        {
            if (!IsUserAuthorized(userId))
            {
                return(Unauthorized());
            }

            await _unitOfWork.Incomes.UpdateIncomeRecord(incomeForUpdateDto, _mapper);

            try
            {
                await _unitOfWork.Complete();

                return(Ok("Updated income redord with Id: " + incomeForUpdateDto.Id));
            }
            catch (Exception)
            {
                return(BadRequest("An error happened while updating income: " + incomeForUpdateDto.Id));
            }
        }