Beispiel #1
0
        public void Add(IncomeQuestionnaire employee)
        {
            if (employee == null)
            {
                throw new ArgumentNullException("Please provovide the valid employee object");
            }

            _repository.Add(employee);
        }
Beispiel #2
0
        public async Task <IActionResult> Create([Bind("BalanceId", "Description", "Amount", "Date", "Category")] Income income)
        {
            if (ModelState.IsValid)
            {
                if (await _repository.Add(income) != null)
                {
                    return(RedirectToAction(nameof(Details), "Balance", new { id = income.BalanceId }, null));
                }
            }

            return(View(income));
        }
Beispiel #3
0
        public async Task <ActionResult <Income> > PostIncome(Income income)
        {
            var user = await _repository.ValidUser(GetTokenUserId());

            if (user == null)
            {
                return(NotFound());
            }

            if (await _repository.Add(income, user.Id) == null)
            {
                return(BadRequest());
            }

            await _repository.UpdateBalance(income.BalanceId);

            return(StatusCode(201));
        }
Beispiel #4
0
        public async Task <RequestResult <IncomeDto> > Handle(AddIncome request, CancellationToken cancellationToken)
        {
            var result = new RequestResult <IncomeDto>();

            var user = UserRepository
                       .GetById(request.UserId);

            if (user is null)
            {
                result.AddError($"User with id {request.UserId} was not found", HttpStatusCode.NotFound);
                return(result);
            }

            user.BalanceValue += Math.Round(request.Value, 2);

            user.HistoricalBalances ??= new List <HistoricalBalance>();

            user.HistoricalBalances.Add(new HistoricalBalance()
            {
                BalanceValue = user.BalanceValue,
                Id           = Guid.NewGuid().ToString(),
                CreatedAt    = DateTime.UtcNow
            });

            UserRepository.Update(user);

            var income = new Income()
            {
                Id        = Guid.NewGuid().ToString(),
                CreatedAt = DateTime.UtcNow,
                Name      = request.Name,
                Value     = Math.Round(request.Value, 2),
                User      = user
            };

            IncomeRepository.Add(income);
            IncomeRepository.SaveChanges();

            result.SetSingleItem(Mapper.Map <IncomeDto>(income));
            result.StatusCode = HttpStatusCode.OK;

            return(result);
        }
 public async Task <IActionResult> Post([FromBody] Incomes model)
 {
     try
     {
         _logger.LogInformation("Creating a new Incomes");
         _incomeRepository.Add(model);
         if (await _incomeRepository.SaveAllAsync())
         {
             var newUri = Url.Link("IncomeGet", new { id = model.Id });
             return(Created(newUri, model));
         }
         else
         {
             _logger.LogWarning("Could not save Income to the database");
         }
     }
     catch (Exception ex)
     {
         _logger.LogError($"Threw exception while saving Income: {ex}");
     }
     return(BadRequest());
 }
        public async Task <RecordDetailResponseModel> AddIncome(RecordAddRequestModel model)
        {
            var income = new Income
            {
                UserId      = model.UserId,
                Amount      = model.Amount,
                Description = model.Description,
                IncomeDate  = model.Date,
                Remarks     = model.Remarks,
            };
            var addedIncome = await _incomeRepository.Add(income);

            var response = new RecordDetailResponseModel
            {
                Id          = addedIncome.Id,
                UserId      = addedIncome.UserId,
                Amount      = addedIncome.Amount,
                Description = addedIncome.Description,
                Date        = addedIncome.IncomeDate,
                Remarks     = addedIncome.Remarks,
            };

            return(response);
        }