예제 #1
0
            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));
            }
예제 #3
0
            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));
                }
            }