// Busca data de atualização do último registro, para verificarmos qual foi a ultima data de atualização public static string RetornaHoraUltimaAtualizacao() { using (Contexto contexto = new Contexto()) { MercadoProduto MercadoProduto = contexto.MercadoProduto.OrderByDescending(hr => hr.DataAtualizacao).FirstOrDefault(); if (MercadoProduto != null) { return(MercadoProduto.DataAtualizacao); } return(null); } }
// 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(); } } }