public static ProposalsLine Insert(string sessionId, ProposalsLine jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var proposalLineInfo = new CrmBELinhaPropostaOPV(); var opportunitiesTable = PrimaveraEngine.Engine.CRM.PropostasOPV; var proposalInfo = opportunitiesTable.Edita(jsonObject.idOportunidade, jsonObject.ProposalNumber); var proposalLines = proposalInfo.get_Linhas(); /*if (opportunitiesTable.Existe(opportunityId)) * { * throw new EntityExistsException("oportunidade", true); * }*/ proposalInfo.set_EmModoEdicao(true); SetFields(proposalLineInfo, jsonObject); proposalLines.Insere(proposalLineInfo); proposalInfo.set_Linhas(proposalLines); opportunitiesTable.Actualiza(proposalInfo); return(GenerateProposal(proposalLineInfo)); }
public static bool Delete(string sessionId, string proposalsId, ProposalsLine jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } /*if (opportunitiesTable.Existe(opportunityId) == false) * { * throw new NotFoundException("oportunidade", true); * }*/ var proposalsTableAux = PrimaveraEngine.Engine.CRM.PropostasOPV; var proposalsTable = PrimaveraEngine.Engine.CRM.PropostasOPV.Edita(jsonObject.idOportunidade, jsonObject.ProposalNumber); var proposalLines = proposalsTable.get_Linhas(); proposalsTable.set_EmModoEdicao(true); proposalLines.Remove(jsonObject.Line); proposalsTableAux.Actualiza(proposalsTable); /*if (CheckPermissions(opportunityInfo, sessionId) == false) * { * return false; * }*/ return(true); }
public static List <Proposals> List(string sessionId, string opportunityId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var proposalInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("PROPOSTASOPV") .Columns(sqlColumnsListing) .Where("IdOportunidade", Comparison.Equals, opportunityId)); /*if (proposalInfo == null || proposalInfo.Vazia()) * { * throw new NotFoundException("oportunidade", true); * }*/ var queryResult = new List <Proposals>(); while (!proposalInfo.NoFim()) { queryResult.Add(GenerateListing(proposalInfo, opportunityId)); proposalInfo.Seguinte(); } return(queryResult); }
public static List <ProposalsLine> List(string id, short proposalNumber) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var formattedId = id.Replace("%7B", "{").Replace("%7D", "}"); var lineInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("LINHASPROPOSTASOPV") .Columns(sqlColumnsListing) .Where("IdOportunidade", Comparison.Equals, formattedId) .Where("NumProposta", Comparison.Equals, proposalNumber)); /*if (lineInfo == null || lineInfo.Vazia()) * { * throw new NotFoundException("proposta", true); * }*/ var lineList = new List <ProposalsLine>(); while (!lineInfo.NoFim()) { lineList.Add(GenerateListing(lineInfo)); lineInfo.Seguinte(); } return(lineList); }
public static Representative View(string representativeId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var representativesTable = PrimaveraEngine.Engine.Comercial.Vendedores; if (representativesTable.Existe(representativeId) == false) { throw new NotFoundException("vendedor", false); } var representativeInfo = representativesTable.Edita(representativeId); return(new Representative { Nome = representativeInfo.get_Nome(), Email = representativeInfo.get_Email(), Morada = representativeInfo.get_Morada(), Comissao = representativeInfo.get_Comissao(), Telefone = representativeInfo.get_Telefone(), Telemovel = representativeInfo.get_Telemovel(), Identificador = representativeInfo.get_Vendedor(), Empresa = PrimaveraEngine.Engine.Licenca.get_Nome(), CodigoPostal = representativeInfo.get_CodigoPostal(), Fotografia = representativeInfo.get_LocalizacaoFoto(), Localidade = representativeInfo.get_LocalidadeCodigoPostal(), }); }
public static Proposals Insert(string sessionId, Proposals jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var proposalInfo = new CrmBEPropostaOPV(); var proposalsTable = PrimaveraEngine.Engine.CRM.PropostasOPV; /*if (opportunitiesTable.Existe(opportunityId)) * { * throw new EntityExistsException("oportunidade", true); * }*/ SetFields(proposalInfo, jsonObject); proposalsTable.Actualiza(proposalInfo); /* for (int i = 0; i < jsonObject.ProposalsLines.Count; i++) * { * ProposalLinesIntegration.Insert(jsonObject.ProposalsLines[i]); * }*/ return(GenerateProposal(proposalInfo, jsonObject.ProposalsLines)); }
public static Warehouse Get(string warehouseId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var warehouseInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("ARMAZENS") .Columns(sqlColumnsFull) .Where("Armazem", Comparison.Equals, warehouseId)); if (warehouseInfo == null || warehouseInfo.Vazia()) { throw new NotFoundException("armazém", false); } return(new Warehouse { Localizacao = GetAddress(warehouseInfo), Descricao = TypeParser.String(warehouseInfo.Valor("Descricao")), Telefone = TypeParser.String(warehouseInfo.Valor("Telefone")), Identificador = TypeParser.String(warehouseInfo.Valor("Armazem")), DataModificacao = TypeParser.Date(warehouseInfo.Valor("DataUltimaActualizacao")) }); }
public static List <Reference> View(string paramId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var concelhoList = new List <Reference>(); var concelhoInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("CONCELHOS") .Columns(sqlConcelho) .Where(fieldDistrito, Comparison.Equals, paramId) .Where(fieldConcelho, Comparison.GreaterThan, 0)); if (concelhoInfo == null || concelhoInfo.Vazia()) { return(concelhoList); } while (!concelhoInfo.NoFim()) { concelhoList.Add(new Reference() { Descricao = TypeParser.String(concelhoInfo.Valor(fieldDescricao)), Identificador = TypeParser.String(concelhoInfo.Valor(fieldConcelho)) }); concelhoInfo.Seguinte(); } return(concelhoList); }
public static List <WarehouseProduct> GetWarehouses(string productId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var warehouseList = new List <WarehouseProduct>(); var warehouseInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("ARTIGOARMAZEM") .Columns(sqlColumnsAggregate) .Where("ARTIGOARMAZEM.Artigo", Comparison.Equals, productId) .LeftJoin("ARMAZENS", "Armazem", Comparison.Equals, "ARTIGOARMAZEM", "Armazem") .GroupBy(new string[] { "ARTIGOARMAZEM.Artigo", "ARMAZENS.Armazem" })); if (warehouseInfo == null || warehouseInfo.Vazia()) { return(warehouseList); } while (!warehouseInfo.NoFim()) { warehouseList.Add(new WarehouseProduct { Localizacao = GetAddress(warehouseInfo), Stock = TypeParser.Double(warehouseInfo.Valor("Stock")), Descricao = TypeParser.String(warehouseInfo.Valor("Descricao")), Identificador = TypeParser.String(warehouseInfo.Valor("Armazem")) }); warehouseInfo.Seguinte(); } return(warehouseList); }
public static List <WarehouseListing> List() { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var warehouseList = new List <WarehouseListing>(); var warehouseInfo = PrimaveraEngine.Consulta(new SqlBuilder().FromTable("ARMAZENS").Columns(sqlColumnsListing)); if (warehouseInfo == null || warehouseInfo.Vazia()) { return(warehouseList); } ; while (!warehouseInfo.NoFim()) { warehouseList.Add(new WarehouseListing { Localizacao = GetAddress(warehouseInfo), Descricao = TypeParser.String(warehouseInfo.Valor("Descricao")), Identificador = TypeParser.String(warehouseInfo.Valor("Armazem")), }); warehouseInfo.Seguinte(); } return(warehouseList); }
public static LeadInfo Delete(string sessionId, string leadId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var leadsTable = PrimaveraEngine.Engine.CRM.EntidadesExternas; if (leadsTable.Existe(leadId) == false) { throw new NotFoundException("lead", true); } var leadInfo = leadsTable.Edita(leadId); if (CheckPermissions(leadInfo, sessionId) == false) { return(null); } leadInfo.set_EmModoEdicao(true); leadInfo.set_Activo(false); leadInfo.set_TipoEntidade("004"); leadInfo.set_DataUltAct(DateTime.Now); leadsTable.Actualiza(leadInfo); return(GenerateInfo(leadInfo)); }
public static ActivityInfo Delete(string sessionId, string activityId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var activitiesTable = PrimaveraEngine.Engine.CRM.Actividades; if (activitiesTable.Existe(activityId) == false) { throw new NotFoundException("actividade", true); } var activityInfo = activitiesTable.Edita(activityId); /*if (CheckPermissions(activityInfo, sessionId) == false) * { * return null; * }*/ activityInfo.set_EmModoEdicao(true); activityInfo.set_Estado("1"); activityInfo.set_DataUltAct(DateTime.Now); activitiesTable.Actualiza(activityInfo); return(GenerateActivity(activityInfo)); }
public static ActivityInfo Insert(string sessionId, Activity jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var activityInfo = new CrmBEActividade(); var activityId = PrimaveraEngine.generateGUID(); var activitiesTable = PrimaveraEngine.Engine.CRM.Actividades; if (activitiesTable.Existe(activityId)) { throw new EntityExistsException("actividade", true); } activityInfo.set_ID(activityId); activityInfo.set_Estado("0"); activityInfo.set_CriadoPor(sessionId); activityInfo.set_DataCriacao(DateTime.Now); activityInfo.set_DataUltAct(DateTime.Now); SetFields(activityInfo, jsonObject); activityInfo = activitiesTable.PreencheDadosRelacionados(activityInfo); activitiesTable.Actualiza(activityInfo); return(GenerateActivity(activityInfo)); }
public static List <ProductListing> List() { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var productList = new List <ProductListing>(); var productInfo = PrimaveraEngine.Consulta(new SqlBuilder().FromTable("ARTIGO").Columns(sqlColumnsListing)); if (productInfo == null || productInfo.Vazia()) { return(productList); } while (!productInfo.NoFim()) { productList.Add(GenerateListing(productInfo)); productInfo.Seguinte(); } productList.Sort(delegate(ProductListing lhs, ProductListing rhs) { if (lhs.Identificador == null || rhs.Identificador == null) { return(-1); } return(lhs.Identificador.CompareTo(rhs.Identificador)); }); return(productList); }
public static List <RepresentativeListing> List() { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var representativeList = new List <RepresentativeListing>(); var representativeInfo = PrimaveraEngine.Consulta(new SqlBuilder().Columns(sqlVendedor).FromTable("VENDEDORES")); if (representativeInfo == null || representativeInfo.Vazia()) { return(representativeList); } while (!representativeInfo.NoFim()) { representativeList.Add(new RepresentativeListing { Identificador = TypeParser.String(representativeInfo.Valor(fieldVendedor)), Nome = TypeParser.String(representativeInfo.Valor(fieldNome)), Comissao = TypeParser.Double(representativeInfo.Valor(fieldComissao)) }); representativeInfo.Seguinte(); } return(representativeList); }
public static List <Reference> List() { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var distritoList = new List <Reference>(); var distritoInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("DISTRITOS") .Columns(sqlDistrito) .Where(fieldDistrito, Comparison.GreaterThan, 0)); if (distritoInfo == null || distritoInfo.Vazia()) { return(distritoList); } while (!distritoInfo.NoFim()) { distritoList.Add(new Reference() { Descricao = TypeParser.String(distritoInfo.Valor(fieldDescricao)), Identificador = TypeParser.String(distritoInfo.Valor(fieldDistrito)) }); distritoInfo.Seguinte(); } return(distritoList); }
public static List <Reference> ListTypes(DefinitionType definitionType) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } if (definitionColumns.ContainsKey(definitionType) == false) { throw new NotFoundException("tipo", false); } var typeList = new List <Reference>(); var typeInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable(getTable(definitionType)) .Columns(definitionColumns[definitionType])); if (typeInfo == null || typeInfo.Vazia()) { return(typeList); } while (!typeInfo.NoFim()) { typeList.Add(GenerateType(typeInfo, definitionType)); typeInfo.Seguinte(); } return(typeList); }
public static bool Delete(string sessionId, string quoteId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var quotesTable = PrimaveraEngine.Engine.Comercial.Vendas; if (quotesTable.ExisteID(quoteId) == false) { return false; } var quoteInfo = quotesTable.EditaID(quoteId); if (CheckPermissions(quoteInfo, sessionId) == false) { return false; } quoteInfo.set_EmModoEdicao(true); quoteInfo.set_Anulado(true); quotesTable.Actualiza(quoteInfo); return true; }
public static List <Reference> ListCampaigns() { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var campaignList = new List <Reference>(); var campaignInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable(definitionTables[DefinitionType.Campaign]) .Columns(definitionColumns[DefinitionType.Campaign]) .Where("Activa", Comparison.Equals, 1)); if (campaignInfo == null || campaignInfo.Vazia()) { return(campaignList); } while (!campaignInfo.NoFim()) { campaignList.Add(GenerateType(campaignInfo, DefinitionType.Campaign)); campaignInfo.Seguinte(); } return(campaignList); }
public static List <ActivityType> ListActivityTypes() { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var typeList = new List <ActivityType>(); var typeInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable(getTable(DefinitionType.ActivityType)) .Columns(getColumns(DefinitionType.ActivityType))); if (typeInfo == null || typeInfo.Vazia()) { return(typeList); } while (!typeInfo.NoFim()) { typeList.Add(GenerateActivity(typeInfo)); typeInfo.Seguinte(); } return(typeList); }
public static ContactInfo Insert(string sessionId, Contact jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var contactInfo = new CrmBEContacto(); var contactId = PrimaveraEngine.GenerateName(jsonObject.Nome); var contactsTable = PrimaveraEngine.Engine.CRM.Contactos; if (contactsTable.Existe(contactId)) { throw new EntityExistsException("contacto", false); } contactInfo.set_Contacto(contactId); contactInfo.set_CriadoPor(sessionId); contactInfo.set_DataUltContacto(DateTime.Now); contactInfo.set_ID(PrimaveraEngine.generateGUID()); SetFields(contactInfo, jsonObject); contactsTable.Actualiza(contactInfo); return(GenerateContact(contactInfo)); }
public static List <Reference> ListThirdPartyTypes() { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var typeList = new List <Reference>(); var typeInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("TipoTerceiros") .Columns(definitionColumns[DefinitionType.ThirdParty]) .Where("EntidadesExternas", Comparison.Equals, 1)); if (typeInfo == null || typeInfo.Vazia()) { return(typeList); } while (!typeInfo.NoFim()) { typeList.Add(GenerateType(typeInfo, DefinitionType.ThirdParty)); typeInfo.Seguinte(); } return(typeList); }
public static CustomerInfo Delete(string sessionId, string customerId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var customerQuery = PrimaveraEngine.Consulta(new SqlBuilder() .Column("Cliente") .FromTable("CLIENTES") .Where("Cliente", Comparison.Equals, customerId)); if (customerQuery == null || customerQuery.Vazia()) { throw new NotFoundException("cliente", false); } var customersTable = PrimaveraEngine.Engine.Comercial.Clientes; var customerInfo = customersTable.Edita(customerId); /*if (CheckPermissions(customerInfo, sessionId) == false) * { * return null; * }*/ customerInfo.set_EmModoEdicao(true); customerInfo.set_Situacao("INACTIVO"); customerInfo.set_DataUltimaActualizacao(DateTime.Now); customersTable.Actualiza(customerInfo); return(generateCustomer(customerInfo)); }
public static ContactInfo Update(string sessionId, string contactId, Contact jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var contactsTable = PrimaveraEngine.Engine.CRM.Contactos; if (contactsTable.Existe(contactId) == false) { throw new NotFoundException("contacto", false); } var contactInfo = contactsTable.Edita(contactId); /*if (CheckPermissions(contactInfo, sessionId) == false) * { * return null; * }*/ contactInfo.set_EmModoEdicao(true); contactInfo.set_DataUltContacto(DateTime.Now); SetFields(contactInfo, jsonObject); contactsTable.Actualiza(contactInfo); return(GenerateContact(contactInfo)); }
public static CustomerInfo Insert(string sessionId, Customer jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var customerInfo = new GcpBECliente(); var customerId = PrimaveraEngine.GenerateName(jsonObject.Nome); var customersTable = PrimaveraEngine.Engine.Comercial.Clientes; if (customersTable.Existe(customerId)) { throw new EntityExistsException("cliente", false); } customerInfo.set_Cliente(customerId); SetFields(customerInfo, jsonObject); customerInfo.set_Moeda("EUR"); customerInfo.set_Situacao("ACTIVO"); customerInfo.set_Inactivo(false); customerInfo.set_Vendedor(sessionId); customerInfo.set_DataCriacao(DateTime.Now); customerInfo.set_DataUltimaActualizacao(DateTime.Now); customersTable.Actualiza(customerInfo); return(generateCustomer(customerInfo)); }
private static List <Reference> ByCustomer(string customerId) { var opportunityList = new List <Reference>(); var opportunityInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("CABECOPORTUNIDADESVENDA") .Columns(sqlColumnsListing) .Where("TipoEntidade", Comparison.Equals, "C") .Where("Entidade", Comparison.Equals, customerId)); if (opportunityInfo == null || opportunityInfo.Vazia()) { return(opportunityList); } while (!opportunityInfo.NoFim()) { opportunityList.Add(new Reference { Identificador = TypeParser.String(opportunityInfo.Valor("ID")), Descricao = TypeParser.String(opportunityInfo.Valor("Descricao")) }); opportunityInfo.Seguinte(); } return(opportunityList); }
public static bool Delete(string sessionId, string opportunityId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var opportunitiesTable = PrimaveraEngine.Engine.CRM.OportunidadesVenda; if (opportunitiesTable.Existe(opportunityId) == false) { throw new NotFoundException("oportunidade", true); } var opportunityInfo = opportunitiesTable.Edita(opportunityId); /*if (CheckPermissions(opportunityInfo, sessionId) == false) * { * return false; * }*/ opportunityInfo.set_EmModoEdicao(true); opportunityInfo.set_Descricao("DELETED"); opportunitiesTable.Actualiza(opportunityInfo); return(true); }
public static List <Opportunity> List(string sessionId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var opportunityList = new List <Opportunity>(); var opportunityInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("CABECOPORTUNIDADESVENDA") .Columns(sqlColumnsListing) .Where("Descricao", Comparison.NotEquals, "DELETED")); if (opportunityInfo == null || opportunityInfo.Vazia()) { return(opportunityList); } while (!opportunityInfo.NoFim()) { opportunityList.Add(GenerateListing(opportunityInfo)); opportunityInfo.Seguinte(); } return(opportunityList); }
public static string ContryReference(string countryId) { var sqlQuery = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("PAISES") .Columns(fieldDescricao) .Where(fieldPais, Comparison.Equals, countryId)); return(sqlQuery.Vazia() ? countryId : TypeParser.String(sqlQuery.Valor(fieldDescricao))); }
public static string DistritoReference(string distritoId) { var sqlQuery = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("DISTRITOS") .Columns(fieldDescricao) .Where(fieldDistrito, Comparison.Equals, distritoId)); return(sqlQuery.Vazia() ? distritoId : TypeParser.String(sqlQuery.Valor(fieldDescricao))); }