コード例 #1
0
ファイル: Tela.cs プロジェクト: erlonab/Prova-Tecnica
        public static async Task ClientesMaisFieis()
        {
            List <Cliente> listaCliente = await ConnectionAPI.GetListCliente();   //RETORNA A LISTA DE CLIENTES

            List <Historico> listaHistorico = await ConnectionAPI.GetHistorico(); //RETORNA O HISTORICO DOS CLIENTES

            List <Historico> listaHistAux = new List <Historico>();

            Console.WriteLine("--------------------Clientes Mais Fiéis--------------------");
            Console.WriteLine("");

            int cont = 0;

            foreach (var cliente in listaCliente)                   //VARRE A LISTA DE CLIENTES
            {
                cont = 0;
                foreach (var historico in listaHistorico)           //VARRE A LISTA DE HISTORICO
                {
                    if (cliente.Cpf == historico.Cliente)           //COMPARA SE É O MESMO E SOMA A QUANTIDADE DE COMPRAS
                    {
                        cont++;
                    }
                }
                Console.WriteLine(cliente + ", Comprou: " + cont + " vezes.");
            }

            Console.WriteLine("");
            Console.WriteLine("Selecione a nova opção: ");
        }
コード例 #2
0
ファイル: Tela.cs プロジェクト: erlonab/Prova-Tecnica
        public static async Task ClienteMaiorCompra()
        {
            List <Cliente> listaCliente = await ConnectionAPI.GetListCliente();   //RETORNA A LISTA DE CLIENTES

            List <Historico> listaHistorico = await ConnectionAPI.GetHistorico(); //RETORNA O HISTORICO DOS CLIENTES

            List <Historico> listaHistAux = new List <Historico>();

            Console.WriteLine("--------------------Cliente Com Maior Compra Única no Último Ano (2016).--------------------");
            Console.WriteLine("");

            foreach (var historico in listaHistorico)              //VARRE A LISTA DE HISTORICO
            {
                if (historico.Data.Contains("2016"))               //VERIFICA SE A DATA CONTEM O ANO 2016
                {
                    listaHistAux.Add(historico);                   //ADICIONA TODOS COM O ANO DE 2016 NA LISTA AUXILIAR
                }
            }

            listaHistAux = listaHistAux.OrderByDescending(o => o.ValorTotal).ToList(); //ORDENA A LISTA POR TOTAL EM ORDEM DECRES.

            foreach (var cliente in listaCliente)                                      //VARRE A LISTA DE CLIENTES
            {
                if (cliente.Cpf == listaHistAux[0].Cliente)                            //TESTA SE É O MESMO DO TOPO DA LISTA PARA PEGAR OS DADOS
                {
                    Console.WriteLine("Id: " + cliente.Id + ", Nome: " + cliente.Nome);
                    Console.WriteLine("Total da Compra: " + listaHistAux[0].ToString());
                }
            }
            Console.WriteLine("");
            Console.WriteLine("Selecione a nova opção: ");
        }
コード例 #3
0
ファイル: Tela.cs プロジェクト: erlonab/Prova-Tecnica
        public static async Task Recomendacao()
        {
            List <Cliente> listaCliente = await ConnectionAPI.GetListCliente();   //RETORNA A LISTA DE CLIENTES

            List <Historico> listaHistorico = await ConnectionAPI.GetHistorico(); //RETORNA O HISTORICO DOS CLIENTES

            Console.WriteLine("--------------------Recomendações de Vinhos--------------------");
            Console.WriteLine("");

            List <Produto> ListaProdutos = new List <Produto>();

            foreach (var cliente in listaCliente)               //VARRE A LISTA DE CLIENTES
            {
                ListaProdutos = null;
                foreach (var historico in listaHistorico)           //VARRE A LISTA DE HISTORICO
                {
                    if (cliente.Cpf == historico.Cliente)           //COMPRA SE SÃO O MESMO E ADD NA NOVA LISTA OS ITENS JÁ COMPRADOS PELO CLIENTE
                    {                                               //PARA FAZER A RECOMENDAÇÃO
                        ListaProdutos = historico.Itens;
                    }
                }
                Console.WriteLine("Cliente: " + cliente.Cpf);
                ListaProdutos.ForEach(Console.WriteLine);
                Console.WriteLine(" ");
            }
            Console.WriteLine("");
            Console.WriteLine("Selecione a nova opção: ");
        }
コード例 #4
0
ファイル: Tela.cs プロジェクト: erlonab/Prova-Tecnica
        //METODOS REFERENTE AS OPÇÕES
        public static async Task ClientePorValorAsync()
        {
            List <Cliente> listaCliente = await ConnectionAPI.GetListCliente();   //RETORNA A LISTA DE CLIENTES

            List <Historico> listaHistorico = await ConnectionAPI.GetHistorico(); //RETORNA O HISTORICO DOS CLIENTES

            double         total    = 0;
            List <Cliente> listaAux = new List <Cliente>();
            Cliente        cltAux   = new Cliente();

            Console.WriteLine("--------------------Lista Ordenada de Clientes Por Valor Total--------------------");
            Console.WriteLine("");

            foreach (var cliente in listaCliente)                      //VARRE A LISTA DE CLIENTES CADASTRADOS
            {
                total  = 0;
                cltAux = null;

                foreach (var historico in listaHistorico)        //VARRE O HISTOTICO DE COMPRAS

                {
                    if (historico.Cliente == cliente.Cpf)            //COMPARA SE O HISTORICO É DO CLIENTE PROCURADO
                    {
                        total        = total + historico.ValorTotal; //SOMA AS COMPRAS
                        cltAux       = cliente;
                        cltAux.Total = total;
                    }
                }
                listaAux.Add(cltAux);                           //JOGA NUMA LISTA AUXILIAR
            }

            listaAux = listaAux.OrderByDescending(o => o.Total).ToList();  //ORDENA A LISTA POR TOTAL

            listaAux.ForEach(Console.WriteLine);
            Console.WriteLine("");
            Console.WriteLine("Selecione a nova opção: ");
        }