public string DescricaoErro(int erro) { StringBuilder descricao = new StringBuilder(127); SiTef.DescricaoErro(_term, (IntPtr)erro, descricao); return(descricao.ToString()); }
public void IniciaTransacao() { _transaction = SiTef.IniciaTransacao(_term); if (_transaction < 0) { throw new TerminalException(DescricaoErro(_transaction)); } }
public void Release() { SiTef.FinalizaTerminal(_term); foreach (var action in _disposeCallbacks) { action(this); } }
public void Executa(int acao) { int result = SiTef.Executa(_term, (IntPtr)acao); if (result < 0) { throw new TerminalException(DescricaoErro(result)); } }
public void GravaCampo(IntPtr id, string value) { int result = SiTef.GravaCampo(_term, id, value); if (result < 0) { throw new TerminalException(DescricaoErro(result)); } }
public Task ReleaseAsync() { SiTef.FinalizaTerminal(_term); return(Task.Run(() => { foreach (var action in _disposeCallbacks) { action(this); } })); }
public Terminal(string servidor, string terminal, string empresa) { _terminal = terminal; Servidor = servidor; Empresa = empresa; _term = SiTef.IniciaTerminal(servidor, terminal, empresa); _disposeCallbacks = new List <Action <ITerminal> >(); if (IntPtr.Zero == _term) { throw new TerminalException("unable to initialize terminal"); } IniciaTransacao(); }
public String LeCampo(int id, int length) { StringBuilder valor = new StringBuilder(length); int result = SiTef.LeCampo(_term, (IntPtr)id, valor); if (result < 0) { throw new TerminalException(DescricaoErro(result)); } if (valor.Length < length) { length = valor.Length; } return(valor.ToString().Substring(0, length)); }
public bool ExistemMaisElementos(int campo) { return(SiTef.ExistemMaisElementos(_term, campo) == 1); }
public void FinalizaTerminal() { SiTef.FinalizaTerminal(_term); }