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; } }
public async Task <List <AcompanhaColeta> > GetList(int idCliente) { try { #region Busca as coletas relacionadas ao cliente, que não estejam finalizadas ColetaController coletaController = new ColetaController(); var lista_Coleta = await coletaController.GetListColetas(idCliente); #endregion // Pega todos cadastrados var lista = await GetList(); // Filtra a consulta acima de acordo com o 'idCliente' var coleta = lista.Where(l => l.IdCliente == idCliente).ToList(); return(coleta); } catch (Exception ex) { throw ex; } }