예제 #1
0
        public async Task <IActionResult> UpdateExpense([FromBody] UpdateExpenseDto updateExpenseDto)
        {
            var user = await _userService.GetById(int.Parse(User.FindFirstValue(ClaimTypes.NameIdentifier)));

            if (updateExpenseDto.PlannerId != user.PlannerId)
            {
                return(BadRequest());
            }

            await _expenseService.Update(updateExpenseDto);

            return(Ok());
        }
예제 #2
0
        public async Task <bool> UpdateExpenseAsync(int expenseId, UpdateExpenseRequest request)
        {
            var expenseDto = new UpdateExpenseDto
            {
                Id           = expenseId,
                Name         = request.Name,
                Description  = request.Description,
                ExpenseDate  = request.ExpenseDate,
                ExpenseValue = request.ExpenseValue,
                CurrencyId   = request.CurrencyId,
                PeriodId     = request.PeriodId
            };

            var expense = _mapper.Map <Expense>(expenseDto);

            return(await _baseRepository.UpdateEntityAsync(expense));
        }
예제 #3
0
        public async Task <ExpenseDto?> UpdateAsync(int id, UpdateExpenseDto update, CancellationToken cancellationToken)
        {
            var entity = await DbSet
                         .Where(e => e.Id == id)
                         .Include(e => e.CreatorUser)
                         .SingleOrDefaultAsync(cancellationToken);

            if (entity is null)
            {
                return(null);
            }

            fMapper.Map(update, entity);
            await fContext.SaveChangesAsync(cancellationToken);

            return(fMapper.Map <ExpenseEntity, ExpenseDto>(entity));
        }
예제 #4
0
        public async Task <ActionResult> UpdateExpenseAsync(Guid expenseId, UpdateExpenseDto expenseToUpdate)
        {
            var existingExpense = await _expensesRepository.GetExpenseAsync(expenseId);

            if (existingExpense is null)
            {
                return(NotFound());
            }

            Expense updatedExpense = existingExpense;

            updatedExpense.Price       = expenseToUpdate.Price;
            updatedExpense.Description = expenseToUpdate.Description;
            updatedExpense.CategoryId  = expenseToUpdate.CategoryId;

            await _expensesRepository.UpdateExpenseAsync(updatedExpense);

            return(NoContent());
        }
        public async Task <ActionResult> UpdateExpenseAsync(Guid id, UpdateExpenseDto expenseDto)
        {
            //get the expense we want to update
            var existingExpense = await repository.GetExpenseAsync(id);

            //If we did not find the expense return NotFound()
            if (existingExpense is null)
            {
                return(NotFound());
            }

            //Update the expense members
            Expense updatedExpense = existingExpense with
            {
                Category = expenseDto.Category,
                Price    = expenseDto.Price
            };

            //Update the expense in the expense collection
            await repository.UpdateExpenseAsync(updatedExpense);

            //PUT returns no content
            return(NoContent());
        }