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 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 <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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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 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 <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 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 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 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);
        }
        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);
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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 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)));
        }
        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 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"))
                }
            });
        }
        public static Opportunity View(string sessionId, string opportunityId)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var opportunityInfo = PrimaveraEngine.Consulta(new SqlBuilder()
                                                           .FromTable("CABECOPORTUNIDADESVENDA")
                                                           .Columns(sqlColumnsListing)
                                                           .Where("ID", Comparison.Equals, opportunityId));

            if (opportunityInfo == null || opportunityInfo.Vazia())
            {
                throw new NotFoundException("oportunidade", true);
            }

            /*if (opportunityInfo.get_Vendedor() != sessionId)
             * {
             *   return null;
             * }*/

            return(new Opportunity()
            {
                Entity = TypeParser.String(opportunityInfo.Valor("Entidade")),
                Campaign = TypeParser.String(opportunityInfo.Valor("Campanha")),
                SellCycle = TypeParser.String(opportunityInfo.Valor("CicloVenda")),
                ExpirationDate = TypeParser.Date(opportunityInfo.Valor("DataExpiracao")),
                RealDateOrdered = TypeParser.Date(opportunityInfo.Valor("DataRealEncomenda")),
                Description = TypeParser.String(opportunityInfo.Valor("Descricao")),
                MarginOV = TypeParser.Double(opportunityInfo.Valor("MargemOV")),
                ProposedValueOV = TypeParser.Double(opportunityInfo.Valor("MargemPercOV")),
                Origin = TypeParser.String(opportunityInfo.Valor("Origem")),
                Seller = TypeParser.String(opportunityInfo.Valor("Vendedor")),
                CreatedBy = TypeParser.String(opportunityInfo.Valor("CriadoPor")),
                RealBillingDate = TypeParser.Date(opportunityInfo.Valor("DataRealFacturacao")),
                ClosureDate = TypeParser.Date(opportunityInfo.Valor("DataFecho")),
                LossMotive = TypeParser.String(opportunityInfo.Valor("MotivoPerda")),
                OpportunityId = TypeParser.String(opportunityInfo.Valor("Oportunidade")),
                Currency = TypeParser.String(opportunityInfo.Valor("Moeda")),
                Identificador = TypeParser.String(opportunityInfo.Valor("ID")),
                Brief = TypeParser.String(opportunityInfo.Valor("Resumo")),
                Zone = TypeParser.String(opportunityInfo.Valor("Zona")),
                Status = opportunityInfo.Valor("EstadoVenda"),
                EntityType = TypeParser.String(opportunityInfo.Valor("TipoEntidade")),
                TotalValueOV = TypeParser.Double(opportunityInfo.Valor("ValorTotalOV"))
            });
        }
        public static List <CustomerListing> List(string sessionId)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var customerList = new List <CustomerListing>();
            var customerInfo = PrimaveraEngine.Consulta(new SqlBuilder().FromTable("CLIENTES").Columns(sqlColumnsListing));

            if (customerInfo == null || customerInfo.Vazia())
            {
                return(customerList);
            }

            while (!customerInfo.NoFim())
            {
                customerList.Add(new CustomerListing()
                {
                    Nome            = TypeParser.String(customerInfo.Valor("Nome")),
                    Identificador   = TypeParser.String(customerInfo.Valor("Cliente")),
                    Estado          = TypeParser.String(customerInfo.Valor("Situacao")),
                    Debito          = TypeParser.Double(customerInfo.Valor("TotalDeb")),
                    Pendentes       = TypeParser.Double(customerInfo.Valor("EncomendasPendentes")),
                    DataCriacao     = TypeParser.Date(customerInfo.Valor("DataCriacao")),
                    DataModificacao = TypeParser.Date(customerInfo.Valor("DataUltimaActualizacao")),
                    Telefone        = TypeParser.String(customerInfo.Valor("Fac_Tel"))
                });

                customerInfo.Seguinte();
            }

            customerList.Sort(delegate(CustomerListing lhs, CustomerListing rhs)
            {
                if (lhs.Nome == null || rhs.Nome == null)
                {
                    return(-1);
                }

                return(lhs.Nome.CompareTo(rhs.Nome));
            });

            return(customerList);
        }
Exemplo n.º 22
0
        public static List <CategoryListing> List()
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var categoryList = new List <CategoryListing>();
            var categoryInfo = PrimaveraEngine.Consulta(new SqlBuilder()
                                                        .FromTable("FAMILIAS")
                                                        .Columns(sqlColumnsFull)
                                                        .InnerJoin("ARTIGO", "Familia", Comparison.Equals, "FAMILIAS", "Familia")
                                                        .GroupBy(new string[] { "FAMILIAS.Familia", "FAMILIAS.Descricao" }));

            if (categoryInfo == null || categoryInfo.Vazia())
            {
                return(categoryList);
            }

            while (!categoryInfo.NoFim())
            {
                categoryList.Add(new CategoryListing()
                {
                    Identificador  = TypeParser.String(categoryInfo.Valor("Familia")),
                    Descricao      = TypeParser.String(categoryInfo.Valor("Descricao")),
                    NumeroProdutos = TypeParser.Integer(categoryInfo.Valor("Count"))
                });

                categoryInfo.Seguinte();
            }

            categoryList.Sort(delegate(CategoryListing lhs, CategoryListing rhs)
            {
                if (lhs.Identificador == null || rhs.Identificador == null)
                {
                    return(-1);
                }

                return(lhs.Descricao.CompareTo(rhs.Descricao));
            });

            return(categoryList);
        }
Exemplo n.º 23
0
        public static bool Update(string sessionId, string quoteId, QuoteInfo jsonObject)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var queryObject = PrimaveraEngine.Consulta(new SqlBuilder()
                .FromTable("CabecDoc")
                .Columns(new SqlColumn[] { new SqlColumn("CabecDoc.Id", null) })
                .Where("NumDoc", Comparison.Equals, quoteId));

            if (queryObject == null || queryObject.Vazia())
            {
                return false;
            }

            var quotesTable = PrimaveraEngine.Engine.Comercial.Vendas;
            var quoteInfo = quotesTable.EditaID(quoteId);

            if (CheckPermissions(quoteInfo, sessionId) == false)
            {
                return false;
            }

            try
            {
                quoteInfo.set_EmModoEdicao(true);
                quoteInfo.set_DataUltimaActualizacao(DateTime.Now);
                SetOptionalFields(quoteInfo, jsonObject);
                PrimaveraEngine.Engine.IniciaTransaccao();
                quotesTable.Actualiza(quoteInfo);
                PrimaveraEngine.Engine.TerminaTransaccao();
            }
            catch (Exception)
            {
                PrimaveraEngine.Engine.DesfazTransaccao();
                return false;
            }

            return true;
        }
        public static List <ContactListing> List(string sessionId)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var contactList = new List <ContactListing>();
            var contactInfo = PrimaveraEngine.Consulta(new SqlBuilder().FromTable("CONTACTOS").Columns(sqlColumnsListing));

            if (contactInfo == null || contactInfo.Vazia())
            {
                return(contactList);
            }

            while (!contactInfo.NoFim())
            {
                contactList.Add(new ContactListing()
                {
                    Identificador   = TypeParser.String(contactInfo.Valor("Contacto")),
                    Nome            = TypeParser.String(contactInfo.Valor("PrimeiroNome")) + " " + contactInfo.Valor("UltimoNome"),
                    Email           = TypeParser.String(contactInfo.Valor("Email")),
                    Telefone        = TypeParser.String(contactInfo.Valor("Telemovel")),
                    DataModificacao = TypeParser.Date(contactInfo.Valor("DataUltContacto")),
                });

                contactInfo.Seguinte();
            }

            contactList.Sort(delegate(ContactListing lhs, ContactListing rhs)
            {
                if (lhs.Nome == null || rhs.Nome == null)
                {
                    return(-1);
                }

                return(lhs.Nome.CompareTo(rhs.Nome));
            });

            return(contactList);
        }
Exemplo n.º 25
0
        public static List<QuoteListing> List()
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var query = new SqlBuilder()
                .FromTable("CabecDoc")
                .Columns(sqlQuoteListing)
                .Where("TipoDoc", Comparison.Equals, "ECL")
                .Where("Serie", Comparison.Equals, QuotesConstants.serie);
            query.AddOrderBy("NumDoc", Sorting.Descending);

            var queryObject = PrimaveraEngine.Consulta(query);

            if (queryObject == null || queryObject.Vazia())
            {
                return null;
            }

            var queryResult = new List<QuoteListing>();

            while (!queryObject.NoFim())
            {
                queryResult.Add(new QuoteListing
                {
                    NumEncomenda = TypeParser.Integer(queryObject.Valor("NumDoc")),
                    Cliente = TypeParser.String(queryObject.Valor("Entidade")),
                    NomeCliente = TypeParser.String(queryObject.Valor("Nome")),
                    TotalDocumento = TypeParser.Double(queryObject.Valor("TotalDocumento")),
                    Data = TypeParser.Date(queryObject.Valor("Data"))
                });

                queryObject.Seguinte();
            }

            return queryResult;
        }
        public static Product View(string productId)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var productInfo = PrimaveraEngine.Consulta(new SqlBuilder()
                                                       .FromTable("ARTIGO")
                                                       .Columns(sqlColumnsFull)
                                                       .Where("ARTIGO.Artigo", Comparison.Equals, productId)
                                                       .LeftJoin("FAMILIAS", "Familia", Comparison.Equals, "ARTIGO", "Familia"));

            if (productInfo == null || productInfo.Vazia())
            {
                throw new NotFoundException("produto", false);
            }

            var productUnit = TypeParser.String(productInfo.Valor("UnidadeVenda"));
            var priceList   = GeneratePrices(productId, productUnit);

            return(new Product()
            {
                Unidade = productUnit,
                PrecoMedio = CalculateAverage(priceList),
                Precos = GeneratePrices(productId, productUnit),
                IVA = TypeParser.Double(productInfo.Valor("Iva")),
                Stock = TypeParser.Double(productInfo.Valor("Stock")),
                Armazens = WarehouseIntegration.GetWarehouses(productId),
                Desconto = TypeParser.Double(productInfo.Valor("Desconto")),
                Descricao = TypeParser.String(productInfo.Valor("Descricao")),
                Identificador = TypeParser.String(productInfo.Valor("Artigo")),
                CodigoBarras = TypeParser.String(productInfo.Valor("CodBarras")),
                Categoria = CategoryIntegration.GenerateReference(productInfo),
                UltimaEntrada = TypeParser.Date(productInfo.Valor("DataUltEntrada")),
                UltimaSaida = TypeParser.Date(productInfo.Valor("DataUltSaida"))
            });
        }
Exemplo n.º 27
0
        public static List <ActivityListing> List(string sessionId, SqlBuilder sqlBuilder)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var activityList = new List <ActivityListing>();
            var activityInfo = PrimaveraEngine.Consulta(sqlBuilder);

            if (activityInfo == null || activityInfo.Vazia())
            {
                return(activityList);
            }

            while (!activityInfo.NoFim())
            {
                activityList.Add(GenerateListing(activityInfo));
                activityInfo.Seguinte();
            }

            return(activityList);
        }
Exemplo n.º 28
0
        public static List <LeadListing> List(string sellsForceId)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var leadList = new List <LeadListing>();
            var leadInfo = PrimaveraEngine.Consulta(new SqlBuilder()
                                                    .FromTable("ENTIDADESEXTERNAS")
                                                    .Columns(sqlColumnsListing)
                                                    .Where("PotencialCliente", Comparison.Equals, "TRUE")
                                                    .Where(new WhereClause("Vendedor", Comparison.Equals, sellsForceId).AddClause(LogicOperator.Or, Comparison.Equals, null)));

            if (leadInfo == null || leadInfo.Vazia())
            {
                return(leadList);
            }

            while (!leadInfo.NoFim())
            {
                leadList.Add(GenerateListing(leadInfo));
                leadInfo.Seguinte();
            }

            leadList.Sort(delegate(LeadListing lhs, LeadListing rhs)
            {
                if (lhs.Identificador == null || rhs.Identificador == null)
                {
                    return(-1);
                }

                return(lhs.Identificador.CompareTo(rhs.Identificador));
            });

            return(leadList);
        }
Exemplo n.º 29
0
        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
            };
        }