Example #1
0
        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;
            }
        }