Esempio n. 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;
            }
        }
        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; }
        }