Example #1
2
        public static Lib_Primavera.Model.Artigo GetArtigo(string codArtigo)
        {
            ErpBS objMotor = new ErpBS();

            Model.Artigo myArtigo = new Model.Artigo();

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {
                if (PriEngine.Engine.Comercial.Artigos.Existe(codArtigo) == true)
                {
                    StdBELista objArtigo = PriEngine.Engine.Consulta("SELECT ARTIGO.Artigo AS Artigo, ARTIGO.Descricao AS Descricao, PVP1, Iva, FAMILIAS.Descricao AS Familia, STKActual, ANEXOS.Id AS Id, ANEXOS.FicheiroOrig AS FicheiroOrig, ANEXOS.Descricao AS AnexosDesc "
                                                                     + "FROM ARTIGO, ARTIGOMOEDA, FAMILIAS, ANEXOS "
                                                                     + "WHERE ARTIGO.Artigo = '" + codArtigo + "' AND ARTIGO.Artigo = ARTIGOMOEDA.Artigo AND FAMILIAS.Familia = ARTIGO.Familia AND ANEXOS.Chave = ARTIGO.Artigo");

                    myArtigo.CodArtigo    = objArtigo.Valor("Artigo");
                    myArtigo.Descricao    = objArtigo.Valor("Descricao");
                    myArtigo.Preco        = objArtigo.Valor("PVP1");
                    myArtigo.IVA          = objArtigo.Valor("Iva");
                    myArtigo.StkAtual     = objArtigo.Valor("STKActual");
                    myArtigo.Familia      = objArtigo.Valor("Familia");
                    myArtigo.Imagem       = objArtigo.Valor("Id") + '.' + objArtigo.Valor("FicheiroOrig").Split('.')[1];
                    myArtigo.DescricaoImg = objArtigo.Valor("AnexosDesc");

                    return(myArtigo);
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
Example #2
0
        public static Model.CartaoCliente novoCartaoCliente()
        {
            ErpBS objMotor = new ErpBS();

            StdBELista objList;

            Model.CartaoCliente        cartaoCliente;
            List <Model.CartaoCliente> listCartoesClientes = new List <Model.CartaoCliente>();


            if (PriEngine.InitializeCompany("PRIBELA", "", "") == true)
            {
                objList = PriEngine.Engine.Consulta("SELECT * FROM TDU_CartaoCliente");

                StdBERegistoUtil registoUtil = new StdBERegistoUtil();
                StdBECampos      campos      = new StdBECampos();
                StdBECampo       campoCDU_idCartaoCliente = new StdBECampo();

                campoCDU_idCartaoCliente.Nome  = "CDU_idCartaoCliente";
                campoCDU_idCartaoCliente.Valor = Convert.ToString(objList.NumLinhas() + 1);

                campos.Insere(campoCDU_idCartaoCliente);

                registoUtil.set_Campos(campos);

                PriEngine.Engine.TabelasUtilizador.Actualiza("TDU_CartaoCliente", registoUtil);

                cartaoCliente = new Model.CartaoCliente();
                cartaoCliente.CDU_idCartaoCliente = Convert.ToString(objList.NumLinhas() + 1);

                return(cartaoCliente);
            }

            return(null);
        }
Example #3
0
        public static Lib_Primavera.Model.Armazem GetArmazem(string codArmazem)
        {
            ErpBS objMotor = new ErpBS();


            Model.Armazem myArmazem = new Model.Armazem();
            StdBELista    objList;

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {
                objList = PriEngine.Engine.Consulta("SELECT Armazem, ARMAZENS.Descricao AS Descricao, Morada, Localidade, Cp, CpLocalidade, Telefone, Fax, Pais, DISTRITOS.Descricao AS Distrito FROM ARMAZENS, DISTRITOS WHERE DISTRITOS.Distrito = ARMAZENS.Distrito AND Armazem = '" + codArmazem + "'");

                myArmazem.CodArmazem          = objList.Valor("Armazem");
                myArmazem.Descricao           = objList.Valor("Descricao");
                myArmazem.Morada              = objList.Valor("Morada");
                myArmazem.Localidade          = objList.Valor("Localidade");
                myArmazem.CodPostal           = objList.Valor("Cp");
                myArmazem.CodPostalLocalidade = objList.Valor("CpLocalidade");
                myArmazem.Telefone            = objList.Valor("Telefone");
                myArmazem.Fax      = objList.Valor("Fax");
                myArmazem.Distrito = objList.Valor("Distrito");
                myArmazem.Pais     = objList.Valor("Pais");
                return(myArmazem);
            }
            else
            {
                return(null);
            }
        }
Example #4
0
        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
            });
        }
        private void cmdCriaFatura_Click(object sender, EventArgs e)
        {
            if (!this.bw.IsBusy)
            {
                MotorLE           = new ErpBS();
                objTipoPlataforma = new EnumTipoPlataforma();
                objStdTransac     = new StdBETransaccao();

                bool blnModoPrimario = true;
                objTipoPlataforma = EnumTipoPlataforma.tpEmpresarial;

                try
                {
                    this.MotorLE.AbreEmpresaTrabalho(EnumTipoPlataforma.tpEmpresarial, txtEmpresa.Text
                                                     , txtUtilizador.Text, txtPassword.Text
                                                     , ref objStdTransac
                                                     , "Default"
                                                     , ref blnModoPrimario);

                    this.bw.RunWorkerAsync();
                    this.cmdCriaFatura.Enabled = false;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro ao abrir o motor. \n" + ex.Message.ToString());
                }
            }
        }
Example #6
0
        public static List <Model.CartaoCliente> ListaCartoesClientes()
        {
            ErpBS objMotor = new ErpBS();

            StdBELista objList;

            Model.CartaoCliente        cli = new Model.CartaoCliente();
            List <Model.CartaoCliente> listCartoesClientes = new List <Model.CartaoCliente>();


            if (PriEngine.InitializeCompany("PRIBELA", "", "") == true)
            {
                objList = PriEngine.Engine.Consulta("SELECT * FROM TDU_CartaoCliente");

                while (!objList.NoFim())
                {
                    cli = new Model.CartaoCliente();
                    cli.CDU_idCartaoCliente = objList.Valor("CDU_idCartaoCliente");

                    listCartoesClientes.Add(cli);
                    objList.Seguinte();
                }

                return(listCartoesClientes);
            }
            else
            {
                return(null);
            }
        }
        public static ErpBS AbreEmpresa(string strEmpresa, string strUtilizador, string strPassword, string strInstancia)
        {
            //------------------------------------------------------------------------
            //Open plt
            //------------------------------------------------------------------------

            StdBSConfApl objAplConf = new StdBSConfApl();
            ErpBS objMotor = new ErpBS();

            //[ Open Plt 1ª time ]
            EnumTipoPlataforma objTipoPlataforma = new EnumTipoPlataforma();
            objTipoPlataforma = EnumTipoPlataforma.tpProfissional;

            objAplConf.Instancia = strInstancia;
            objAplConf.AbvtApl = "GCP";
            objAplConf.PwdUtilizador = "";
            objAplConf.Utilizador = "";

            StdBETransaccao objStdTransac = new StdBETransaccao();

            Plataforma.AbrePlataformaEmpresaIntegrador(ref strEmpresa, ref objStdTransac, ref objAplConf, ref objTipoPlataforma);

            bool blnModoPrimario = true;
            objMotor.AbreEmpresaTrabalho(ref objTipoPlataforma, ref strEmpresa, ref strUtilizador, ref strPassword, ref objStdTransac, ref strInstancia, ref blnModoPrimario);

            MotorLE = objMotor;

            return MotorLE;
        }
Example #8
0
        /// <summary>
        /// Return a list of companies where the credit limit of the given customer is exceeded orelse has been blocked.
        /// </summary>
        /// <param name="strCustomer">Customer to be analised</param>
        /// <returns>List<String></String></returns>
        internal static List <String> CreditLimitExceeded(ERPContext ERPContext, String strCustomer)
        {
            List <String> companiesList = new List <String>();
            Dictionary <String, String> groupCompanies = CrossCompany.Platform.GetGroupCompanies(ERPContext);

            foreach (string company in groupCompanies.Keys)
            {
                ErpBS currentCompany = new ErpBS();

                currentCompany.AbreEmpresaTrabalho(
                    StdBETipos.EnumTipoPlataforma.tpEmpresarial,
                    company,
                    Properties.Settings.Default.User,    //ERPContext.BSO.Contexto.ObjUtilizador.Codigo,
                    Properties.Settings.Default.Password //ERPContext.BSO.Contexto.ObjUtilizador.Password
                    );

                if ((currentCompany.Base.Clientes.DaValorAtributo(strCustomer, "TipoCred") == "2") ||
                    (currentCompany.Base.Clientes.DaValorAtributo(strCustomer, "limitecred") < currentCompany.Base.Clientes.DaValorAtributo(strCustomer, "totaldeb")))
                {
                    companiesList.Add(company);
                }

                currentCompany.FechaEmpresaTrabalho();
            }

            return(companiesList);
        }
        public static Lib_Primavera.Model.Armazem GetArmazem(string codArmazem)
        {
            ErpBS objMotor = new ErpBS();

            Model.Armazem myArmazem = new Model.Armazem();
            StdBELista objList;

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {

                objList = PriEngine.Engine.Consulta("SELECT Armazem, ARMAZENS.Descricao AS Descricao, Morada, Localidade, Cp, CpLocalidade, Telefone, Fax, Pais, DISTRITOS.Descricao AS Distrito FROM ARMAZENS, DISTRITOS WHERE DISTRITOS.Distrito = ARMAZENS.Distrito AND Armazem = '" + codArmazem + "'");

                myArmazem.CodArmazem = objList.Valor("Armazem");
                myArmazem.Descricao = objList.Valor("Descricao");
                myArmazem.Morada = objList.Valor("Morada");
                myArmazem.Localidade = objList.Valor("Localidade");
                myArmazem.CodPostal = objList.Valor("Cp");
                myArmazem.CodPostalLocalidade = objList.Valor("CpLocalidade");
                myArmazem.Telefone = objList.Valor("Telefone");
                myArmazem.Fax = objList.Valor("Fax");
                myArmazem.Distrito = objList.Valor("Distrito");
                myArmazem.Pais = objList.Valor("Pais");
                return myArmazem;

            }
            else
                return null;
        }
        public static List <Model.ArmazemQuantidade> GetQuantidadeArtigoArmazens(string codArtigo)
        {
            ErpBS      objMotor = new ErpBS();
            StdBELista objList;

            List <Model.ArmazemQuantidade> listQtArmazens = new List <Model.ArmazemQuantidade>();

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {
                objList = PriEngine.Engine.Consulta("SELECT ARMAZENS.Armazem, ARMAZENS.Descricao, ARMAZENS.Localidade, ARTIGOARMAZEM.StkActual FROM ARTIGOARMAZEM, ARMAZENS WHERE ARTIGOARMAZEM.Artigo = '" + codArtigo + "' AND ARMAZENS.Armazem = ARTIGOARMAZEM.Armazem");

                while (!objList.NoFim())
                {
                    Model.ArmazemQuantidade arm_quant = new Model.ArmazemQuantidade();

                    arm_quant.CodArmazem  = objList.Valor("Armazem");
                    arm_quant.DescArmazem = objList.Valor("Descricao");
                    arm_quant.Localidade  = objList.Valor("Localidade");
                    arm_quant.StkArmazem  = objList.Valor("StkActual");

                    listQtArmazens.Add(arm_quant);

                    objList.Seguinte();
                }

                return(listQtArmazens);
            }
            else
            {
                return(null);
            }
        }
Example #11
0
        private void button2AbririMotor_Click(object sender, EventArgs e)
        {
            try
            {
                BSO = new ErpBS100.ErpBS();

                StdBE100.StdBETipos.EnumTipoPlataforma tipoPlataforma =
                    StdBE100.StdBETipos.EnumTipoPlataforma.tpEmpresarial;
                BSO.AbreEmpresaTrabalho(tipoPlataforma, "DEMO", "primavera", "qualquer");

                //use this service to trigger the API events.
                ExtensibilityService service = new ExtensibilityService();

                service.Initialize(BSO);

                // Check if service is operational
                if (service.IsOperational)
                {
                    // Inshore that all extensions are loaded.
                    service.LoadExtensions();
                }

                label2EstadoMotor.Text = "Motor aberto...";
            }
            catch (Exception)
            {
                label2EstadoMotor.Text = " Erro ao abrir o motor!";
            }
        }
        public static string LoginUtilizador(string email, string password)
        {
            ErpBS      objMotor = new ErpBS();
            StdBELista objList;

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {
                objList = PriEngine.Engine.Consulta("SELECT Nome, CDU_Password FROM Clientes WHERE CDU_Email = '" + email + "'");

                if (!objList.Vazia())
                {
                    string bd_password = objList.Valor("CDU_Password");
                    string bd_nome     = objList.Valor("Nome");

                    if (bd_password.Equals(Lib_Primavera.PriEngine.Platform.Criptografia.Encripta(password, 30)))
                    {
                        return(bd_nome);
                    }

                    return(null);
                }
            }

            return(null);
        }
Example #13
0
        //// ? preciso rever isto
        //public static Lib_Primavera.Model.Admin GetAdmin(string codAdmin)
        //{
        //    /*ErpBS objMotor = new ErpBS();
        //    GcpBEAdmin objAdm = new GcpBEAdmin(); // erro aqui
        //    Model.Admin myAdm = new Model.Admin();
        //    if (PriEngine.InitializeCompany("BELAFLOR", "", "") == true)
        //    {
        //        if (PriEngine.Engine.Comercial.Admins.Existe(codAdmin) == true) // erro aqui
        //        {
        //            objAdm = PriEngine.Engine.Comercial.Admins.Edita(codAdmin); // erro aqui
        //            myAdm.CodAdmin = objAdm.get_Cliente();
        //            myAdm.NomeAdmin = objAdm.get_Nome();
        //            myAdm.Moeda = objAdm.get_Moeda();
        //            myAdm.NumContribuinte = objAdm.get_NumContribuinte();
        //            return myAdm;
        //        }
        //        else
        //        {
        //            return null;
        //        }
        //    }
        //    else*/
        //        return null;
        //}
        //public static Lib_Primavera.Model.Artigo GetArtigo(string codArtigo)
        //{
        //    // ErpBS objMotor = new ErpBS();
        //    GcpBEArtigo objArtigo = new GcpBEArtigo();
        //    Model.Artigo myArt = new Model.Artigo();
        //    if (PriEngine.InitializeCompany("BELAFLOR", "", "") == true)
        //    {
        //        if (PriEngine.Engine.Comercial.Artigos.Existe(codArtigo) == false)
        //        {
        //            return null;
        //        }
        //        else
        //        {
        //            objArtigo = PriEngine.Engine.Comercial.Artigos.Edita(codArtigo);
        //            myArt.CodArtigo = objArtigo.get_Artigo();
        //            myArt.DescArtigo = objArtigo.get_Descricao();
        //            return myArt;
        //        }
        //    }
        //    else
        //    {
        //        return null;
        //    }
        //}
        public static List<Model.Admin> AdminsList()
        {
            ErpBS objMotor = new ErpBS();
            //MotorPrimavera mp = new MotorPrimavera();
            StdBELista objList;

            Model.Admin adm = new Model.Admin();
            List<Model.Admin> listAdmins = new List<Model.Admin>();
            if (PriEngine.Platform.Inicializada)
            {

                //if (PriEngine.InitializeCompany("BELAFLOR", "admin", "admin") == true){
                String query = "SELECT * FROM PRIEMPRE.dbo.Utilizadores WHERE PerfilSugerido = 'Administrador' AND activo = '1' "; //? verificar
                objList = PriEngine.Engine.Consulta(query);
                while (!objList.NoFim())
                {
                    adm = new Model.Admin();
                    adm.NomeAdmin = objList.Valor("Nome");
                    listAdmins.Add(adm);
                    objList.Seguinte();
                }
                return listAdmins;
            }
            else
                return null;
        }
        public static List<Model.ArmazemQuantidade> GetQuantidadeArtigoArmazens(string codArtigo)
        {
            ErpBS objMotor = new ErpBS();
            StdBELista objList;

            List<Model.ArmazemQuantidade> listQtArmazens = new List<Model.ArmazemQuantidade>();

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {

                objList = PriEngine.Engine.Consulta("SELECT ARMAZENS.Armazem, ARMAZENS.Descricao, ARMAZENS.Localidade, ARTIGOARMAZEM.StkActual FROM ARTIGOARMAZEM, ARMAZENS WHERE ARTIGOARMAZEM.Artigo = '" + codArtigo + "' AND ARMAZENS.Armazem = ARTIGOARMAZEM.Armazem");

                while (!objList.NoFim())
                {
                    Model.ArmazemQuantidade arm_quant = new Model.ArmazemQuantidade();

                    arm_quant.CodArmazem = objList.Valor("Armazem");
                    arm_quant.DescArmazem = objList.Valor("Descricao");
                    arm_quant.Localidade = objList.Valor("Localidade");
                    arm_quant.StkArmazem = objList.Valor("StkActual");

                    listQtArmazens.Add(arm_quant);

                    objList.Seguinte();
                }

                return listQtArmazens;
            }
            else
                return null;
        }
        public static ErpBS AbreEmpresa(string strEmpresa, string strUtilizador, string strPassword, string strInstancia)
        {
            //------------------------------------------------------------------------
            //Open plt
            //------------------------------------------------------------------------

            StdBSConfApl objAplConf = new StdBSConfApl();
            ErpBS        objMotor   = new ErpBS();

            //[ Open Plt 1ª time ]
            EnumTipoPlataforma objTipoPlataforma = new EnumTipoPlataforma();

            objTipoPlataforma = EnumTipoPlataforma.tpProfissional;

            objAplConf.Instancia     = strInstancia;
            objAplConf.AbvtApl       = "GCP";
            objAplConf.PwdUtilizador = "";
            objAplConf.Utilizador    = "";

            StdBETransaccao objStdTransac = new StdBETransaccao();

            Plataforma.AbrePlataformaEmpresaIntegrador(ref strEmpresa, ref objStdTransac, ref objAplConf, ref objTipoPlataforma);


            bool blnModoPrimario = true;

            objMotor.AbreEmpresaTrabalho(ref objTipoPlataforma, ref strEmpresa, ref strUtilizador, ref strPassword, ref objStdTransac, ref strInstancia, ref blnModoPrimario);

            MotorLE = objMotor;

            return(MotorLE);
        }
        public static Lib_Primavera.Model.Artigo GetArtigo(string codArtigo)
        {
            ErpBS objMotor = new ErpBS();

            Model.Artigo myArtigo = new Model.Artigo();

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {

                if (PriEngine.Engine.Comercial.Artigos.Existe(codArtigo) == true)
                {
                    StdBELista objArtigo = PriEngine.Engine.Consulta("SELECT ARTIGO.Artigo AS Artigo, ARTIGO.Descricao AS Descricao, PVP1, Iva, FAMILIAS.Descricao AS Familia, STKActual, ANEXOS.Id AS Id, ANEXOS.FicheiroOrig AS FicheiroOrig, ANEXOS.Descricao AS AnexosDesc "
                                                  + "FROM ARTIGO, ARTIGOMOEDA, FAMILIAS, ANEXOS "
                                                  + "WHERE ARTIGO.Artigo = '" + codArtigo + "' AND ARTIGO.Artigo = ARTIGOMOEDA.Artigo AND FAMILIAS.Familia = ARTIGO.Familia AND ANEXOS.Chave = ARTIGO.Artigo");

                    myArtigo.CodArtigo = objArtigo.Valor("Artigo");
                    myArtigo.Descricao = objArtigo.Valor("Descricao");
                    myArtigo.Preco = objArtigo.Valor("PVP1");
                    myArtigo.IVA = objArtigo.Valor("Iva");
                    myArtigo.StkAtual = objArtigo.Valor("STKActual");
                    myArtigo.Familia = objArtigo.Valor("Familia");
                    myArtigo.Imagem = objArtigo.Valor("Id") + '.' + objArtigo.Valor("FicheiroOrig").Split('.')[1];
                    myArtigo.DescricaoImg = objArtigo.Valor("AnexosDesc");

                    return myArtigo;
                }
                else
                {
                    return null;
                }
            }
            else
                return null;
        }
Example #17
0
        /// <summary>
        /// Creats the context.
        /// </summary>
        /// <param name="Company">The company.</param>
        /// <param name="User">The user.</param>
        /// <param name="Password">The password.</param>
        /// <param name="Instance">ERP instance.</param>
        /// <returns></returns>
        public static PriEngine CreatContext(string Company, string User, string Password, string Instance)
        {
            try
            {
                StdLoggingHandler.FileTraceEnterMethod();
                StdLoggingHandler.FileTrace("Creating objects");

                StdBSConfApl objAplConf = new StdBSConfApl();
                StdPlatBS    Plataforma = new StdPlatBS();
                ErpBS        MotorLE    = new ErpBS();

                StdLoggingHandler.FileTrace("Setting configuration");
                EnumTipoPlataforma objTipoPlataforma = EnumTipoPlataforma.tpEmpresarial;

                objAplConf.Instancia       = Instance;
                objAplConf.AbvtApl         = "ERP";
                objAplConf.PwdUtilizador   = Password;
                objAplConf.Utilizador      = User;
                objAplConf.LicVersaoMinima = "10.00";

                StdLoggingHandler.FileTrace("Setting transaccao");
                StdBETransaccao objStdTransac = new StdBETransaccao();

                try
                {
                    StdLoggingHandler.FileTrace("Calling AbrePlataformaEmpresa");
                    Plataforma.AbrePlataformaEmpresa(Company, objStdTransac, objAplConf, objTipoPlataforma);
                    StdLoggingHandler.FileTrace("Exit from AbrePlataformaEmpresa");
                }
                catch (Exception ex)
                {
                    StdLoggingHandler.FileTraceWithThrow(ex);
                    throw;
                }

                if (Plataforma.Inicializada)
                {
                    StdLoggingHandler.FileTrace("Calling AbreEmpresaTrabalho");
                    MotorLE.AbreEmpresaTrabalho(objTipoPlataforma, Company, User, Password, objStdTransac, Instance);
                    StdLoggingHandler.FileTrace("Exit from AbreEmpresaTrabalho");

                    Platform = Plataforma;
                    Engine   = MotorLE;

                    EngineStatus = true;
                }

                return(engineInstance);
            }
            catch (Exception ex)
            {
                StdLoggingHandler.FileTraceWithThrow(ex);
                throw;
            }
            finally
            {
                StdLoggingHandler.FileTraceExitMethod();
            }
        }
Example #18
0
        public static bool InitializeCompany(string Company, string User, string Password)
        {
            if (!initialized)
            {
                StdBSConfApl objAplConf = new StdBSConfApl();
                objAplConf.Instancia       = "Default";
                objAplConf.AbvtApl         = "GCP";
                objAplConf.PwdUtilizador   = Password;
                objAplConf.Utilizador      = User;
                objAplConf.LicVersaoMinima = "9.00";
                StdBETransaccao objStdTransac = new StdBETransaccao();

                StdPlatBS Plataforma = new StdPlatBS();
                ErpBS     MotorLE    = new ErpBS();

                EnumTipoPlataforma objTipoPlataforma = new EnumTipoPlataforma();
                objTipoPlataforma = EnumTipoPlataforma.tpProfissional;

                objAplConf.Instancia       = "Default";
                objAplConf.AbvtApl         = "GCP";
                objAplConf.PwdUtilizador   = Password;
                objAplConf.Utilizador      = User;
                objAplConf.LicVersaoMinima = "9.00";

                // Retuns the ptl.
                Platform = Plataforma;
                // Returns the engine.
                Engine = MotorLE;

                try
                {
                    Platform.AbrePlataformaEmpresa(ref Company, ref objStdTransac, ref objAplConf, ref objTipoPlataforma, "");
                }
                catch (Exception ex)
                {
                    throw new Exception("Error on open Primavera Platform.");
                }

                // Is plt initialized?
                if (Platform.Inicializada)
                {
                    bool blnModoPrimario = true;
                    // Open Engine
                    Engine.AbreEmpresaTrabalho(EnumTipoPlataforma.tpProfissional, ref Company, ref User, ref Password, ref objStdTransac, "Default", ref blnModoPrimario);
                    Engine.set_CacheActiva(false);
                    initialized = true;
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(true);
            }
        }
        public Geral(dynamic bso, dynamic pso)
        {
            AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
            this.bso = bso;

            //AbrePlataforma(bso);

            this.pso = pso;
        }
Example #20
0
        public static bool InitializeCompany(string Company, string User, string Password)
        {
            var postCompany  = HttpContext.Current.Request.Form["company"];
            var postUsername = HttpContext.Current.Request.Form["username"];
            var postPassword = HttpContext.Current.Request.Form["password"];

            StdBSConfApl objAplConf = new StdBSConfApl();
            StdPlatBS    Plataforma = new StdPlatBS();
            ErpBS        MotorLE    = new ErpBS();

            EnumTipoPlataforma objTipoPlataforma = new EnumTipoPlataforma();

            objTipoPlataforma = EnumTipoPlataforma.tpProfissional;

            objAplConf.Instancia       = "Default";
            objAplConf.AbvtApl         = "GCP";
            objAplConf.PwdUtilizador   = postPassword;
            objAplConf.Utilizador      = postUsername;
            objAplConf.LicVersaoMinima = "9.00";

            StdBETransaccao objStdTransac = new StdBETransaccao();

            // Opem platform.
            try
            {
                Plataforma.AbrePlataformaEmpresa(ref postCompany, ref objStdTransac, ref objAplConf, ref objTipoPlataforma, "");
            }
            catch (Exception ex)
            {
                HttpContext.Current.Response.StatusCode      = (int)HttpStatusCode.Forbidden;
                HttpContext.Current.Response.SuppressContent = true;
                HttpContext.Current.ApplicationInstance.CompleteRequest();
                return(false);
            }

            // Is plt initialized?
            if (Plataforma.Inicializada)
            {
                // Retuns the ptl.
                Platform = Plataforma;

                bool blnModoPrimario = true;

                // Open Engine
                MotorLE.AbreEmpresaTrabalho(EnumTipoPlataforma.tpProfissional, ref postCompany, ref postUsername, ref postPassword, ref objStdTransac, "Default", ref blnModoPrimario);
                MotorLE.set_CacheActiva(false);

                // Returns the engine.
                Engine = MotorLE;

                return(true);
            }
            else
            {
                return(false);
            }
        }
        internal static Dictionary <String, int> CheckPendingDocuments(ERPContext oERPContext)
        {
            Dictionary <String, int>    result         = new Dictionary <string, int>();
            Dictionary <String, String> groupCompanies = CrossCompany.Platform.GetGroupCompanies(oERPContext);

            //Exit if no companies where found
            if (groupCompanies.Count == 0)
            {
                return(result);
            }

            result.Add("Purchases", 0);
            result.Add("Sales", 0);

            //Load the documents to import from all the group companies
            groupCompanies.Remove(oERPContext.BSO.Contexto.CodEmp);
            foreach (string groupCompany in groupCompanies.Keys)
            {
                ErpBS oCompany = new ErpBS();

                oCompany.AbreEmpresaTrabalho(
                    StdBE100.StdBETipos.EnumTipoPlataforma.tpEmpresarial,
                    groupCompany,
                    Properties.Settings.Default.User,
                    Properties.Settings.Default.Password);


                String strSQL = String.Format(
                    "select sum(pur) Purchases, sum(sls) Sales " +
                    "from(" +
                    "   select count(*) pur, 0 sls from cabecdoc cd inner join CabecDocStatus cds on cds.IdCabecDoc=cd.Id left join documentosvenda dv on cd.tipodoc = dv.documento " +
                    "   where dv.cdu_exportagrupo = 1 AND cd.cdu_exportado = 0  AND cds.Anulado=0 AND cd.entidade = '{0}' " +
                    "   UNION ALL " +
                    "   select 0 pur, count(*) pur from cabeccompras cc inner join CabecComprasStatus ccs on ccs.IdCabecCompras=cc.Id left join documentoscompra dc on cc.tipodoc = dc.documento " +
                    "   where dc.cdu_exportagrupo = 1 AND isnull(cc.cdu_exportado, 0) = 0 AND ccs.Anulado=0 AND cc.entidade = '{0}' " +
                    "   ) as tmp"
                    , oERPContext.BSO.Contexto.CodEmp);

                StdBELista lstPendDocs = oCompany.Consulta(strSQL);

                if (!lstPendDocs.Vazia())
                {
                    if (lstPendDocs.DaValor <int>("Purchases") > 0)
                    {
                        result["Purchases"] += lstPendDocs.DaValor <int>("Purchases");
                    }

                    if (lstPendDocs.DaValor <int>("Sales") > 0)
                    {
                        result["Sales"] += lstPendDocs.DaValor <int>("Sales");
                    }
                }
            }

            return(result);
        }
Example #22
0
        public object Execute(ContextDataObject context, Entity document)
        {
            /* **************************************** */
            /* **************************************** */
            /*          ADD YOUR CODE HERE              */
            ErpBS bsERP = new ErpBS();

            try {
                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);
                }
                GcpBEDocumentoCompra purchaseOrder = new GcpBEDocumentoCompra();
                purchaseOrder.set_Tipodoc("ECF");
                purchaseOrder.set_Serie("A");
                purchaseOrder.set_TipoEntidade("F");
                purchaseOrder.set_Entidade(document.Attributes.Supplier);
                purchaseOrder.set_NumDocExterno("0");
                purchaseOrder.set_Observacoes("Documento gerado no portal OMNIA: Pedido de Encomenda " + document.NumberSerieCode + "/" + document.Number);
                purchaseOrder.set_DataCarga(document.DateCreated.ToShortDateString());
                purchaseOrder.set_DataDescarga(document.DateCreated.ToShortDateString());

                bsERP.Comercial.Compras.PreencheDadosRelacionados(purchaseOrder);
                foreach (var line in document.Commitments.GoodsPurchaseRequest)
                {
                    bsERP.Comercial.Compras.AdicionaLinha(purchaseOrder, line.Resource, line.Quantity, "A1", "", line.Amount);
                }

                bsERP.Comercial.Compras.Actualiza(purchaseOrder);

                bsERP.FechaEmpresaTrabalho();

                return(new ScriptResponse {
                    Message = "Integrado documento " + purchaseOrder.get_Tipodoc() + " " + purchaseOrder.get_Serie() + "/" + purchaseOrder.get_NumDoc()
                });
            } catch (Exception ex) {
                bsERP.FechaEmpresaTrabalho();

                throw ex;
            }
        }
Example #23
0
        /// <summary>
        ///     Print to PDF the invoice.
        /// </summary>
        /// <param name="pso">pso</param>
        /// <param name="bso">bso</param>
        /// <param name="reportPath">Where the will be printed.</param>
        /// <param name="DocType">The document type.</param>
        /// <param name="DocSeries">The document series.</param>
        /// <param name="DocNumber">The document number.</param>
        public static void PrintInvoice(StdBSInterfPub pso,
                                        ErpBS bso,
                                        string reportPath,
                                        string DocType,
                                        string DocSeries,
                                        int DocNumber)
        {
            var reportTemplate = "GCPVLS01";

            try
            {
                var strSelFormula = $"{{CabecDoc.TipoDoc}}=\'{DocType}\' and {{CabecDoc.Serie}} = \'{DocSeries}\' AND {{CabecDoc.NumDoc}}={Convert.ToString(DocNumber)}";

                pso.Mapas.Inicializar("VND");

                var strFormula = new StringBuilder();
                strFormula.Append($"StringVar Nome:='{bso.Contexto.IDNome}';");
                strFormula.Append($"StringVar Morada:='{bso.Contexto.IDMorada}';");
                strFormula.Append($"StringVar Localidade:='{bso.Contexto.IDLocalidade}';");
                strFormula.Append($"StringVar CodPostal:='{bso.Contexto.IDCodPostal} {bso.Contexto.IDCodPostalLocal}';");
                strFormula.Append($"StringVar Telefone:='{bso.Contexto.IDTelefone}';");
                strFormula.Append($"StringVar Fax:='{bso.Contexto.IDFax}';");
                strFormula.Append($"StringVar Contribuinte:='{bso.Contexto.IFNIF}';");
                strFormula.Append($"StringVar CapitalSocial:='{bso.Contexto.ICCapitalSocial}';");
                strFormula.Append($"StringVar Conservatoria:='{bso.Contexto.ICConservatoria}';");
                strFormula.Append($"StringVar Matricula:='{bso.Contexto.ICMatricula}';");
                strFormula.Append($"StringVar MoedaCapitalSocial:='{bso.Contexto.ICMoedaCapSocial}';");

                pso.Mapas.SetFormula("DadosEmpresa", strFormula.ToString());

                var strParametros = new StringBuilder();
                strParametros.Append("NumberVar TipoDesc;");
                strParametros.Append("NumberVar DecQde;");
                strParametros.Append("NumberVar DecPrecUnit;");
                strParametros.Append("StringVar MotivoIsencao;");
                strParametros.Append("BooleanVar UltimaPag;");
                strParametros.Append("StringVar PRI_TextoCertificacao;");
                strParametros.Append("TipoDesc:= 0;");
                strParametros.Append("DecQde:=3;");
                strParametros.Append($"DecPrecUnit:={pso.FuncoesGlobais.DaCasasDecimais("Moedas", "DecArredonda")};");
                strParametros.Append("UltimaPag:=False;");
                strParametros.Append($"PRI_TextoCertificacao:='{bso.Vendas.Documentos.DevolveTextoAssinaturaDoc(DocType, DocSeries, DocNumber, "000")}';");

                pso.Mapas.SetFormula("InicializaParametros", strParametros.ToString());
                pso.Mapas.Destino = 0;
                pso.Mapas.SetFileProp(StdBSTipos.CRPEExportFormat.efPdf, reportPath);

                pso.Mapas.MostraErros = true;
                pso.Mapas.ImprimeListagem(reportTemplate, "Invoice", "P", 1, "N", strSelFormula, 0, false, true);
            }
            catch (Exception ex)
            {
                throw new Exception("Error while printing the document. \n" + ex.Message);
            }
        }
        public static List <Model.ArtigoArmazem> GetArtigosPorArmazem(string codArmazem)
        {
            ErpBS      objMotor = new ErpBS();
            StdBELista objList;

            List <Model.ArtigoArmazem> listArtigosArmazens = new List <Model.ArtigoArmazem>();

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {
                string query = "SELECT ARTIGO.Artigo AS Artigo, ARTIGO.Descricao AS ArtigoDesc, ARTIGOMOEDA.PVP1 AS Preco, ARTIGO.Iva AS Iva, FAMILIAS.Descricao AS Familia, "
                               + "ARTIGO.STKActual AS ArtStk, ARMAZENS.Armazem AS Armazem, ARMAZENS.Descricao AS ArmazemDesc, ARMAZENS.Morada AS Morada, ARMAZENS.Localidade AS Localidade, "
                               + "ARMAZENS.Cp AS Cp, ARMAZENS.CpLocalidade AS CpLocalidade, ARMAZENS.Telefone AS Telefone, ARMAZENS.Fax AS Fax, ARMAZENS.Distrito AS Distrito, "
                               + "ARMAZENS.Pais AS Pais, ARTIGOARMAZEM.StkActual AS ArmStk "
                               + "FROM ARTIGO, ARTIGOARMAZEM, ARTIGOMOEDA, ARMAZENS, "
                               + "FAMILIAS WHERE "
                               + "ARTIGO.Artigo = ARTIGOARMAZEM.Artigo AND ARMAZENS.Armazem = ARTIGOARMAZEM.Armazem AND "
                               + "ARTIGO.Artigo = ARTIGOMOEDA.Artigo AND FAMILIAS.Familia = ARTIGO.Familia AND ARMAZENS.Armazem = '" + codArmazem + "'";

                objList = PriEngine.Engine.Consulta(query);

                while (!objList.NoFim())
                {
                    Model.ArtigoArmazem artigo_armazem = new Model.ArtigoArmazem();

                    artigo_armazem.CodArtigo  = objList.Valor("Artigo");
                    artigo_armazem.DescArtigo = objList.Valor("ArtigoDesc");
                    artigo_armazem.Preco      = objList.Valor("Preco");
                    artigo_armazem.IVA        = objList.Valor("Iva");
                    artigo_armazem.Familia    = objList.Valor("Familia");
                    artigo_armazem.StkAtual   = objList.Valor("ArtStk");

                    artigo_armazem.CodArmazem          = objList.Valor("Armazem");
                    artigo_armazem.DescArmazem         = objList.Valor("ArmazemDesc");
                    artigo_armazem.Morada              = objList.Valor("Morada");
                    artigo_armazem.Localidade          = objList.Valor("Localidade");
                    artigo_armazem.CodPostal           = objList.Valor("Cp");
                    artigo_armazem.CodPostalLocalidade = objList.Valor("CpLocalidade");
                    artigo_armazem.Telefone            = objList.Valor("Telefone");
                    artigo_armazem.Fax        = objList.Valor("Fax");
                    artigo_armazem.Distrito   = objList.Valor("Distrito");
                    artigo_armazem.Pais       = objList.Valor("Pais");
                    artigo_armazem.StkArmazem = objList.Valor("ArmStk");

                    listArtigosArmazens.Add(artigo_armazem);
                    objList.Seguinte();
                }

                return(listArtigosArmazens);
            }
            else
            {
                return(null);
            }
        }
Example #25
0
        public static PriEngine CreatContext(string Company, string User, string Password)
        {
            StdBSConfApl objAplConf = new StdBSConfApl();
            StdPlatBS    Plataforma = new StdPlatBS();
            ErpBS        MotorLE    = new ErpBS();

            EnumTipoPlataforma objTipoPlataforma;

            objTipoPlataforma = EnumTipoPlataforma.tpEmpresarial;

            objAplConf.Instancia       = "Default";
            objAplConf.AbvtApl         = "ERP";
            objAplConf.PwdUtilizador   = Password;
            objAplConf.Utilizador      = User;
            objAplConf.LicVersaoMinima = "10.00";

            StdBETransaccao objStdTransac = new StdBETransaccao();

            try
            {
                Plataforma.AbrePlataformaEmpresa(Company, objStdTransac, objAplConf, objTipoPlataforma);
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            if (Plataforma.Inicializada)
            {
                // Use this service to trigger the API events.
                ExtensibilityService service = new ExtensibilityService();

                // Suppress all message box events from the API.
                // Plataforma.ExtensibilityLogger.AllowInteractivity = false;
                service.Initialize(MotorLE);

                // Check if service is operational
                if (service.IsOperational)
                {
                    // Inshore that all extensions are loaded.
                    service.LoadExtensions();
                }

                MotorLE.AbreEmpresaTrabalho(objTipoPlataforma, Company, User, Password, objStdTransac, "Default");

                Platform = Plataforma;
                Engine   = MotorLE;

                EngineStatus = true;
            }

            return(engineInstance);
        }
Example #26
0
        public static List<Model.DocVenda> Encomendas_List(string typeDoc, string dateBegin, string dateEnd)
        {
            ErpBS objMotor = new ErpBS();

            StdBELista objListCab;
            StdBELista objListLin;
            Model.DocVenda dv = new Model.DocVenda();
            List<Model.DocVenda> listdv = new List<Model.DocVenda>();
            Model.LinhaDocVenda lindv = new Model.LinhaDocVenda();
            List<Model.LinhaDocVenda> listlindv = new
            List<Model.LinhaDocVenda>();

            if (PriEngine.InitializeCompany(COMPANYNAME, USERNAME, PASSWORD) == true)
            {
                objListCab = PriEngine.Engine.Consulta("SELECT id, Entidade, Data, NumDoc, TotalMerc, Serie, ModoPag, CondPag From CabecDoc where TipoDoc LIKE '"+typeDoc+"' and Data>='"+dateBegin+"' and Data<='"+dateEnd+"'");
                while (!objListCab.NoFim())
                {
                    dv = new Model.DocVenda();
                    dv.id = objListCab.Valor("id");
                    dv.Entidade = objListCab.Valor("Entidade");
                    dv.NumDoc = objListCab.Valor("NumDoc");
                    dv.Data = objListCab.Valor("Data");
                    dv.TotalMerc = objListCab.Valor("TotalMerc");
                    dv.Serie = objListCab.Valor("Serie");
                    dv.ModoPag = objListCab.Valor("ModoPag");
                    dv.CondPag = objListCab.Valor("CondPag");
                    objListLin = PriEngine.Engine.Consulta("SELECT idCabecDoc, Artigo, Descricao, Quantidade, Unidade, PrecUnit, Desconto1, TotalILiquido, PrecoLiquido from LinhasDoc where IdCabecDoc='" + dv.id + "' order By NumLinha");
                    listlindv = new List<Model.LinhaDocVenda>();

                    while (!objListLin.NoFim())
                    {
                        lindv = new Model.LinhaDocVenda();
                        lindv.IdCabecDoc = objListLin.Valor("idCabecDoc");
                        lindv.CodArtigo = objListLin.Valor("Artigo");
                        lindv.DescArtigo = objListLin.Valor("Descricao");
                        lindv.Quantidade = objListLin.Valor("Quantidade");
                        lindv.Unidade = objListLin.Valor("Unidade");
                        lindv.Desconto = objListLin.Valor("Desconto1");
                        lindv.PrecoUnitario = objListLin.Valor("PrecUnit");
                        lindv.TotalILiquido = objListLin.Valor("TotalILiquido");
                        lindv.TotalLiquido = objListLin.Valor("PrecoLiquido");

                        listlindv.Add(lindv);
                        objListLin.Seguinte();
                    }

                    dv.LinhasDoc = listlindv;
                    listdv.Add(dv);
                    objListCab.Seguinte();
                }
            }
            return listdv;
        }
        public static List<Model.ArtigoArmazem> GetArtigosPorArmazem(string codArmazem)
        {
            ErpBS objMotor = new ErpBS();
            StdBELista objList;

            List<Model.ArtigoArmazem> listArtigosArmazens = new List<Model.ArtigoArmazem>();

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {

                string query = "SELECT ARTIGO.Artigo AS Artigo, ARTIGO.Descricao AS ArtigoDesc, ARTIGOMOEDA.PVP1 AS Preco, ARTIGO.Iva AS Iva, FAMILIAS.Descricao AS Familia, "
                             + "ARTIGO.STKActual AS ArtStk, ARMAZENS.Armazem AS Armazem, ARMAZENS.Descricao AS ArmazemDesc, ARMAZENS.Morada AS Morada, ARMAZENS.Localidade AS Localidade, "
                             + "ARMAZENS.Cp AS Cp, ARMAZENS.CpLocalidade AS CpLocalidade, ARMAZENS.Telefone AS Telefone, ARMAZENS.Fax AS Fax, ARMAZENS.Distrito AS Distrito, "
                             + "ARMAZENS.Pais AS Pais, ARTIGOARMAZEM.StkActual AS ArmStk "
                             + "FROM ARTIGO, ARTIGOARMAZEM, ARTIGOMOEDA, ARMAZENS, "
                             + "FAMILIAS WHERE "
                             + "ARTIGO.Artigo = ARTIGOARMAZEM.Artigo AND ARMAZENS.Armazem = ARTIGOARMAZEM.Armazem AND "
                             + "ARTIGO.Artigo = ARTIGOMOEDA.Artigo AND FAMILIAS.Familia = ARTIGO.Familia AND ARMAZENS.Armazem = '" + codArmazem + "'";

                objList = PriEngine.Engine.Consulta(query);

                while (!objList.NoFim())
                {
                    Model.ArtigoArmazem artigo_armazem = new Model.ArtigoArmazem();

                    artigo_armazem.CodArtigo = objList.Valor("Artigo");
                    artigo_armazem.DescArtigo = objList.Valor("ArtigoDesc");
                    artigo_armazem.Preco = objList.Valor("Preco");
                    artigo_armazem.IVA = objList.Valor("Iva");
                    artigo_armazem.Familia = objList.Valor("Familia");
                    artigo_armazem.StkAtual = objList.Valor("ArtStk");

                    artigo_armazem.CodArmazem = objList.Valor("Armazem");
                    artigo_armazem.DescArmazem = objList.Valor("ArmazemDesc");
                    artigo_armazem.Morada = objList.Valor("Morada");
                    artigo_armazem.Localidade = objList.Valor("Localidade");
                    artigo_armazem.CodPostal = objList.Valor("Cp");
                    artigo_armazem.CodPostalLocalidade = objList.Valor("CpLocalidade");
                    artigo_armazem.Telefone = objList.Valor("Telefone");
                    artigo_armazem.Fax = objList.Valor("Fax");
                    artigo_armazem.Distrito = objList.Valor("Distrito");
                    artigo_armazem.Pais = objList.Valor("Pais");
                    artigo_armazem.StkArmazem = objList.Valor("ArmStk");

                    listArtigosArmazens.Add(artigo_armazem);
                    objList.Seguinte();
                }

                return listArtigosArmazens;
            }
            else
                return null;
        }
Example #28
0
        public Boolean AbrirMotorPrimavera(string userPrimavera, string passUserPrimavera, string empresa, int tipoEmpPRI)
        {
            try
            {
                StdBSConfApl objAplConf = new StdBSConfApl();
                StdPlatBS    Plataforma = new StdPlatBS();
                ErpBS        MotorLE    = new ErpBS();

                EnumTipoPlataforma objTipoPlataforma = new EnumTipoPlataforma();
                objTipoPlataforma = EnumTipoPlataforma.tpEmpresarial;

                objAplConf.Instancia       = "Default";
                objAplConf.AbvtApl         = "ERP";
                objAplConf.PwdUtilizador   = passUserPrimavera;
                objAplConf.Utilizador      = userPrimavera;
                objAplConf.LicVersaoMinima = "9.00";

                StdBETransaccao objStdTransac = new StdBETransaccao();

                try
                {
                    Plataforma.AbrePlataformaEmpresa(ref empresa, ref objStdTransac, ref objAplConf, ref objTipoPlataforma, "");
                }
                catch (Exception ex)
                {
                    throw ex;
                }

                if (Plataforma.Inicializada)
                {
                    plat = Plataforma.InterfacePublico;

                    bool blnModoPrimario = true;

                    MotorLE.AbreEmpresaTrabalho(tipoEmpPRI == 0 ? EnumTipoPlataforma.tpEmpresarial : EnumTipoPlataforma.tpProfissional,
                                                ref empresa, ref userPrimavera, ref passUserPrimavera, ref objStdTransac, "Default", ref blnModoPrimario);
                    MotorLE.set_CacheActiva(true);

                    bso = MotorLE;

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #29
0
        public static bool InitializeCompany(string Company, string User, string Password)
        {
            StdBSConfApl objAplConf = new StdBSConfApl();
            StdPlatBS    Plataforma = new StdPlatBS();
            ErpBS        MotorLE    = new ErpBS();

            EnumTipoPlataforma objTipoPlataforma = new EnumTipoPlataforma();

            objTipoPlataforma = EnumTipoPlataforma.tpProfissional;

            objAplConf.Instancia       = "Default";
            objAplConf.AbvtApl         = "GCP";
            objAplConf.PwdUtilizador   = Password;
            objAplConf.Utilizador      = User;
            objAplConf.LicVersaoMinima = "9.00";

            StdBETransaccao objStdTransac = new StdBETransaccao();

            // Opem platform (verifica se o utilizador tem permissões de acesso)
            try {
                Plataforma.AbrePlataformaEmpresa(ref Company, ref objStdTransac, ref objAplConf, ref objTipoPlataforma, "");
            } catch (Exception ex) {
                throw new Exception("Error on open Primavera Platform: " + ex.Message);
            }

            // Is plt initialized?
            if (Plataforma.Inicializada)
            {
                // Retuns the ptl.
                platform = Plataforma;

                bool blnModoPrimario = true;

                // Open Engine
                MotorLE.AbreEmpresaTrabalho(EnumTipoPlataforma.tpProfissional, ref Company, ref User, ref Password, ref objStdTransac, "Default", ref blnModoPrimario);
                MotorLE.set_CacheActiva(false);

                // Returns the engine.
                engine = MotorLE;

                string databaseInstance = "Default";
                string dbNomeEmpresa    = platform.BaseDados.DaNomeBDdaEmpresa(engine.Contexto.CodEmp);
                databaseConnectionString = platform.BaseDados.DaConnectionStringNET(dbNomeEmpresa, databaseInstance);

                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #30
0
        public static List<Model.DocVenda> Encomendas_List()
        {
            ErpBS objMotor = new ErpBS();

            StdBELista objListCab;
            StdBELista objListLin;
            Model.DocVenda dv = new Model.DocVenda();
            List<Model.DocVenda> listdv = new List<Model.DocVenda>();
            Model.LinhaDocVenda lindv = new Model.LinhaDocVenda();
            List<Model.LinhaDocVenda> listlindv = new
            List<Model.LinhaDocVenda>();

            if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
            {
                objListCab = PriEngine.Engine.Consulta("SELECT id, Entidade, Data, NumDoc, TotalMerc, Serie From CabecDoc where TipoDoc='ECL'");
                while (!objListCab.NoFim())
                {
                    dv = new Model.DocVenda();
                    dv.id = objListCab.Valor("id");
                    dv.Entidade = objListCab.Valor("Entidade");
                    dv.NumDoc = objListCab.Valor("NumDoc");
                    dv.Data = objListCab.Valor("Data");
                    dv.TotalMerc = objListCab.Valor("TotalMerc");
                    dv.Serie = objListCab.Valor("Serie");
                    objListLin = PriEngine.Engine.Consulta("SELECT idCabecDoc, Artigo, Descricao, Quantidade, Unidade, PrecUnit, Desconto1, TotalILiquido, PrecoLiquido from LinhasDoc where IdCabecDoc='" + dv.id + "' order By NumLinha");
                    listlindv = new List<Model.LinhaDocVenda>();

                    while (!objListLin.NoFim())
                    {
                        lindv = new Model.LinhaDocVenda();
                        lindv.IdCabecDoc = objListLin.Valor("idCabecDoc");
                        lindv.CodArtigo = objListLin.Valor("Artigo");
                        lindv.DescArtigo = objListLin.Valor("Descricao");
                        lindv.Quantidade = objListLin.Valor("Quantidade");
                        lindv.Unidade = objListLin.Valor("Unidade");
                        lindv.Desconto = objListLin.Valor("Desconto1");
                        lindv.PrecoUnitario = objListLin.Valor("PrecUnit");
                        lindv.TotalILiquido = objListLin.Valor("TotalILiquido");
                        lindv.TotalLiquido = objListLin.Valor("PrecoLiquido");

                        listlindv.Add(lindv);
                        objListLin.Seguinte();
                    }

                    dv.LinhasDoc = listlindv;
                    listdv.Add(dv);
                    objListCab.Seguinte();
                }
            }
            return listdv;
        }
        public static string ObterPasswordOriginal(string email)
        {
            ErpBS      objMotor = new ErpBS();
            StdBELista objList;

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {
                objList = PriEngine.Engine.Consulta("SELECT CDU_Password FROM Clientes WHERE CDU_Email = '" + email + "'");

                if (!objList.Vazia())
                {
                    return(Lib_Primavera.PriEngine.Platform.Criptografia.Descripta(objList.Valor("CDU_Password"), 30));
                }
            }

            return(null);
        }
Example #32
0
        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;
        }
        public Boolean AbrirMotorPrimavera(string userPrimavera, string passUserPrimavera, string empresa, int tipoEmpPRI)
        {
            try
            {
                bso = new ErpBS();

                bso.AbreEmpresaTrabalho(tipoEmpPRI, empresa, userPrimavera, passUserPrimavera);

                AbrePlataforma(bso);

                return(bso.Contexto.EmpresaAberta);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #34
0
        /// <summary>
        /// Only intialized in the frist time.
        /// </summary>
        /// <param name="Company"></param>
        /// <param name="User"></param>
        /// <param name="Password"></param>
        public static bool InitializeCompany(string Company, string User, string Password)
        {
            StdBSConfApl objAplConf = new StdBSConfApl();
            StdPlatBS    Plataforma = new StdPlatBS();
            ErpBS        MotorLE    = new ErpBS();

            EnumTipoPlataforma objTipoPlataforma = new EnumTipoPlataforma();

            objTipoPlataforma = EnumTipoPlataforma.tpEmpresarial;

            objAplConf.Instancia       = "Default";
            objAplConf.AbvtApl         = "ERP";
            objAplConf.PwdUtilizador   = Password;
            objAplConf.Utilizador      = User;
            objAplConf.LicVersaoMinima = "9.00";

            StdBETransaccao objStdTransac = new StdBETransaccao();

            try
            {
                Plataforma.AbrePlataformaEmpresa(ref Company, ref objStdTransac, ref objAplConf, ref objTipoPlataforma, "");
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            if (Plataforma.Inicializada)
            {
                Platform = Plataforma;

                bool blnModoPrimario = true;

                MotorLE.AbreEmpresaTrabalho(EnumTipoPlataforma.tpEmpresarial, ref Company, ref User, ref Password, ref objStdTransac, "Default", ref blnModoPrimario);
                MotorLE.set_CacheActiva(true);

                Engine = MotorLE;

                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #35
0
        public Boolean AbrirMotorPrimavera(string userPrimavera, string passUserPrimavera, string empresa, int tipoEmpPRI)
        {
            try
            {
                bso = new ErpBS();

                bso.AbreEmpresaTrabalho(tipoEmpPRI == 0 ? EnumTipoPlataforma.tpEmpresarial : EnumTipoPlataforma.tpProfissional,
                                        ref empresa, ref userPrimavera, ref passUserPrimavera);

                //AbrePlataforma(bso);

                return(bso.Contexto.EmpresaAberta);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #36
0
        public static bool InitializeCompany(string Company, string User, string Password)
        {
            StdBSConfApl objAplConf = new StdBSConfApl();
            StdPlatBS Plataforma = new StdPlatBS();
            ErpBS MotorLE = new ErpBS();

            EnumTipoPlataforma objTipoPlataforma = new EnumTipoPlataforma();
            objTipoPlataforma = EnumTipoPlataforma.tpProfissional;

            objAplConf.Instancia = "Default";
            objAplConf.AbvtApl = "GCP";
            objAplConf.PwdUtilizador = Password;
            objAplConf.Utilizador = User;

            StdBETransaccao objStdTransac = new StdBETransaccao();

            // Opem platform.
            Plataforma.AbrePlataformaEmpresaIntegrador(ref Company, ref objStdTransac, ref objAplConf, ref objTipoPlataforma);

            // Is plt initialized?
            if (Plataforma.Inicializada)
            {

                // Retuns the ptl.
                Platform = Plataforma;

                bool blnModoPrimario = true;

                // Open Engine
                MotorLE.AbreEmpresaTrabalho(EnumTipoPlataforma.tpProfissional, ref Company, ref User, ref Password, ref objStdTransac, "Default", ref blnModoPrimario);
                _connection = Plataforma.BaseDados.AbreBaseDadosADO("Default", "PRI" + Company);

                // Returns the engine.
                Engine = MotorLE;

                return true;
            }
            else
            {
                return false;
            }
        }
        public static bool InitializeCompany()
        {
            if (Platform != null && Platform.Inicializada)
            {
                return(true);
            }

            bool blnModoPrimario = true;
            var  objAplConf      = new StdBSConfApl();

            objAplConf.Instancia       = "Default";
            objAplConf.AbvtApl         = "GCP";
            objAplConf.PwdUtilizador   = Properties.Settings.Default.Password.Trim();
            objAplConf.Utilizador      = Properties.Settings.Default.User.Trim();
            objAplConf.LicVersaoMinima = "9.00";

            var MotorLE        = new ErpBS();
            var Plataforma     = new StdPlatBS();
            var objStdTransac  = new StdBETransaccao();
            var tipoPlataforma = EnumTipoPlataforma.tpProfissional;

            try
            {
                Plataforma.AbrePlataformaEmpresa(Properties.Settings.Default.Company.Trim(), ref objStdTransac, ref objAplConf, ref tipoPlataforma, "");
            }
            catch
            {
                return(false);
            }

            PrimaveraEngine.InitializeSQLite();

            if (Plataforma.Inicializada)
            {
                Platform = Plataforma;
                MotorLE.AbreEmpresaTrabalho(EnumTipoPlataforma.tpProfissional, Properties.Settings.Default.Company.Trim(), Properties.Settings.Default.User.Trim(), Properties.Settings.Default.Password.Trim(), ref objStdTransac, "Default", ref blnModoPrimario);
                MotorLE.set_CacheActiva(true);
                Engine = MotorLE;
            }

            return(Plataforma.Inicializada);
        }
        public static bool InitializeCompany(string Company, string User, string Password)
        {
            StdBSConfApl objAplConf = new StdBSConfApl();
            StdPlatBS    Plataforma = new StdPlatBS();
            ErpBS        MotorLE    = new ErpBS();

            EnumTipoPlataforma objTipoPlataforma = new EnumTipoPlataforma();

            objTipoPlataforma = EnumTipoPlataforma.tpProfissional;

            objAplConf.Instancia     = "Default";
            objAplConf.AbvtApl       = "GCP";
            objAplConf.Utilizador    = User;
            objAplConf.PwdUtilizador = Password;


            StdBETransaccao objStdTransac = new StdBETransaccao();

            // Opem platform.
            Plataforma.AbrePlataformaEmpresaIntegrador(ref Company, ref objStdTransac, ref objAplConf, ref objTipoPlataforma);

            // Is plt initialized?
            if (Plataforma.Inicializada)
            {
                // Retuns the ptl.
                Platform = Plataforma;

                bool blnModoPrimario = true;

                // Open Engine
                MotorLE.AbreEmpresaTrabalho(EnumTipoPlataforma.tpProfissional, ref Company, ref User, ref Password, ref objStdTransac, "Default", ref blnModoPrimario);

                // Returns the engine.
                Engine = MotorLE;

                return(true);
            }
            else
            {
                return(false);
            }
        }
        public void AbrePlataforma(ErpBS motor)
        {
            StdBSConfApl objAplConf = new StdBSConfApl();

            plat = new StdPlatBS();

            try
            {
                objAplConf.Instancia       = motor.Contexto.Instancia;
                objAplConf.AbvtApl         = "ERP";
                objAplConf.PwdUtilizador   = motor.Contexto.PasswordUtilizadorActual;
                objAplConf.Utilizador      = motor.Contexto.UtilizadorActual;
                objAplConf.LicVersaoMinima = "10.00";

                plat.AbrePlataformaEmpresa(motor.Contexto.CodEmp, null, objAplConf, motor.Contexto.TipoPlataforma);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #40
0
        public void numSerieCompras(ErpBS _erpBs,GcpBEDocumentoCompra _gcpBEDocumentoCompra,int linhaActual,string idTemp)
        {
            //_objCompras = _gcpBEDocumentoCompra;
            //_objErpBs = _erpBs;
            
            //motoresErp._empresaErp = new MotoresPrimavera.Parametros.EmpresaErp();
            //motoresErp._empresaErp._erpBs = (Interop.ErpBS900.ErpBS) _erpBs;
            //motoresErp.inicializaMotores_EmpresaErp();

            janela.inicializarCompras(_erpBs, _gcpBEDocumentoCompra, linhaActual, "C",idTemp);


            int i = 0;
            //foreach (Interop.GcpBE900.GcpBELinhaDocumentoCompra item in ((Interop.GcpBE900.GcpBEDocumentoCompra)_gcpBEDocumentoCompra).get_Linhas())
            //{
            //    if(i+1 == linhaActual)
            //        janela.addNewRows( item.get_Artigo() + " - "+item.get_Descricao() + " ("+Convert.ToInt32( item.get_Quantidade()).ToString() +")" ,
            //            "C", Convert.ToInt32( item.get_Quantidade()),linhaActual);

            //    i++;
            //}
        }
Example #41
0
        /// <summary>
        /// Metodo para inicializar o motor do primavera
        /// </summary>
        /// <param name="tipoPlataforma"> 0 - Executiva, 1- Profissional</param>
        /// <param name="codEmpresa"></param>
        /// <param name="codUsuario"></param>
        /// <param name="password"></param>
        /// <remarks></remarks>
        public PrimaveraResultStructure AbreEmpresaPrimavera(int tipoPlataforma, string codEmpresa, string codUsuario, string password)
        {
            PrimaveraResultStructure result = new PrimaveraResultStructure();

            try
            {
                this.tipoPlataforma = tipoPlataforma;
                this.codUsuario = codUsuario;
                this.codEmpresa = codEmpresa;
                this.password = password;

                if (_erpBs == null)
                {
                    _erpBs = new ErpBS();
                }
                else
                {
                    _erpBs.FechaEmpresaTrabalho();
                }

                _erpBs.AbreEmpresaTrabalho(tipoPlataforma == 0 ? EnumTipoPlataforma.tpEmpresarial : EnumTipoPlataforma.tpProfissional,
                    codEmpresa, codUsuario, password, null, "DEFAULT", true);

                result.codigo = 0;
                result.descricao = string.Format("Empresa {0} - {1} Aberta Com Sucesso", _erpBs.Contexto.CodEmp, _erpBs.Contexto.IDNome);
                Console.WriteLine(String.Format("[{0}] Empresa {1} - {2} Aberta Com Sucesso", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), _erpBs.Contexto.CodEmp, _erpBs.Contexto.IDNome));

                return result;
            }
            catch (Exception ex)
            {
                result.codigo = 3;
                result.descricao = ex.Message;
                Console.WriteLine(String.Format("[{0}] Erro a abrir a Empresa {1} - {2} devido a: {3}", DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss"), _erpBs.Contexto.CodEmp, _erpBs.Contexto.IDNome, ex.Message));

                return result;
            }

        }
        public static List<Model.Armazem> ListaArmazens()
        {
            ErpBS objMotor = new ErpBS();
            StdBELista objList;

            Model.Armazem armazem = new Model.Armazem();
            List<Model.Armazem> listArmazens = new List<Model.Armazem>();

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {

                //objList = PriEngine.Engine.Comercial.Clientes.LstClientes();

                objList = PriEngine.Engine.Consulta("SELECT Armazem, ARMAZENS.Descricao AS Descricao, Morada, Localidade, Cp, CpLocalidade, Telefone, Fax, DISTRITOS.Descricao AS Distrito, Pais FROM ARMAZENS, DISTRITOS WHERE DISTRITOS.Distrito = ARMAZENS.Distrito");

                while (!objList.NoFim())
                {
                    armazem = new Model.Armazem();
                    armazem.CodArmazem = objList.Valor("Armazem");
                    armazem.Descricao = objList.Valor("Descricao");
                    armazem.Morada = objList.Valor("Morada");
                    armazem.Localidade = objList.Valor("Localidade");
                    armazem.CodPostal = objList.Valor("Cp");
                    armazem.CodPostalLocalidade = objList.Valor("CpLocalidade");
                    armazem.Telefone = objList.Valor("Telefone");
                    armazem.Fax = objList.Valor("Fax");
                    armazem.Pais = objList.Valor("Pais");
                    armazem.Distrito = objList.Valor("Distrito");

                    listArmazens.Add(armazem);
                    objList.Seguinte();
                }

                return listArmazens;
            }
            else
                return null;
        }
        public static List<Model.Artigo> ListaArtigos()
        {
            ErpBS objMotor = new ErpBS();
            StdBELista objList;

            Model.Artigo artigo = new Model.Artigo();
            List<Model.Artigo> listArtigos = new List<Model.Artigo>();

            if (PriEngine.InitializeCompany(ConfigurationConstants.NAME_COMPANY, ConfigurationConstants.USERNAME, ConfigurationConstants.PASSWORD) == true)
            {

                //objList = PriEngine.Engine.Comercial.Artigos.LstArtigos();

                objList = PriEngine.Engine.Consulta("SELECT ARTIGO.Artigo AS Artigo, ARTIGO.Descricao AS Descricao, PVP1, Iva, FAMILIAS.Descricao AS Familia, STKActual, ANEXOS.Id AS Id, ANEXOS.FicheiroOrig AS FicheiroOrig, ANEXOS.Descricao AS AnexosDesc "
                                                  + "FROM ARTIGO, ARTIGOMOEDA, FAMILIAS, ANEXOS "
                                                  + "WHERE ARTIGO.Artigo = ARTIGOMOEDA.Artigo AND FAMILIAS.Familia = ARTIGO.Familia AND ANEXOS.Chave = ARTIGO.Artigo");

                while (!objList.NoFim())
                {
                    artigo = new Model.Artigo();
                    artigo.CodArtigo = objList.Valor("Artigo");
                    artigo.Descricao = objList.Valor("Descricao");
                    artigo.Preco = objList.Valor("PVP1");
                    artigo.IVA = objList.Valor("Iva");
                    artigo.Familia = objList.Valor("Familia");
                    artigo.StkAtual = objList.Valor("STKActual");
                    artigo.Imagem = objList.Valor("Id") + '.' + objList.Valor("FicheiroOrig").Split('.')[1];
                    artigo.DescricaoImg = objList.Valor("AnexosDesc");

                    listArtigos.Add(artigo);
                    objList.Seguinte();
                }

                return listArtigos;
            }
            else
                return null;
        }
Example #44
0
        public static List<Model.DocVenda> Encomenda_GetByCliente(string cliente)
        {
            ErpBS objMotor = new ErpBS();

            StdBELista objListCab;
            StdBELista objListLin;
            Model.DocVenda dv = new Model.DocVenda();
            List<Model.DocVenda> listdv = new List<Model.DocVenda>();
            Model.LinhaDocVenda lindv = new Model.LinhaDocVenda();
            List<Model.LinhaDocVenda> listlindv = new
            List<Model.LinhaDocVenda>();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objListCab = PriEngine.Engine.Consulta("SELECT id, Entidade, Data, NumDoc, TotalMerc, TotalIva, TotalDesc, Serie  From CabecDoc where TipoDoc='FA' AND Entidade='" + cliente + "'");
                while (!objListCab.NoFim())
                {
                    dv = new Model.DocVenda();
                    dv.id = objListCab.Valor("id");
                    dv.Entidade = objListCab.Valor("Entidade");
                    dv.NumDoc = objListCab.Valor("NumDoc");
                    dv.Data = objListCab.Valor("Data");
                    dv.Serie = objListCab.Valor("Serie");

                    double preço = 0;

                    objListLin = PriEngine.Engine.Consulta("SELECT idCabecDoc, Artigo, Descricao, Quantidade, Unidade, PrecUnit, Desconto1, TotalILiquido, PrecoLiquido from LinhasDoc where IdCabecDoc='" + dv.id + "' order By NumLinha");
                    listlindv = new List<Model.LinhaDocVenda>();

                    while (!objListLin.NoFim())
                    {
                        lindv = new Model.LinhaDocVenda();
                        lindv.IdCabecDoc = objListLin.Valor("idCabecDoc");
                        lindv.CodArtigo = objListLin.Valor("Artigo");
                        lindv.DescArtigo = objListLin.Valor("Descricao");
                        lindv.Quantidade = objListLin.Valor("Quantidade");
                        lindv.Unidade = objListLin.Valor("Unidade");
                        lindv.Desconto = objListLin.Valor("Desconto1");
                        lindv.PrecoUnitario = objListLin.Valor("PrecUnit");
                        lindv.TotalILiquido = objListLin.Valor("TotalILiquido");
                        lindv.TotalLiquido = objListLin.Valor("PrecoLiquido");
                        preço += lindv.TotalILiquido - lindv.Desconto;

                        listlindv.Add(lindv);
                        objListLin.Seguinte();
                    }

                    dv.PrecoFinal = preço;
                    dv.LinhasDoc = listlindv;
                    listdv.Add(dv);
                    objListCab.Seguinte();
                }
            }
            return listdv;
        }
Example #45
0
        /**
         * Get orders from client <cliente> between dates from & to (yyyy-mm-dd)
         * to make date unspecified pass value "nd" for any of the dates
         *
         * */
        public static List<Model.Order> OrdersList(string cliente, string from, string to)
        {
            String state_date;
            StdBELista objdate;
            string query = "SELECT * FROM PRIBELAFLOR.dbo.CabecDoc where entidade='" + cliente + "' and TipoDoc='ECL'";
            if (from != "nd") query += " and Data>='" + from + "'";
            if (to != "nd") query += " and Data<='" + to + "'";

            ErpBS objMotor = new ErpBS();
            StdBELista objList;
            Model.Order ord = new Model.Order();
            List<Model.Order> listOrders = new List<Model.Order>();
            if (PriEngine.Platform.Inicializada)
            {
                String date_query = "SELECT CURRENT_TIMESTAMP as date";
                objdate = PriEngine.Engine.Consulta(date_query);
                objList = PriEngine.Engine.Consulta(query);
                while (!objList.NoFim())
                {
                    ord = new Model.Order();
                    ord.id = objList.Valor("Id");
                    ord.responsable = objList.Valor("Utilizador");
                    ord.docNum = objList.Valor("NumDoc");
                    ord.CodClient = objList.Valor("Entidade");
                    ord.modPag = objList.Valor("ModoPag");
                    ord.numContrib = objList.Valor("NumContribuinte");
                    ord.totalMerc = objList.Valor("TotalMerc");
                    ord.totalIva = objList.Valor("TotalIva");
                    ord.moeda = objList.Valor("Moeda");
                    ord.date = objList.Valor("Data");
                    ord.condPag = getCondPagamentoById(objList.Valor("CondPag"));
                    ord.modExpedicao = getModExpedicaoById(objList.Valor("ModoExp"));
                    state_date = invoiceStateAndDate(ord.id, ord.docNum);
                    ord.estadoFact = state_date.Split('|')[0];
                    ord.expedido = shippingState(ord.docNum);
                    if (String.Compare(ord.expedido, "Expedido") == 0 && String.Compare(ord.estadoFact, "Pago (totalmente)") == 0)
                    {
                        //means this order is finalized
                        ord.lastUpdated = "Completa";
                    }
                    else
                    {
                        //calculate date diff
                        if (String.Compare(ord.estadoFact, "Pendente") == 0)
                        {
                            ord.lastUpdated = dateDiff(ord.date.ToString(), ord.date.ToString()).ToString();
                        }
                        else
                        {
                            ord.lastUpdated = dateDiff(state_date.Split('|')[1], ord.date.ToString()).ToString();
                        }
                    }
                    listOrders.Add(ord);
                    objList.Seguinte();
                }
                return listOrders;
            }
            else
                return null;
        }
Example #46
0
 //public static Lib_Primavera.Model.Cliente GetCliente(string codCliente)
 //{
 //    ErpBS objMotor = new ErpBS();
 //    GcpBECliente objCli = new GcpBECliente();
 //    Model.Cliente myCli = new Model.Cliente();
 //    if (PriEngine.InitializeCompany("BELAFLOR", "", "") == true)
 //    {
 //        if (PriEngine.Engine.Comercial.Clientes.Existe(codCliente) == true)
 //        {
 //            objCli = PriEngine.Engine.Comercial.Clientes.Edita(codCliente);
 //            myCli.CodCliente = objCli.get_Cliente();
 //            myCli.NomeCliente = objCli.get_Nome();
 //            myCli.Moeda = objCli.get_Moeda();
 //            myCli.NumContribuinte = objCli.get_NumContribuinte();
 //            return myCli;
 //        }
 //        else
 //        {
 //            return null;
 //        }
 //    }
 //    else
 //        return null;
 //}
 public static Lib_Primavera.Model.RespostaErro UpdCliente(Lib_Primavera.Model.Utilizador cliente)
 {
     Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
     ErpBS objMotor = new ErpBS();
     GcpBECliente objCli = new GcpBECliente();
     try
     {
         if (PriEngine.InitializeCompany("BELAFLOR", "", "") == true)
         {
             if (PriEngine.Engine.Comercial.Clientes.Existe(cliente.Cod) == false)
             {
                 erro.Erro = 1;
                 erro.Descricao = "O cliente não existe";
                 return erro;
             }
             else
             {
                 objCli = PriEngine.Engine.Comercial.Clientes.Edita(cliente.Cod);
                 objCli.set_EmModoEdicao(true);
                 objCli.set_Nome(cliente.Nome);
                 objCli.set_Morada(cliente.Morada);
                 objCli.set_Localidade(cliente.Localidade);
                 objCli.set_CodigoPostal(cliente.CP);
                 objCli.set_LocalidadeCodigoPostal(cliente.CPLocal);
                 objCli.set_Telefone(cliente.Telefone);
                 objCli.set_Fax(cliente.Fax);
                 objCli.set_Pais(cliente.Pais);
                 objCli.set_Idioma(cliente.Idioma);
                 objCli.set_Moeda(cliente.Moeda);
                 objCli.set_NumContribuinte(cliente.NumContribuinte);
                 PriEngine.Engine.Comercial.Clientes.Actualiza(objCli);
                 erro.Erro = 0;
                 erro.Descricao = "Sucesso";
                 return erro;
             }
         }
         else
         {
             erro.Erro = 1;
             erro.Descricao = "Erro ao abrir a empresa";
             return erro;
         }
     }
     catch (Exception ex)
     {
         erro.Erro = 1;
         erro.Descricao = ex.Message;
         return erro;
     }
 }
Example #47
0
        public static List<Model.Vendedores> VendedoresList()
        {
            ErpBS objMotor = new ErpBS();
            //MotorPrimavera mp = new MotorPrimavera();
            StdBELista objList;

            Model.Vendedores seller = new Model.Vendedores();
            List<Model.Vendedores> listVendedores = new List<Model.Vendedores>();
            if (PriEngine.Platform.Inicializada)
            {

                //if (PriEngine.InitializeCompany("BELAFLOR", "admin", "admin") == true){
                String query = "SELECT * FROM PRIEMPRE.dbo.Utilizadores WHERE PerfilSugerido = 'Comercial I' AND activo = '1' ";
                objList = PriEngine.Engine.Consulta(query);
                while (!objList.NoFim())
                {
                    seller = new Model.Vendedores();
                    seller.Nome = objList.Valor("Nome");
                    seller.Email = objList.Valor("Email");
                    seller.Tel = objList.Valor("Telemovel");
                    listVendedores.Add(seller);
                    objList.Seguinte();
                }
                return listVendedores;
            }
            else
                return null;
        }
Example #48
0
        public static Lib_Primavera.Model.Cliente GetCliente(string codCliente)
        {
            ErpBS objMotor = new ErpBS();

            GcpBECliente objCli = new GcpBECliente();

            Model.Cliente myCli = new Model.Cliente();

            if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
            {

                if (PriEngine.Engine.Comercial.Clientes.Existe(codCliente) == true)
                {
                    objCli = PriEngine.Engine.Comercial.Clientes.Edita(codCliente);
                    myCli.CodCliente = objCli.get_Cliente();
                    myCli.NomeCliente = objCli.get_Nome();
                    myCli.Moeda = objCli.get_Moeda();
                    myCli.NumContribuinte = objCli.get_NumContribuinte();
                    return myCli;
                }
                else
                {
                    return null;
                }
            }
            else
                return null;
        }
Example #49
0
        public static List<Model.DocCompra> VGR_List()
        {
            string query = "SELECT PRISINF.dbo.CabecCompras.TipoDoc, PRISINF.dbo.CabecCompras.id,  PRISINF.dbo.CabecCompras.CondPag, PRISINF.dbo.CabecCompras.DataVencimento, PRISINF.dbo.CabecCompras.NumDoc, PRISINF.dbo.CabecCompras.Entidade, PRISINF.dbo.CabecCompras.DataDoc,PRISINF.dbo.CabecCompras.NumDocExterno, PRISINF.dbo.CabecCompras.TotalMerc,PRISINF.dbo.CabecCompras.Serie, PRISINF.dbo.LinhasCompras.NumLinha, PRISINF.dbo.LinhasCompras.Artigo, PRISINF.dbo.LinhasCompras.Quantidade, PRISINF.dbo.LinhasCompras.Desconto1, PRISINF.dbo.LinhasCompras.PrecUnit, PRISINF.dbo.LinhasCompras.Armazem, PRISINF.dbo.LinhasComprasStatus.EstadoTrans, PRISINF.dbo.LinhasComprasStatus.QuantTrans FROM PRISINF.dbo.CabecCompras INNER JOIN PRISINF.dbo.LinhasCompras ON PRISINF.dbo.CabecCompras.Id = PRISINF.dbo.LinhasCompras.IdCabecCompras INNER JOIN PRISINF.dbo.LinhasComprasStatus ON PRISINF.dbo.LinhasCompras.Id = PRISINF.dbo.LinhasComprasStatus.IdLinhasCompras WHERE (PRISINF.dbo.CabecCompras.TipoDoc = N'ECF' AND PRISINF.dbo.LinhasComprasStatus.EstadoTrans = 'P') ORDER BY PRISINF.dbo.CabecCompras.NumDoc";
            ErpBS objMotor = new ErpBS();
            StdBELista objList;

            List<Model.DocCompra> listDocCompra = new List<Model.DocCompra>();
            Model.DocCompra docCompra;
            List<Model.LinhaDocCompra> listLinhasCompras;
            Model.LinhaDocCompra linhaDocCompra;
            Model.LinhaDocCompraStatus statusLinhaCompra;

            if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
            {
                objList = PriEngine.Engine.Consulta(query);

                if (!objList.NoFim()) //tem pelo menos 1 elemento
                {
                    docCompra = new Model.DocCompra();
                    docCompra.TipoDoc = objList.Valor("TipoDoc");
                    docCompra.id = objList.Valor("id");
                    docCompra.Entidade = objList.Valor("Entidade");
                    docCompra.NumDoc = objList.Valor("NumDoc");
                    docCompra.DataEmissao = objList.Valor("DataDoc");
                    docCompra.DataVencimento = objList.Valor("DataVencimento");
                    docCompra.NumDocExterno = objList.Valor("NumDocExterno");
                    docCompra.TotalMerc = objList.Valor("TotalMerc");
                    docCompra.CondPag = objList.Valor("CondPag");
                    docCompra.Serie = objList.Valor("Serie");

                    listLinhasCompras = new List<Model.LinhaDocCompra>();

                    //sacar linhaDoc associado + status
                    linhaDocCompra = new Model.LinhaDocCompra();
                    linhaDocCompra.NumLinha = objList.Valor("NumLinha");
                    linhaDocCompra.CodArtigo = objList.Valor("Artigo");
                    linhaDocCompra.Quantidade = objList.Valor("Quantidade");
                    linhaDocCompra.Armazem = objList.Valor("Armazem");
                    statusLinhaCompra = new Model.LinhaDocCompraStatus();
                    statusLinhaCompra.EstadoTrans = objList.Valor("EstadoTrans");
                    statusLinhaCompra.QuantTrans = objList.Valor("QuantTrans");
                    linhaDocCompra.Status = statusLinhaCompra;

                    listLinhasCompras.Add(linhaDocCompra);

                    objList.Seguinte();

                    while (!objList.NoFim()) //restantes elementos
                    {
                        if (docCompra.id != objList.Valor("id"))
                        {
                            docCompra.LinhasDoc = listLinhasCompras;
                            listDocCompra.Add(docCompra);

                            docCompra = new Model.DocCompra();
                            docCompra.TipoDoc = objList.Valor("TipoDoc");
                            docCompra.id = objList.Valor("id");
                            docCompra.Entidade = objList.Valor("Entidade");
                            docCompra.NumDoc = objList.Valor("NumDoc");
                            docCompra.DataEmissao = objList.Valor("DataDoc");
                            listLinhasCompras = new List<Model.LinhaDocCompra>();
                        }
                        //sacar linhas e status
                        linhaDocCompra = new Model.LinhaDocCompra();
                        linhaDocCompra.NumLinha = objList.Valor("NumLinha");
                        linhaDocCompra.CodArtigo = objList.Valor("Artigo");
                        linhaDocCompra.Quantidade = objList.Valor("Quantidade");
                        linhaDocCompra.Armazem = objList.Valor("Armazem");
                        statusLinhaCompra = new Model.LinhaDocCompraStatus();
                        statusLinhaCompra.EstadoTrans = objList.Valor("EstadoTrans");
                        statusLinhaCompra.QuantTrans = objList.Valor("QuantTrans");
                        linhaDocCompra.Status = statusLinhaCompra;

                        listLinhasCompras.Add(linhaDocCompra);

                        objList.Seguinte();
                    }
                    docCompra.LinhasDoc = listLinhasCompras;
                    listDocCompra.Add(docCompra);
                }
            }
            return listDocCompra;
        }
Example #50
0
        public static Lib_Primavera.Model.Fornecedor GetFornecedor(string codFornecedor)
        {
            string query = "SELECT fornecedor, nome, morada, local, cp, NumContrib, pais  FROM dbo.Fornecedores WHERE dbo.Fornecedores.Fornecedor='" + codFornecedor + "'";
            ErpBS objMotor = new ErpBS();
            StdBELista objList;
            Model.Fornecedor fornecedor = new Model.Fornecedor();

            if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
            {
                objList = PriEngine.Engine.Consulta(query);
                if (!objList.NoFim())
                {
                    fornecedor.id = objList.Valor("fornecedor");
                    fornecedor.nome = objList.Valor("nome");
                    fornecedor.morada = objList.Valor("Morada");
                    fornecedor.numContrib = objList.Valor("NumContrib");
                    fornecedor.codpostal = objList.Valor("cp");
                    fornecedor.local = objList.Valor("local");
                    fornecedor.pais = objList.Valor("pais");
                }
            }

            return fornecedor;
        }
Example #51
0
        public static List<Model.Artigo> ListaArtigos()
        {
            ErpBS objMotor = new ErpBS();

            StdBELista objList;

            Model.Artigo art = new Model.Artigo();
            List<Model.Artigo> listArts = new List<Model.Artigo>();

            if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
            {

                objList = PriEngine.Engine.Consulta("SELECT dbo.Artigo.Artigo, dbo.Artigo.Descricao, dbo.Artigo.CodBarras FROM dbo.Artigo");

                while (!objList.NoFim())
                {
                    art = new Model.Artigo();
                    art.CodArtigo = objList.Valor("artigo");
                    art.DescArtigo = objList.Valor("descricao");
                    art.CodBarras = objList.Valor("CodBarras");
                    listArts.Add(art);
                    objList.Seguinte();
                }

                return listArts;

            }
            else
            {
                return null;

            }
        }
Example #52
0
        public static List<Model.Cliente> ListaClientes()
        {
            ErpBS objMotor = new ErpBS();

            StdBELista objList;

            Model.Cliente cli = new Model.Cliente();
            List<Model.Cliente> listClientes = new List<Model.Cliente>();

            if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
            {

                //objList = PriEngine.Engine.Comercial.Clientes.LstClientes();

                objList = PriEngine.Engine.Consulta("SELECT Cliente, Nome, Moeda, NumContrib as NumContribuinte FROM  CLIENTES");

                while (!objList.NoFim())
                {
                    cli = new Model.Cliente();
                    cli.CodCliente = objList.Valor("Cliente");
                    cli.NomeCliente = objList.Valor("Nome");
                    cli.Moeda = objList.Valor("Moeda");
                    cli.NumContribuinte = objList.Valor("NumContribuinte");

                    listClientes.Add(cli);
                    objList.Seguinte();

                }

                return listClientes;
            }
            else
                return null;
        }
Example #53
0
        public static Lib_Primavera.Model.Search search(string valor)
        {
            Lib_Primavera.Model.Search procura = new Model.Search();
            procura.Artigos = new Dictionary<string, List<int>>();
            procura.Fornecedores = new Dictionary<string, List<int>>();
            procura.Armazens = new Dictionary<string, List<int>>();
            procura.Encomendas = new List<int>();
            string[] substrings = Regex.Split(valor, "ECF-");
            //string query = "SELECT PRISINF.dbo.CabecCompras.TipoDoc, PRISINF.dbo.CabecCompras.id, PRISINF.dbo.CabecCompras.NumDoc, PRISINF.dbo.CabecCompras.Entidade, PRISINF.dbo.LinhasCompras.Artigo, PRISINF.dbo.LinhasCompras.Armazem FROM PRISINF.dbo.CabecCompras INNER JOIN PRISINF.dbo.LinhasCompras ON PRISINF.dbo.CabecCompras.Id = PRISINF.dbo.LinhasCompras.IdCabecCompras INNER JOIN PRISINF.dbo.LinhasComprasStatus ON PRISINF.dbo.LinhasCompras.Id = PRISINF.dbo.LinhasComprasStatus.IdLinhasCompras WHERE (PRISINF.dbo.CabecCompras.TipoDoc = N'ECF' AND PRISINF.dbo.LinhasComprasStatus.EstadoTrans = 'P' AND (PRISINF.dbo.CabecCompras.NumDoc LIKE '" + substrings[substrings.Length - 1] + "' OR PRISINF.dbo.LinhasCompras.Artigo LIKE '%" + valor + "%' OR PRISINF.dbo.LinhasCompras.Armazem LIKE '%" + valor + "%' OR PRISINF.dbo.CabecCompras.Entidade LIKE '%" + valor + "%')) ORDER BY PRISINF.dbo.CabecCompras.NumDoc";
            string queryEncomendas = "SELECT DISTINCT PRISINF.dbo.CabecCompras.TipoDoc, PRISINF.dbo.CabecCompras.id, PRISINF.dbo.CabecCompras.NumDoc FROM PRISINF.dbo.CabecCompras INNER JOIN PRISINF.dbo.LinhasCompras ON PRISINF.dbo.CabecCompras.Id = PRISINF.dbo.LinhasCompras.IdCabecCompras INNER JOIN PRISINF.dbo.LinhasComprasStatus ON PRISINF.dbo.LinhasCompras.Id = PRISINF.dbo.LinhasComprasStatus.IdLinhasCompras WHERE (PRISINF.dbo.CabecCompras.TipoDoc = N'ECF' AND PRISINF.dbo.LinhasComprasStatus.EstadoTrans = 'P' AND (PRISINF.dbo.CabecCompras.NumDoc LIKE '%" + substrings[substrings.Length - 1] + "%' )) ORDER BY PRISINF.dbo.CabecCompras.NumDoc";
            string queryArtigos = "SELECT DISTINCT	PRISINF.dbo.CabecCompras.TipoDoc, PRISINF.dbo.CabecCompras.id, PRISINF.dbo.CabecCompras.NumDoc, PRISINF.dbo.LinhasCompras.Artigo FROM PRISINF.dbo.CabecCompras INNER JOIN PRISINF.dbo.LinhasCompras ON PRISINF.dbo.CabecCompras.Id = PRISINF.dbo.LinhasCompras.IdCabecCompras INNER JOIN PRISINF.dbo.LinhasComprasStatus ON PRISINF.dbo.LinhasCompras.Id = PRISINF.dbo.LinhasComprasStatus.IdLinhasCompras WHERE (PRISINF.dbo.CabecCompras.TipoDoc = N'ECF' AND PRISINF.dbo.LinhasComprasStatus.EstadoTrans = 'P' AND PRISINF.dbo.LinhasCompras.Artigo LIKE '%" + valor + "%' ) ORDER BY PRISINF.dbo.CabecCompras.NumDoc";
            string queryArmazens = "SELECT DISTINCT	PRISINF.dbo.CabecCompras.TipoDoc, PRISINF.dbo.CabecCompras.id, PRISINF.dbo.CabecCompras.NumDoc,PRISINF.dbo.LinhasCompras.Armazem FROM PRISINF.dbo.CabecCompras INNER JOIN PRISINF.dbo.LinhasCompras ON PRISINF.dbo.CabecCompras.Id = PRISINF.dbo.LinhasCompras.IdCabecCompras INNER JOIN PRISINF.dbo.LinhasComprasStatus ON PRISINF.dbo.LinhasCompras.Id = PRISINF.dbo.LinhasComprasStatus.IdLinhasCompras WHERE (PRISINF.dbo.CabecCompras.TipoDoc = N'ECF' AND PRISINF.dbo.LinhasComprasStatus.EstadoTrans = 'P' AND PRISINF.dbo.LinhasCompras.Armazem LIKE '%" + valor + "%') ORDER BY PRISINF.dbo.CabecCompras.NumDoc";
            string queryFornecedores = "SELECT DISTINCT	PRISINF.dbo.CabecCompras.TipoDoc, PRISINF.dbo.CabecCompras.id, PRISINF.dbo.CabecCompras.NumDoc, PRISINF.dbo.CabecCompras.Entidade FROM PRISINF.dbo.CabecCompras INNER JOIN PRISINF.dbo.LinhasCompras ON PRISINF.dbo.CabecCompras.Id = PRISINF.dbo.LinhasCompras.IdCabecCompras INNER JOIN PRISINF.dbo.LinhasComprasStatus ON PRISINF.dbo.LinhasCompras.Id = PRISINF.dbo.LinhasComprasStatus.IdLinhasCompras WHERE (PRISINF.dbo.CabecCompras.TipoDoc = N'ECF' AND PRISINF.dbo.LinhasComprasStatus.EstadoTrans = 'P' AND PRISINF.dbo.CabecCompras.Entidade LIKE '%" + valor + "%') ORDER BY PRISINF.dbo.CabecCompras.NumDoc";
            ErpBS objMotor = new ErpBS();
            StdBELista objList;

            if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
            {
                objList = PriEngine.Engine.Consulta(queryEncomendas);
                string chave;
                int parValor;

                while (!objList.NoFim())
                {
                    if (!procura.Encomendas.Contains(objList.Valor("NumDoc")))
                    {
                        procura.Encomendas.Add(objList.Valor("NumDoc"));
                    }
                    objList.Seguinte();
                }

                objList = PriEngine.Engine.Consulta(queryArtigos);

                while (!objList.NoFim())
                {
                    chave = objList.Valor("Artigo");
                    parValor = objList.Valor("NumDoc");
                    if (procura.Artigos.ContainsKey(chave))
                    {
                        List<int> listaEncomendas = procura.Artigos[chave];
                        if (!listaEncomendas.Contains(parValor))
                        {
                            listaEncomendas.Add(parValor);
                        }
                    }
                    else
                    {
                        List<int> lista = new List<int>();
                        lista.Add(parValor);
                        procura.Artigos.Add(chave, lista);
                    }
                    objList.Seguinte();
                }

                objList = PriEngine.Engine.Consulta(queryArmazens);

                while (!objList.NoFim())
                {
                    chave = objList.Valor("Armazem");
                    parValor = objList.Valor("NumDoc");
                    if (procura.Armazens.ContainsKey(chave))
                    {
                        List<int> listaEncomendas = procura.Armazens[chave];
                        if (!listaEncomendas.Contains(parValor))
                        {
                            listaEncomendas.Add(parValor);
                        }
                    }
                    else
                    {
                        List<int> lista = new List<int>();
                        lista.Add(parValor);
                        procura.Armazens.Add(chave, lista);
                    }
                    objList.Seguinte();
                }

                objList = PriEngine.Engine.Consulta(queryFornecedores);

                while (!objList.NoFim())
                {
                    chave = objList.Valor("Entidade");
                    parValor = objList.Valor("NumDoc");
                    if (procura.Fornecedores.ContainsKey(chave))
                    {
                        List<int> listaEncomendas = procura.Fornecedores[chave];
                        if (!listaEncomendas.Contains(parValor))
                        {
                            listaEncomendas.Add(parValor);
                        }
                    }
                    else
                    {
                        List<int> lista = new List<int>();
                        lista.Add(parValor);
                        procura.Fornecedores.Add(chave, lista);
                    }
                    objList.Seguinte();
                }

            }
            return procura;
        }
Example #54
0
        public static Lib_Primavera.Model.RespostaErro UpdCliente(Lib_Primavera.Model.Cliente cliente)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            ErpBS objMotor = new ErpBS();

            GcpBECliente objCli = new GcpBECliente();

            try
            {

                if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
                {

                    if (PriEngine.Engine.Comercial.Clientes.Existe(cliente.CodCliente) == false)
                    {
                        erro.Status = false;
                        erro.Erro = 1;
                        erro.Descricao = "O cliente não existe";
                        return erro;
                    }
                    else
                    {

                        objCli = PriEngine.Engine.Comercial.Clientes.Edita(cliente.CodCliente);
                        objCli.set_EmModoEdicao(true);

                        objCli.set_Nome(cliente.NomeCliente);
                        objCli.set_NumContribuinte(cliente.NumContribuinte);
                        objCli.set_Moeda(cliente.Moeda);

                        PriEngine.Engine.Comercial.Clientes.Actualiza(objCli);

                        erro.Status = true;
                        erro.Erro = 0;
                        erro.Descricao = "Sucesso";
                        return erro;
                    }
                }
                else
                {
                    erro.Status = false;
                    erro.Erro = 1;
                    erro.Descricao = "Erro ao abrir a empresa";
                    return erro;

                }

            }

            catch (Exception ex)
            {
                erro.Status = false;
                erro.Erro = 2;
                erro.Descricao = ex.Message;
                return erro;
            }
        }
Example #55
0
 public MotoresComercial(ErpBS _erpBs)
 {
     this._erpBs = _erpBs;
     
     AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
 }
Example #56
0
        public static Model.DocCompra getEncomenda(string codBarValue)
        {
            string[] substrings = Regex.Split(codBarValue, "ECF-");
            string query = "SELECT PRISINF.dbo.CabecCompras.TipoDoc, PRISINF.dbo.CabecCompras.DataVencimento, PRISINF.dbo.CabecCompras.CondPag, PRISINF.dbo.CabecCompras.id, PRISINF.dbo.CabecCompras.NumDoc, PRISINF.dbo.CabecCompras.Entidade, PRISINF.dbo.CabecCompras.DataDoc,PRISINF.dbo.CabecCompras.NumDocExterno, PRISINF.dbo.CabecCompras.TotalMerc,PRISINF.dbo.CabecCompras.Serie, PRISINF.dbo.LinhasCompras.NumLinha, PRISINF.dbo.LinhasCompras.Artigo, PRISINF.dbo.LinhasCompras.Quantidade, PRISINF.dbo.LinhasCompras.Desconto1, PRISINF.dbo.LinhasCompras.PrecUnit, PRISINF.dbo.LinhasCompras.Armazem, PRISINF.dbo.LinhasComprasStatus.EstadoTrans, PRISINF.dbo.LinhasComprasStatus.QuantTrans FROM PRISINF.dbo.CabecCompras INNER JOIN PRISINF.dbo.LinhasCompras ON PRISINF.dbo.CabecCompras.Id = PRISINF.dbo.LinhasCompras.IdCabecCompras INNER JOIN PRISINF.dbo.LinhasComprasStatus ON PRISINF.dbo.LinhasCompras.Id = PRISINF.dbo.LinhasComprasStatus.IdLinhasCompras WHERE (PRISINF.dbo.CabecCompras.TipoDoc = N'ECF' AND PRISINF.dbo.LinhasComprasStatus.EstadoTrans = 'P' AND dbo.CabecCompras.NumDoc like '" + substrings[substrings.Length - 1] + "') ORDER BY PRISINF.dbo.CabecCompras.NumDoc";
            ErpBS objMotor = new ErpBS();
            StdBELista objList;

            Model.DocCompra result = new Model.DocCompra();
            Model.LinhaDocCompra linhaDocCompra;
            Model.LinhaDocCompraStatus statusLinhaCompra;
            if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
            {
                objList = PriEngine.Engine.Consulta(query);

                if (!objList.NoFim()) //tem pelo menos 1 elemento
                {
                    result.TipoDoc = objList.Valor("TipoDoc");
                    result.id = objList.Valor("id");
                    result.Entidade = objList.Valor("Entidade");
                    result.NumDoc = objList.Valor("NumDoc");
                    result.DataEmissao = objList.Valor("DataDoc");
                    result.DataVencimento = objList.Valor("DataVencimento");
                    result.NumDocExterno = objList.Valor("NumDocExterno");
                    result.CondPag = objList.Valor("CondPag");
                    result.TotalMerc = objList.Valor("TotalMerc");
                    result.Serie = objList.Valor("Serie");

                    result.LinhasDoc = new List<Model.LinhaDocCompra>();

                    linhaDocCompra = new Model.LinhaDocCompra();
                    linhaDocCompra.NumLinha = objList.Valor("NumLinha");
                    linhaDocCompra.CodArtigo = objList.Valor("Artigo");
                    linhaDocCompra.Quantidade = objList.Valor("Quantidade");
                    linhaDocCompra.Armazem = objList.Valor("Armazem");
                    linhaDocCompra.Desconto = objList.Valor("Desconto1");
                    linhaDocCompra.PrecoUnitario = objList.Valor("PrecUnit");
                    statusLinhaCompra = new Model.LinhaDocCompraStatus();
                    statusLinhaCompra.EstadoTrans = objList.Valor("EstadoTrans");
                    statusLinhaCompra.QuantTrans = objList.Valor("QuantTrans");
                    linhaDocCompra.Status = statusLinhaCompra;

                    result.LinhasDoc.Add(linhaDocCompra);

                    objList.Seguinte();

                    while (!objList.NoFim()) //restantes elementos
                    {
                        linhaDocCompra = new Model.LinhaDocCompra();
                        linhaDocCompra.NumLinha = objList.Valor("NumLinha");
                        linhaDocCompra.CodArtigo = objList.Valor("Artigo");
                        linhaDocCompra.Quantidade = objList.Valor("Quantidade");
                        linhaDocCompra.Armazem = objList.Valor("Armazem");
                        linhaDocCompra.Desconto = objList.Valor("Desconto1");
                        linhaDocCompra.PrecoUnitario = objList.Valor("PrecUnit");
                        statusLinhaCompra = new Model.LinhaDocCompraStatus();
                        statusLinhaCompra.EstadoTrans = objList.Valor("EstadoTrans");
                        statusLinhaCompra.QuantTrans = objList.Valor("QuantTrans");
                        linhaDocCompra.Status = statusLinhaCompra;

                        result.LinhasDoc.Add(linhaDocCompra);

                        objList.Seguinte();
                    }
                }
            }

            return result;
        }
Example #57
0
 // Clientes
 public static List<Model.Utilizador> ListaUtilizadores()
 {
     ErpBS objMotor = new ErpBS();
     //MotorPrimavera mp = new MotorPrimavera();
     StdBELista objList;
     Model.Utilizador cli = new Model.Utilizador();
     List<Model.Utilizador> listClientes = new List<Model.Utilizador>();
     if (PriEngine.Platform.Inicializada)
     {
         //if (PriEngine.InitializeCompany("BELAFLOR", "admin", "admin") == true){
         //objList = PriEngine.Engine.Comercial.Clientes.LstClientes();
         String query = "SELECT * FROM PRIBELAFLOR.dbo.Clientes";
         objList = PriEngine.Engine.Consulta(query);
         while (!objList.NoFim())
         {
             cli = new Model.Utilizador();
             cli.Cod = objList.Valor("Cliente");
             cli.Tipo = 3;
             cli.Nome = objList.Valor("Nome");
             cli.Morada = objList.Valor("Fac_Mor");
             cli.Localidade = objList.Valor("Fac_Local");
             cli.CP = objList.Valor("Fac_Cp");
             cli.CPLocal = objList.Valor("Fac_Cploc");
             cli.Telefone = objList.Valor("Fac_Tel");
             cli.Fax = objList.Valor("Fac_Fax");
             cli.Pais = objList.Valor("Pais");
             cli.Idioma = objList.Valor("Idioma");
             cli.Moeda = objList.Valor("Moeda");
             cli.NumContribuinte = objList.Valor("NumContrib");
             listClientes.Add(cli);
             objList.Seguinte();
         }
         return listClientes;
     }
     else
         return null;
 }
Example #58
0
        public static Lib_Primavera.Model.Armazem GetArmazem(string codArmazem)
        {
            Model.Armazem armazem = new Model.Armazem();
            string query = "SELECT Armazem, Descricao, Morada, Localidade, Cp, CpLocalidade FROM dbo.Armazens WHERE dbo.Armazens.Armazem='" + codArmazem + "'";
            ErpBS objMotor = new ErpBS();
            StdBELista objList;

            if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
            {
                objList = PriEngine.Engine.Consulta(query);
                if (!objList.NoFim())
                {
                    armazem.id = objList.Valor("Armazem");
                    armazem.descricao = objList.Valor("Descricao");
                    armazem.morada = objList.Valor("Morada");
                    armazem.localidade = objList.Valor("Localidade");
                    armazem.Cp = objList.Valor("Cp");
                    armazem.CpLocalidade = objList.Valor("CpLocalidade");
                }
            }

            return armazem;
        }
Example #59
0
        private static Lib_Primavera.Model.SessionModel getUser(string username)
        {
            Model.SessionModel session = new Model.SessionModel();
            session.UserName = "";
            session.Armazem = "";
            session.Session_Val = "";
            string query = "SELECT CDU_Username, CDU_Armazem FROM PRISINF.dbo.TDU_User WHERE PRISINF.dbo.TDU_User.CDU_Username = '******'";
            ErpBS objMotor = new ErpBS();
            StdBELista objList;

            if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
            {
                objList = PriEngine.Engine.Consulta(query);
                if (!objList.NoFim())
                {
                    session.UserName = objList.Valor("CDU_Username");
                    session.Armazem = objList.Valor("CDU_Armazem");

                    //hash of username concatenated with julianData of current time
                    session.Session_Val = Base64Encode(session.UserName + (DateTime.Now.ToOADate() + 2415018.5).ToString());
                    return session;
                }

            }
            return session;
        }
Example #60
-1
        public void inicializarCompras(ErpBS erpBs, GcpBEDocumentoCompra gcpBEDocumento,int linhaActual,string modulo,string idTemp)
        {
           
            _erpBS = erpBs;
            _documentoCompra = gcpBEDocumento;
            this.linhaActual = linhaActual;
            this.idTemp = idTemp;

            inicializarForm();

            Show();
        }