private static CustomerInfo generateCustomer(GcpBECliente customerInfo) { return(new CustomerInfo() { Identificador = customerInfo.get_Cliente(), Nome = customerInfo.get_Nome(), Estado = customerInfo.get_Situacao(), Debito = customerInfo.get_DebitoContaCorrente(), NumContribuinte = customerInfo.get_NumContribuinte(), Pendentes = customerInfo.get_DebitoEncomendasPendentes(), DataCriacao = customerInfo.get_DataCriacao(), DataModificacao = customerInfo.get_DataUltimaActualizacao(), EnderecoWeb = customerInfo.get_EnderecoWeb(), Particular = customerInfo.get_PessoaSingular(), Telefone = customerInfo.get_Telefone(), Telefone2 = customerInfo.get_Fax(), Telemovel = customerInfo.get_Telefone2(), Responsavel = UserIntegration.Reference(customerInfo.get_Vendedor()), Localizacao = new Address { Pais = customerInfo.get_Pais(), Morada = customerInfo.get_Morada(), Localidade = customerInfo.get_Localidade(), CodigoPostal = customerInfo.get_CodigoPostal(), Distrito = LocationIntegration.DistritoReference(customerInfo.get_Distrito()) } }); }
public static QuoteInfo Insert(string sessionId, QuoteInfo jsonObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var quoteInfo = new GcpBEDocumentoVenda(); try { SetDefaultQuotesInfo(sessionId, quoteInfo); SetOptionalFields(quoteInfo, jsonObject); if (jsonObject.Produtos != null) { foreach (var produto in jsonObject.Produtos) { PrimaveraEngine.Engine.Comercial.Vendas.AdicionaLinha(quoteInfo, produto.Produto.Identificador, produto.Quantidade, "", "", produto.Preco, produto.Desconto); } } PrimaveraEngine.Engine.IniciaTransaccao(); PrimaveraEngine.Engine.Comercial.Vendas.Actualiza(quoteInfo); PrimaveraEngine.Engine.TerminaTransaccao(); } catch (Exception ex) { PrimaveraEngine.Engine.DesfazTransaccao(); throw ex; } return new QuoteInfo { NumEncomenda = quoteInfo.get_NumDoc(), Cliente = quoteInfo.get_Entidade(), NomeCliente = quoteInfo.get_Nome(), EnderecoEntrega = new Address { Morada = quoteInfo.get_Morada(), CodigoPostal = quoteInfo.get_CodigoPostal(), Localidade = quoteInfo.get_Localidade(), Distrito = LocationIntegration.DistritoReference(quoteInfo.get_Distrito()), Pais = quoteInfo.get_Pais() }, Data = quoteInfo.get_DataDoc(), IdOportunidade = quoteInfo.get_IdOportunidade(), TotalMerc = quoteInfo.get_TotalMerc(), Produtos = null }; }
public static CustomerInfo View(string sessionId, string customerId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var customerInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("CLIENTES") .Columns(sqlColumnsFull) .Where("Cliente", Comparison.Equals, customerId)); if (customerInfo == null || customerInfo.Vazia()) { throw new NotFoundException("cliente", false); } var responsavelId = TypeParser.String(customerInfo.Valor("Vendedor")); var distritoId = TypeParser.String(customerInfo.Valor("Distrito")); /*if (responsavelId.Equals(sessionId) == false) * { * return null; * }*/ return(new CustomerInfo() { Identificador = TypeParser.String(customerInfo.Valor("Cliente")), Nome = TypeParser.String(customerInfo.Valor("Nome")), Estado = TypeParser.String(customerInfo.Valor("Situacao")), Debito = TypeParser.Double(customerInfo.Valor("TotalDeb")), NumContribuinte = TypeParser.String(customerInfo.Valor("NumContrib")), Pendentes = TypeParser.Double(customerInfo.Valor("EncomendasPendentes")), DataCriacao = TypeParser.Date(customerInfo.Valor("DataCriacao")), DataModificacao = TypeParser.Date(customerInfo.Valor("DataUltimaActualizacao")), EnderecoWeb = TypeParser.String(customerInfo.Valor("EnderecoWeb")), Particular = TypeParser.Boolean(customerInfo.Valor("PessoaSingular")), Telefone = TypeParser.String(customerInfo.Valor("Fac_Tel")), Telefone2 = TypeParser.String(customerInfo.Valor("Fac_Fax")), Telemovel = TypeParser.String(customerInfo.Valor("Telefone2")), Responsavel = UserIntegration.Reference(responsavelId), Localizacao = new Address { Pais = TypeParser.String(customerInfo.Valor("Pais")), Morada = TypeParser.String(customerInfo.Valor("Fac_Mor")), Distrito = LocationIntegration.DistritoReference(distritoId), CodigoPostal = TypeParser.String(customerInfo.Valor("Fac_Cp")), Localidade = TypeParser.String(customerInfo.Valor("Fac_Local")) } }); }
private static ContactInfo GenerateContact(CrmBEContacto contactInfo) { return(new ContactInfo() { Identficador = contactInfo.get_Contacto(), Cliente = CustomerIntegration.Reference("SILVA"), DataModificacao = contactInfo.get_DataUltContacto(), Responsavel = UserIntegration.Reference(contactInfo.get_CriadoPor()), Nome = contactInfo.get_PrimeiroNome() + " " + contactInfo.get_UltimoNome(), Titulo = contactInfo.get_Titulo(), Email = contactInfo.get_Email(), Telefone = contactInfo.get_Telefone(), Telefone2 = contactInfo.get_Telefone2(), Telemovel = contactInfo.get_Telemovel(), Localizacao = new Address { Pais = contactInfo.get_Pais(), Morada = contactInfo.get_Morada(), CodigoPostal = contactInfo.get_CodPostal(), Localidade = contactInfo.get_Localidade(), Distrito = LocationIntegration.DistritoReference(contactInfo.get_Distrito()) } }); }
public static QuoteInfo View(string sessionId, string quoteId) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var quoteInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("CabecDoc") .Columns(sqlQuoteColumns) .Where("TipoDoc", Comparison.Equals, QuotesConstants.tipoDoc) .Where("NumDoc", Comparison.Equals, quoteId) .Where("Serie", Comparison.Equals, QuotesConstants.serie)); if (quoteInfo == null || quoteInfo.Vazia()) { throw new NotFoundException("encomenda", true); } if (TypeParser.String(quoteInfo.Valor("Responsavel")) != sessionId) { return null; } List<OrderInfo> quoteProducts = new List<OrderInfo>(); var productsInfo = PrimaveraEngine.Consulta(new SqlBuilder() .FromTable("LinhasDoc") .Columns(sqlProductsColumns) .Where("IdCabecDoc", Comparison.Equals, quoteInfo.Valor("Id"))); while (!productsInfo.NoFim()) { quoteProducts.Add(new OrderInfo { Quantidade = TypeParser.Integer(productsInfo.Valor("Quantidade")), Preco = TypeParser.Double(productsInfo.Valor("PrecUnit")), Desconto = TypeParser.Double(productsInfo.Valor("Desconto1")), Iva = TypeParser.Double(productsInfo.Valor("TaxaIva")), Unidade = TypeParser.String(productsInfo.Valor("Unidade")), Produto = new Reference(TypeParser.String(productsInfo.Valor("Artigo")), TypeParser.String(productsInfo.Valor("Descricao"))) }); productsInfo.Seguinte(); } return new QuoteInfo { NumEncomenda = TypeParser.Integer(quoteInfo.Valor("NumDoc")), Cliente = TypeParser.String(quoteInfo.Valor("Entidade")), NomeCliente = TypeParser.String(quoteInfo.Valor("Nome")), EnderecoEntrega = new Address { Morada = TypeParser.String(quoteInfo.Valor("Morada")), CodigoPostal = TypeParser.String(quoteInfo.Valor("CodPostal")), Localidade = TypeParser.String(quoteInfo.Valor("Localidade")), Distrito = LocationIntegration.DistritoReference(TypeParser.String(quoteInfo.Valor("Distrito"))), Pais = TypeParser.String(quoteInfo.Valor("Pais")) }, Data = TypeParser.Date(quoteInfo.Valor("Data")), IdOportunidade = TypeParser.String(quoteInfo.Valor("IdOportunidade")), TotalDesc = TypeParser.Double(quoteInfo.Valor("TotalDesc")), TotalIva = TypeParser.Double(quoteInfo.Valor("TotalIva")), TotalMerc = TypeParser.Double(quoteInfo.Valor("TotalMerc")), TotalDocumento = TypeParser.Double(quoteInfo.Valor("TotalDocumento")), NumContribuinte = TypeParser.String(quoteInfo.Valor("NumContribuinte")), Produtos = quoteProducts }; }