public void AtualizarArtigo(Artigo artigo) { string[] txtConservacao = ObterTextos24Caracteres(artigo.TxtConservacao); string[] txtUtilizacao = ObterTextos24Caracteres(artigo.TxtInfoUtilizacao); using Database conn = ConnectionString; conn.Execute("update dat_articulo set Texto7='" + txtConservacao[0] + "', Texto8='" + txtConservacao[1] + "', Texto9='" + txtConservacao[2] + "', Texto10='" + txtConservacao[3] + "', Texto11='" + txtConservacao[4] + "', Texto12='" + txtConservacao[5] + "', Texto13='" + txtConservacao[6] + "', Texto14='" + txtUtilizacao[0] + "', Texto15='" + txtUtilizacao[1] + "', Texto16='" + txtUtilizacao[2] + "', Texto17='" + txtUtilizacao[3] + "', Texto18='" + txtUtilizacao[4] + "', Texto19='" + txtUtilizacao[5] + "', Texto20='" + txtUtilizacao[6] + "', DiasCaducidad='" + artigo.DiasValidade + "', TextoLibre='" + artigo.TxtIngredientes + "', TextoNutricionales='" + artigo.TxtInfoNutricional + "', TextoAlergenos='" + artigo.TxtAlergenos + "', Modificado=1, ModificadoTextos=1, ModificadoTextoG=1, ModificadoTextoNutricionales=1, ModificadoTextoAlergenos=1 where idarticulo=" + artigo.IdArtigo + ""); conn.Connection.Close(); if (artigo.Promocao.PromocaoAtiva) { conn.Connection.Open(); conn.Execute("update dat_tarifa set modificado=1 where idarticulo=" + artigo.IdArtigo + ""); conn.Connection.Close(); } }
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); }
public List <Artigo> ObterListaArtigosBalanca(int IdBalanca, string Nome, string PLU) { List <Artigo> LstArtigos = new List <Artigo>(); Balanca balanca = ObterBalanca(IdBalanca); if (Directory.Exists(ComunicacionesLogs)) { DirectoryInfo info = new DirectoryInfo(ComunicacionesLogs); FileInfo[] files = info.GetFiles().OrderBy(p => p.CreationTime).ToArray(); foreach (FileInfo file in files) { if (!file.Name.Contains("commL")) { string[] linhas = File.ReadAllLines(file.FullName); bool lerLinha = false; foreach (var linha in linhas) { if (lerLinha && linha.Length == 177 && (linha.ToString().Substring(47, 4) == balanca.DirecaoLogica + balanca.RegistoArtigo) && (linha.ToString().Substring(53, 1) != "B")) { int.TryParse(linha.ToString().Substring(54, 6), out int IdArtigo); double.TryParse(linha.ToString().Substring(135, 6) + "," + linha.ToString().Substring(141, 2), out double preco); double.TryParse(linha.ToString().Substring(143, 6) + "," + linha.ToString().Substring(149, 2), out double precoPromocao); string Data = linha.Substring(0, 10) + " " + linha.Substring(12, 8); DateTime.TryParse(Data, out DateTime dataAtualizacao); Artigo artigo = new Artigo { IdArtigo = IdArtigo, NomeArtigo = linha.Substring(63, 48), UltimaAtualizacao = dataAtualizacao }; if (precoPromocao == 0) { artigo.Preco = preco; } else { artigo.Preco = precoPromocao; } 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); } } } if (linha.ToString().Contains("Socket cliente abierto correctamente. IP Balanza:")) { lerLinha = (ObterIPString(linha.ToString()) == balanca.Dir_IP); } } } } } return(LstArtigos.OrderByDescending(o => o.UltimaAtualizacao).ToList()); }