public async Task <JsonDefaultResponse> Handle(ExpensesByUserId request, CancellationToken cancellationToken)
        {
            var userHasPerson = await _context.UserHasPerson
                                .Where(uhp => uhp.UserId == request.UserId)
                                .SingleOrDefaultAsync();

            if (userHasPerson == null)
            {
                return new JsonDefaultResponse
                       {
                           Success = false,
                           Message = "O usuário não possui uma pessoa vinculada"
                       }
            }
            ;

            var expenses = await _context.Expense
                           .Where(e => e.PersonId == userHasPerson.PersonId)
                           .Select(e => ExpensesByUserIdModel.Create(e))
                           .ToListAsync();

            return(new JsonDefaultResponse
            {
                Success = true,
                Payload = expenses
            });
        }
    }
示例#2
0
        public async Task <GetExpensesByUserIdResponse> Handle(GetExpensesByUserIdRequest request, CancellationToken cancellationToken)
        {
            if (await UserNotFound(request.UserId))
            {
                return(FailResponse($"O usuário com id {request.UserId} não foi encontrado", 400));
            }

            var expenses = await _context.Expense
                           .Where(e => e.PersonId == userHasPerson.PersonId)
                           .Select(e => ExpensesByUserIdModel.Create(e))
                           .ToListAsync();

            return(new GetExpensesByUserIdResponse {
                Expenses = expenses
            });
        }