public Promocao ObterPromocao(int idArtigo) { using Database conn = ConnectionString; QueryResult result = conn.Query("SELECT FechaInicio, FechaFin, dat_tarifa.idarticulo, dat_articulo.PrecioOferta FROM dat_tarifa INNER JOIN dat_articulo ON dat_tarifa.idarticulo = dat_articulo.idarticulo where dat_tarifa.idarticulo='" + idArtigo + "'"); Promocao promocao = new Promocao(); if (result.reader.HasRows) { result.Read(); DateTime.TryParse(result[0], out DateTime dataInicio); DateTime.TryParse(result[1], out DateTime dataFim); Double.TryParse(result[3], out double pvpPromocao); promocao = (new Promocao(dataInicio, dataFim, idArtigo, pvpPromocao)); } return(promocao); }
public List <Artigo> ObterListaArtigosFicheiro(string fullPath, string Nome, string PLU) { List <Artigo> LstArtigos = new List <Artigo>(); if (File.Exists(fullPath)) { FileInfo file = new FileInfo(fullPath); string[] linhas = File.ReadAllLines(file.FullName); if (file.Name.Contains("SCAL29999")) { foreach (var linha in linhas) { int.TryParse(linha.ToString().Substring(37, 5), out int IdArtigo); double precoPromocao = 0; double preco = 0; switch (linha.ToString().Substring(82, 1)) { case "1": double.TryParse(linha.ToString().Substring(84, 5) + "," + linha.ToString().Substring(89, 2), out preco); double.TryParse(linha.ToString().Substring(59, 5) + "," + linha.ToString().Substring(64, 2), out precoPromocao); break; case "0": double.TryParse(linha.ToString().Substring(59, 5) + "," + linha.ToString().Substring(64, 2), out preco); double.TryParse(linha.ToString().Substring(84, 5) + "," + linha.ToString().Substring(89, 2), out precoPromocao); break; } DateTime dataAtualizacao = file.LastWriteTime; Promocao promocao = precoPromocao == 0 ? new Promocao() : new Promocao { IdArtigo = IdArtigo, PrecoPromocao = precoPromocao, PromocaoAtiva = true }; Artigo artigo = new Artigo { IdArtigo = IdArtigo, NomeArtigo = linha.Substring(2, 24), UltimaAtualizacao = dataAtualizacao, Preco = preco, Promocao = promocao }; if (IdArtigo.ToString().Contains(PLU) && artigo.NomeArtigo.Contains(Nome, StringComparison.CurrentCultureIgnoreCase)) { int index = LstArtigos.IndexOf(LstArtigos.Where(a => a.IdArtigo == IdArtigo).FirstOrDefault()); if (index >= 0) { LstArtigos[index] = artigo; } else { LstArtigos.Add(artigo); } } } } } return(LstArtigos); }