public async Task <Response <int> > Handle(UpdateExpenseItemCommand request, CancellationToken cancellationToken) { var item = await _itemRepository.GetByIdAsync(request.Id); if (item == null) { throw new ApiException("Item not Found."); } else { item.CategoryId = request.CategoryId; item.CurrencyId = request.CurrencyId; item.Payee = request.Payee; item.Date = request.Date; item.Description = request.Description; item.Amount = request.Amount; item.USDAmount = request.USDAmount; await _itemRepository.UpdateAsync(item); await _unitOfWork.Commit(cancellationToken); return(new Response <int>(item.Id)); } }
public async Task <Response <int> > Handle(DeleteExpenseItemCommand request, CancellationToken cancellationToken) { var item = await _itemRepository.GetByIdAsync(request.Id); if (item == null) { throw new ApiException("Item not Found."); } await _itemRepository.DeleteAsync(item); await _unitOfWork.Commit(cancellationToken); return(new Response <int>(item.Id)); }
public async Task <Response <GetExpenseItemByIdResponse> > Handle(GetExpenseItemByIdQuery query, CancellationToken cancellationToken) { var claim = await _itemRepository.GetByIdAsync(query.Id); if (claim == null) { throw new ApiException($"Item not Found."); } else { var mappedClaim = _mapper.Map <GetExpenseItemByIdResponse>(claim); return(new Response <GetExpenseItemByIdResponse>(mappedClaim)); } }