public async Task <List <Orcamento> > GetListOrcamentoAceito(int idMotorista) { ColetaController coletaController = new ColetaController(); try { // Orcamentos aceitos var orcamentos = await GetListOrcamento(1, idMotorista); // status 1 - aceito // Captura os IDs das coletas correspondentes e filtra pelo status var coletaId = orcamentos.Where(l => l.IdStatus == 1) .Select(l => l.IdColeta).ToList(); // Captura todas as coletas var coletas = await coletaController.GetList(); // Filtra as coletas var orca = coletas.Where(l => coletaId.Contains(l.IdColeta)) .Where(l => l.IdStatus == 30) // status: 'aguardando motorista' .ToList(); var orcamentoId = orca.Select(l => l.IdColeta).ToList(); orcamentos = orcamentos.Where(l => orcamentoId.Contains(l.IdColeta)).ToList(); return(orcamentos); } catch (Exception ex) { throw ex; } }