public ScriptResponse Execute(ContextDataObject context, string query) { ErpBS bsERP = new ErpBS(); if (!context.Parameters.ContainsKey("TipoPlataforma")) { throw new Exception("TipoPlataforma inválido"); } EnumTipoPlataforma tipoPlataforma; if (!Enum.TryParse <EnumTipoPlataforma>((string)context.Parameters["TipoPlataforma"], out tipoPlataforma)) { throw new Exception("TipoPlataforma inválido"); } try { bsERP.AbreEmpresaTrabalho(tipoPlataforma, context.Company, context.Username, context.Password); } catch (Exception e) { throw new Exception("Erro a abrir a empresa no ERP: " + e.Message); } StdBELista queryResults = bsERP.Consulta(query); int numLinhas = queryResults.NumLinhas(); int numColunas = queryResults.NumColunas(); string[] headers = new string[numColunas]; for (short i = 0; i < numColunas; i++) { headers[i] = queryResults.Nome(i); } object[,] data = new object[numLinhas, numColunas]; for (short i = 0; i < numLinhas; i++) { for (short j = 0; j < numColunas; j++) { var nome = headers[j]; data[i, j] = queryResults.Valor(nome); } queryResults.Seguinte(); } QueryResult response = new QueryResult() { Headers = headers, Data = data }; bsERP.FechaEmpresaTrabalho(); return(new ScriptResponse { Object = response }); }
public static Lib_Primavera.Model.TipoTarefa GetTipoTarefa(string cod) { StdBELista objList = new StdBELista(); Model.TipoTarefa act = new Model.TipoTarefa(); if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true) { objList = PriEngine.Engine.Consulta( "SELECT TiposTarefa.ID AS ID, TiposTarefa.Descricao AS Descricao FROM TiposTarefa WHERE ID ='" + cod + "'"); if (objList.NumLinhas().Equals(0)) { return(null); } else { act = new Model.TipoTarefa(); act.ID = objList.Valor("ID"); act.Descricao = objList.Valor("Descricao"); return(act); } } else { return(null); } }
public void info() { init(); ErpBS motor = new ErpBS(); bool _false = false; Console.WriteLine("License: " + !motor.Licenca.VersaoDemo); Console.WriteLine("Language: " + _admBs.Params.get_Idioma()); Console.WriteLine("Seguranca Activa: " + _admBs.Params.get_SegurancaActiva()); Console.WriteLine("Seguranca Pro Emp Activa: " + _admBs.Params.get_SegurancaPorEmpActiva()); Console.WriteLine("Modo Seguranca: " + _admBs.Params.get_SegurancaActiva()); //Console.WriteLine("N Postos: " + adm.Utilizadores.listPostos.ListaPostos(ref _false).NumItens); string backupsdir = Backupsdir; if (backupsdir == null) { backupsdir = _admBs.SQLServer.DirectoriaBackup(); } Console.WriteLine("DirectoriaBackup: " + backupsdir); StdBELista uList = _admBs.Consulta("SELECT * FROM utilizadores"); Console.WriteLine("N Utilizadores: " + uList.NumLinhas()); uList.Inicio(); while (!uList.NoFim()) { Console.WriteLine(" Utilizador: " + uList.Valor("Codigo") + ", " + uList.Valor("Nome")); uList.Seguinte(); } StdBELista eList = _admBs.Consulta("SELECT * FROM empresas"); Console.WriteLine("N Empresas: " + eList.NumLinhas()); eList.Inicio(); while (!eList.NoFim()) { Console.WriteLine(" Empresa: " + eList.Valor("Codigo") + ", " + eList.Valor("IDNome")); eList.Seguinte(); } return; }
private bool EditCabec(int number) { bool result = false; string sql = PSO.Sql.FormatSQL("SELECT * FROM TDU_CabecAnomalias WHERE CDU_Numero = @1@", number); StdBELista list = BSO.Consulta(sql); if (list != null) { if (list.NumLinhas() == 1) { result = true; numericUpDownNumber.Value = list.Valor("CDU_Numero"); dateTimePickerDate.Value = list.Valor("CDU_Data"); } } return(result); }
// Function to test SQL queries: public static String TestSQL(String sql, List <String> columns) { String response = ""; if (PriEngine.InitializeCompany(Settings.Default.Company.Trim(), Settings.Default.User.Trim(), Settings.Default.Password.Trim()) == true) { StdBELista list = PriEngine.Engine.Consulta(sql); response += "Numero de linhas: " + list.NumLinhas() + "\n"; response += "Numero de colunas: " + list.NumColunas() + "\n"; while (!list.NoFim()) { foreach (String column in columns) { response += column + ": " + list.Valor(column) + ";"; } response += "\n"; list.Seguinte(); } } return(response); }
private void btnImport_Click(object sender, EventArgs e) { if (lstDocuments != null && lstDocuments.NumLinhas() > 0) { bool occurredErrors = false; bool occurredSomeIntegrations = false; DialogResult oDialog = ERPContext.PSO.Dialogos.MostraDialogoEsperaAsync( this, "A processar documentos...", new Action <Progress <int>, CancellationToken>((progress, cancel) => { int i = 0; lstDocuments.Inicio(); while (!lstDocuments.NoFim()) { ((IProgress <int>)progress).Report(Convert.ToInt32((decimal)i / (decimal)lstDocuments.NumLinhas() * 100)); if (lstDocuments.DaValor <bool>("Sel")) { Tuple <string, string> retValue = new Tuple <string, string>(String.Empty, String.Empty); if (lstDocuments.DaValor <string>("DocType").Equals("Compra")) { retValue = BusinessProcesses.ImportSalesDocument(ERPContext, lstDocuments.DaValor <string>("Company"), lstDocuments.DaValor <string>("IDDoc")); } else if (lstDocuments.DaValor <string>("DocType").Equals("Encomenda")) { retValue = BusinessProcesses.ImportPurchasesDocument(ERPContext, lstDocuments.DaValor <string>("Company"), lstDocuments.DaValor <string>("IDDoc")); } else { retValue = new Tuple <string, string>(String.Empty, String.Empty); } if (retValue.Item1.Equals("ERRO")) { occurredErrors = true; } else { occurredSomeIntegrations = true; } SetGridText(lstDocuments.DaValor <string>("IDDoc"), retValue); } i++; lstDocuments.Seguinte(); } })); // Erros if (occurredErrors) { ERPContext.PSO.Dialogos.MostraMensagem( StdBSTipos.TipoMsg.PRI_SimplesOk, "Ocorreram erros na importação. Verifique as notas.", StdBSTipos.IconId.PRI_Exclama); } else if (occurredSomeIntegrations) { ERPContext.PSO.Dialogos.MostraMensagem( StdBSTipos.TipoMsg.PRI_SimplesOk, "Integração terminada com sucesso.", StdBSTipos.IconId.PRI_Informativo); } else { ERPContext.PSO.Dialogos.MostraMensagem( StdBSTipos.TipoMsg.PRI_SimplesOk, "Não foram efetuadas quaisquer integrações.", StdBSTipos.IconId.PRI_Informativo); } } else { ERPContext.PSO.Dialogos.MostraMensagem( StdPlatBS100.StdBSTipos.TipoMsg.PRI_SimplesOk, "Não há documentos para processar.", StdBSTipos.IconId.PRI_Informativo); } }
//Method that executes the query in the external system. private ScriptResponse executeQuery(ContextData context, Entity document, string query) { ErpBS bsERP = new ErpBS(); if (context.ExternalSystems == null || context.ExternalSystems.Count == 0) { throw new Exception("External System em falta"); } var externalSystem = context.ExternalSystems.FirstOrDefault().Value; if (!externalSystem.Parameters.ContainsKey("TipoPlataforma")) { throw new Exception("TipoPlataforma inválido"); } EnumTipoPlataforma tipoPlataforma; if (!Enum.TryParse <EnumTipoPlataforma>((string)externalSystem.Parameters["TipoPlataforma"], out tipoPlataforma)) { throw new Exception("TipoPlataforma inválido"); } try { bsERP.AbreEmpresaTrabalho(tipoPlataforma, externalSystem.Code, (string)externalSystem.Parameters["Username"], (string)externalSystem.Parameters["Password"]); } catch (Exception e) { throw new Exception("Erro a abrir a empresa no ERP: " + e.Message); } StdBELista queryResults = bsERP.Consulta(query); int numLinhas = queryResults.NumLinhas(); int numColunas = queryResults.NumColunas(); string[] headers = new string[numColunas]; for (short i = 0; i < numColunas; i++) { headers[i] = queryResults.Nome(i); } object[,] data = new object[numLinhas, numColunas]; for (short i = 0; i < numLinhas; i++) { for (short j = 0; j < numColunas; j++) { var nome = headers[j]; data[i, j] = queryResults.Valor(nome); } queryResults.Seguinte(); } QueryResult response = new QueryResult() { Headers = headers, Data = data }; bsERP.FechaEmpresaTrabalho(); return(new ScriptResponse { Result = response }); }
public ScriptResponse Execute(ContextData context, Entity document, Dictionary <string, object> parameters) { /* **************************************** */ /* **************************************** */ /* ADD YOUR CODE HERE */ ErpBS bsERP = new ErpBS(); var externalSystem = context.ExternalSystems.FirstOrDefault().Value; try { if (!externalSystem.Parameters.ContainsKey("TipoPlataforma")) { throw new Exception("TipoPlataforma invalido"); } EnumTipoPlataforma tipoPlataforma; if (!Enum.TryParse <EnumTipoPlataforma>((string)externalSystem.Parameters["TipoPlataforma"], out tipoPlataforma)) { throw new Exception("TipoPlataforma invalido"); } try { bsERP.AbreEmpresaTrabalho(tipoPlataforma, externalSystem.Code, (string)externalSystem.Parameters["Username"], (string)externalSystem.Parameters["Password"]); } catch (Exception e) { throw new Exception("Erro a abrir a empresa no ERP: " + e.Message); } string str = externalSystem.Parameters["0"].ToString(); int first = str.IndexOf("Commitments.GoodsPurchaseRequest[") + "Commitments.GoodsPurchaseRequest[".Length; int last = str.LastIndexOf("].ERPCode"); int commIndex = int.Parse(str.Substring(first, last - first)); StdBELista queryResults = bsERP.Consulta($"SELECT Nome,Pais FROM Fornecedores WHERE Fornecedor='{document.Commitments.GoodsPurchaseRequest[commIndex].Attributes.ERPCode}'"); int numLinhas = queryResults.NumLinhas(); int numColunas = queryResults.NumColunas(); string[] headers = new string[numColunas]; for (short i = 0; i < numColunas; i++) { headers[i] = queryResults.Nome(i); } object[,] data = new object[numLinhas, numColunas]; for (short i = 0; i < numLinhas; i++) { for (short j = 0; j < numColunas; j++) { var nome = headers[j]; data[i, j] = queryResults.Valor(nome); } queryResults.Seguinte(); } QueryResult response = new QueryResult() { Headers = headers, Data = data, NumberOfRecords = numLinhas }; bsERP.FechaEmpresaTrabalho(); return(new ScriptResponse { Result = response }); } catch (Exception ex) { bsERP.FechaEmpresaTrabalho(); throw ex; } }