Exemplo n.º 1
0
        // Cadastra os produtos achados na API no Banco de Dados
        public void BuscaECadastraProduto(string Produto, int ProdutoId)
        {
            using (Contexto contexto = new Contexto())
            {
                var DadosProduto = BuscarDadosProduto(Produto);

                // TODO: Verificar conexao de internet antes de se conectar a internet

                // Busca o ultimo valor do EURO em relação ao REAL
                float ValorEuro = moedaController.BuscarMoedaPorId(1).Valor;

                // Pra cada produto existente no resultado, cadastra o seu valor para o respectivo mercado
                foreach (dynamic d in DadosProduto)
                {
                    // Caso o valor de venda do produto seja zero, é inútil pra nós, não cadastra
                    if (!d.ProductUpdates[0].SalePrice.Equals(0))
                    {
                        float  PrecoReais = d.ProductUpdates[0].SalePrice * ValorEuro;
                        string Mercado    = d.ProductUpdates[0].Provider.Name;

                        MercadoProduto mercadoProduto = new MercadoProduto();
                        mercadoProduto.Preco           = PrecoReais;
                        mercadoProduto.ProdutoId       = ProdutoId;
                        mercadoProduto.DataAtualizacao = Util.BuscarDataHoraAtual();

                        // Achar chave estrangeira do mercado baseada no nome
                        switch (Mercado)
                        {
                        case "Jumbo":
                            mercadoProduto.MercadoId = 1;
                            break;

                        case "Continente":
                            mercadoProduto.MercadoId = 2;
                            break;

                        case "Intermarche":
                            mercadoProduto.MercadoId = 3;
                            break;

                        case "Pingo":
                            mercadoProduto.MercadoId = 4;
                            break;
                        }
                        contexto.MercadoProduto.Add(mercadoProduto);
                    }
                    // Salva dados no banco depois de achar todos os produtos com valor
                    contexto.SaveChanges();
                }
            }
        }
Exemplo n.º 2
0
        // Busca valor da moeda e cadastra no banco
        public void AtualizaPrecoMoeda(string Nome)
        {
            // Instancia nova moeda
            Moeda moeda = new Moeda();

            moeda.NomeMoeda = Nome;

            // Busca todas as moedas
            ICollection <Moeda> moedas = RetornarTodos();

            using (Contexto contexto = new Contexto())
            {
                switch (moeda.NomeMoeda)
                {
                case "Euro":
                    // Se achar alguma moeda
                    if (moedas.Count > 0)
                    {
                        foreach (Moeda m in moedas)
                        {
                            // Se achar alguma moeda "Euro" cadastrada no Banco
                            if (m.NomeMoeda == "Euro")
                            {
                                // Atualiza o item já cadastrado
                                m.Valor                 = Util.BuscaValorEuro();
                                m.DataAtualizacao       = Util.BuscarDataHoraAtual();
                                contexto.Entry(m).State = System.Data.Entity.EntityState.Modified;
                            }
                        }
                    }
                    // Se não achar, cadastra uma moeda nova
                    else
                    {
                        moeda.Valor           = Util.BuscaValorEuro();
                        moeda.DataAtualizacao = Util.BuscarDataHoraAtual();
                        contexto.Moeda.Add(moeda);
                    }
                    break;
                }
                contexto.SaveChanges();
            }
        }