/// <summary> /// Metodo para adição dos itens no orçamento do small /// </summary> /// <param name="ID_loja">ID da loja a ser vendida, paramentro 0 para todas as lojas</param> private void salvaSmall(Int32 ID_loja) { String pedidoZero = "0000000000"; String lancamentoZero = "0000000000"; bool gravado = false; Int32 pedido, lancamento; ///Processo do banco de dados Recordset rsdados = new Recordset(); Connection conex = new Conexao().getSmall(); String SQL = "SELECT ORCAMENT.* FROM ORCAMENT ORDER BY ORCAMENT.REGISTRO;"; rsdados.Open(SQL, conex, CursorTypeEnum.adOpenDynamic, LockTypeEnum.adLockOptimistic); rsdados.MoveLast(); ///Processo de coleta de numeração de registro pedido = Convert.ToInt32(rsdados.Fields["PEDIDO"].Value.ToString()); pedido++; lancamento = Convert.ToInt32(rsdados.Fields["REGISTRO"].Value.ToString()); lancamento++; pedidoZero += pedido.ToString(); lancamentoZero += lancamento.ToString(); pedidoZero = new SIME.Class.Uteis().direita(pedidoZero, 9); lancamentoZero = new SIME.Class.Uteis().direita(lancamentoZero, 9); ///Adição de registro foreach (var item in itens) { if (item.getID_loja() == ID_loja || item.getID_loja() == 0) { rsdados.AddNew(); rsdados.Fields["CODIGO"].Value = item.getID_produto().ToString(); rsdados.Fields["DESCRICAO"].Value = ((item.getDescricao().Length > 45) ? new SIME.Class.Uteis().esquerda(item.getDescricao().ToString(), 44) : item.getDescricao()); rsdados.Fields["QUANTIDADE"].Value = item.getQuantidade().ToString(); rsdados.Fields["UNITARIO"].Value = item.getUnitario().ToString("N"); rsdados.Fields["TOTAL"].Value = (item.getQuantidade() * item.getUnitario()).ToString("N"); rsdados.Fields["DATA"].Value = DateTime.Now.ToShortDateString(); rsdados.Fields["TIPO"].Value = "ORCAME"; rsdados.Fields["PEDIDO"].Value = pedidoZero; rsdados.Fields["CLIFOR"].Value = "MOVIMENTAÇÃO DIÁRIA";//Modificar futuramente para procurar o cliente em small rsdados.Fields["REGISTRO"].Value = lancamentoZero; rsdados.Update(); if (gravado == false) { this.orcamentoSmall = pedidoZero; this.Salvar(); gravado = true; } } rsdados.Close(); conex.Close(); } }
/// <summary> /// Método que seta a chave da NF /// </summary> /// <param name="chave">String contendo a chave do produto</param> public void setChave(String chave) { if (chave.Equals("")) { throw new ArgumentException("Não é permitido chave vazia"); } if (chave.Length != 44) { throw new ArgumentException("A chave da NF-e deve conter 44 dígitos."); } string chave1 = new SIME.Class.Uteis().esquerda(chave, 42); Int32 dvChave = Convert.ToInt32(new SIME.Class.Uteis().direita(chave, 0)); if (GerarDigitoVerificadorNFe(chave1) != dvChave) { throw new ArgumentException("Chave inválida."); } this.chaveNFE = chave; coletaInfChave(chave); }
/// <summary> /// Classe que cria objeto nota de entrada baseado na consulta da chave da nota de entrada. /// </summary> /// <param name="chaveNFE">String contendo a chave de entrada de uma nota fiscal</param> public nota_entrada(String chaveNFE) { string chave1 = new SIME.Class.Uteis().esquerda(chaveNFE, 42); Int32 dvChave = Convert.ToInt32(new SIME.Class.Uteis().direita(chaveNFE, 0)); if (GerarDigitoVerificadorNFe(chave1) != dvChave) { throw new ArgumentException("Chave inválida."); } String SQL = "SELECT notas_entradas.* FROM notas_entradas WHERE (((notas_entradas.Chave_NFE)='" + chaveNFE + "'));"; try { coletaDados(SQL); } catch (Exception erro) { throw erro; } this.chaveNFE = chaveNFE; }