public static List <Model.SubFamilia> ListaSubCategoriasPorCategoria(string categoria)
        {
            StdBELista objList;

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

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta(
                    "select Familia, SubFamilia, Descricao " +
                    "from SubFamilias " +
                    "where Familia = '" + categoria + "';");

                while (!objList.NoFim())
                {
                    art           = new Model.SubFamilia();
                    art.ID        = objList.Valor("SubFamilia");
                    art.IDFamilia = objList.Valor("Familia");
                    art.Nome      = objList.Valor("Descricao");

                    listArts.Add(art);
                    objList.Seguinte();
                }

                return(listArts);
            }
            else
            {
                return(null);
            }
        }
        public static IEnumerable <Contacto> ListaContactos()
        {
            StdBELista      objList;
            List <Contacto> listContactos = new List <Contacto>();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta("SELECT Entidade, Nome, Morada, Localidade, CodPostal, Telefone, Telemovel, Fax, Email, EnderecoWeb, Vendedor, Pais FROM  EntidadesExternas;");


                while (!objList.NoFim())
                {
                    listContactos.Add(new Contacto
                    {
                        Entidade   = objList.Valor("Entidade"),
                        Nome       = objList.Valor("Nome"),
                        Vendedor   = objList.Valor("Vendedor"),
                        Morada     = objList.Valor("Morada"),
                        CodPostal  = objList.Valor("CodPostal"),
                        Telefone   = objList.Valor("Telefone"),
                        Telemovel  = objList.Valor("Telemovel"),
                        Pais       = objList.Valor("Pais"),
                        Fax        = objList.Valor("Fax"),
                        Localidade = objList.Valor("Localidade"),
                        Email      = objList.Valor("Email"),
                    });
                    objList.Seguinte();
                }
                return(listContactos);
            }
            else
            {
                return(null);
            }
        }
示例#3
0
        public static Lib_Primavera.Model.TipoTarefa GetTipoTarefa(string cod)
        {
            StdBELista objList = new StdBELista();

            Model.TipoTarefa act = new Model.TipoTarefa();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta(
                    "SELECT TiposTarefa.ID AS ID, TiposTarefa.Descricao AS Descricao FROM TiposTarefa WHERE ID ='" + cod + "'");


                if (objList.NumLinhas().Equals(0))
                {
                    return(null);
                }
                else
                {
                    act           = new Model.TipoTarefa();
                    act.ID        = objList.Valor("ID");
                    act.Descricao = objList.Valor("Descricao");

                    return(act);
                }
            }
            else
            {
                return(null);
            }
        }
示例#4
0
        public static Lib_Primavera.Model.Rota GetRota(string codrota)
        {
            StdBELista objList = new StdBELista();

            Model.Rota rota = new Model.Rota();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta(
                    "SELECT * FROM STP_Rotas STP_Rotas.id = '" + codrota + "'");


                if (PriEngine.Engine.CRM.Actividades.Existe(codrota) == false)
                {
                    return(null);
                }
                else
                {
                    rota           = new Model.Rota();
                    rota.ID        = objList.Valor("ID");
                    rota.Rot       = objList.Valor("Rota");
                    rota.Descricao = objList.Valor("Descricao");
                    rota.ZonaID    = objList.Valor("Zona");


                    return(rota);
                }
            }
            else
            {
                return(null);
            }
        }
示例#5
0
        public static List <Model.TipoTarefa> ListaTipoTarefa()
        {
            StdBELista objList;

            Model.TipoTarefa        act      = new Model.TipoTarefa();
            List <Model.TipoTarefa> listActs = new List <Model.TipoTarefa>();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta(
                    "SELECT * FROM TiposTarefa");

                while (!objList.NoFim())
                {
                    act           = new Model.TipoTarefa();
                    act.ID        = objList.Valor("ID");
                    act.Descricao = objList.Valor("Descricao");

                    listActs.Add(act);
                    objList.Seguinte();
                }

                return(listActs);
            }
            else
            {
                return(null);
            }
        }
        public static List <Model.Artigo> ListaArtigosFamiliaSubFamilia(string familia, string subfamilia)
        {
            StdBELista objList;

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

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta(
                    "select Artigo.Artigo, Artigo.Descricao, Artigo.Familia, Familias.Descricao AS DescricaoFamilia, Artigo.SubFamilia, SubFamilias.Descricao AS DescricaoSubFamilia, STKActual, PCMedio " +
                    "from Artigo Join Familias ON Familias.Familia = Artigo.Familia Join SubFamilias ON SubFamilias.SubFamilia = Artigo.SubFamilia " +
                    "where Artigo.Familia = '" + familia + "' AND Artigo.SubFamilia = '" + subfamilia + "';");

                while (!objList.NoFim())
                {
                    art                = new Model.Artigo();
                    art.ID             = objList.Valor("Artigo");
                    art.Nome           = objList.Valor("Descricao");
                    art.StockAtual     = objList.Valor("STKActual");
                    art.PVP1           = objList.Valor("PCMedio");
                    art.FamiliaNome    = objList.Valor("DescricaoFamilia");
                    art.SubFamiliaNome = objList.Valor("DescricaoSubFamilia");

                    listArts.Add(art);
                    objList.Seguinte();
                }
                return(listArts);
            }
            else
            {
                return(null);
            }
        }
示例#7
0
        public static List <Model.Rota> ListaRotas()
        {
            StdBELista objList;

            Model.Rota        rota      = new Model.Rota();
            List <Model.Rota> listRotas = new List <Model.Rota>();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta(
                    "SELECT * FROM STP_Rotas");

                while (!objList.NoFim())
                {
                    rota           = new Model.Rota();
                    rota.ID        = objList.Valor("ID");
                    rota.Rot       = objList.Valor("Rota");
                    rota.Descricao = objList.Valor("Descricao");
                    rota.ZonaID    = objList.Valor("Zona");



                    listRotas.Add(rota);
                    objList.Seguinte();
                }

                return(listRotas);
            }
            else
            {
                return(null);
            }
        }
        public static IEnumerable <Model.Grupo> ListaEquipas()
        {
            StdBELista objList;

            List <Model.Grupo> listEquipas = new List <Model.Grupo>();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta("select Grupo, Descricao from GruposEmpresas;");


                while (!objList.NoFim())
                {
                    listEquipas.Add(new Model.Grupo
                    {
                        Id        = objList.Valor("Grupo"),
                        Descricao = objList.Valor("Descricao"),
                    });
                    objList.Seguinte();
                }
                return(listEquipas);
            }
            else
            {
                return(null);
            }
        }
示例#9
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 Lib_Primavera.Model.RespostaErro InsereGrupoObj(Model.Grupo grp)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();


            Interop.CblBE900.CblBEGrupoEmpresa myGrupo = new Interop.CblBE900.CblBEGrupoEmpresa();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    myGrupo.set_Grupo(grp.Id);
                    myGrupo.set_Descricao(grp.Descricao);

                    PriEngine.Engine.Contabilidade.GruposEmpresas.Actualiza(myGrupo);

                    erro.Erro      = 0;
                    erro.Descricao = "Sucesso";
                    return(erro);
                }
                else
                {
                    erro.Erro      = 1;
                    erro.Descricao = "Erro ao abrir empresa";
                    return(erro);
                }
            }

            catch (Exception ex)
            {
                erro.Erro      = 1;
                erro.Descricao = ex.Message;
                return(erro);
            }
        }
        public static IEnumerable <Vendedor> ListaVendedores()
        {
            StdBELista      objList;
            List <Vendedor> listVendedores = new List <Vendedor>();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta("SELECT Vendedor, Nome, Telefone, Telemovel, EMail, Notas, Morada, Localidade, CPostal, Fax FROM  Vendedores");


                while (!objList.NoFim())
                {
                    listVendedores.Add(new Vendedor
                    {
                        Id         = objList.Valor("Vendedor"),
                        Nome       = objList.Valor("Nome"),
                        Telefone   = objList.Valor("Telefone"),
                        Telemovel  = objList.Valor("Telemovel"),
                        Email      = objList.Valor("EMail"),
                        Morada     = objList.Valor("Morada"),
                        Localidade = objList.Valor("Localidade"),
                        CodPostal  = objList.Valor("CPostal"),
                        Fax        = objList.Valor("Fax")
                    });
                    objList.Seguinte();
                }
                return(listVendedores);
            }
            else
            {
                return(null);
            }
        }
示例#12
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);
        }
示例#13
0
        public static void listProductsInv()
        {
            SqliteDB.com.CommandText = "update product set stock=@1,pcm=@2,pvp=@3 where code=@4";
            StdBELista objList;

            if (!PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()))
            {
                return;
            }

            objList = PriEngine.Engine.Consulta(
                @"SELECT Artigo.Artigo,cast(Artigo.STKActual as integer) as STKActual,Artigo.PCMedio,ArtigoMoeda.PVP1
                FROM Artigo,ArtigoMoeda
                WHERE Artigo.Artigo = ArtigoMoeda.Artigo"
                );

            while (!objList.NoFim())
            {
                string artigo   = objList.Valor("Artigo");
                int    stkatual = objList.Valor("STKActual");
                double pcm      = objList.Valor("PCMedio");
                double pvp      = objList.Valor("PVP1");
                SqliteDB.com.Parameters.AddWithValue("@1", stkatual);
                SqliteDB.com.Parameters.AddWithValue("@2", pcm);
                SqliteDB.com.Parameters.AddWithValue("@3", pvp);
                SqliteDB.com.Parameters.AddWithValue("@4", artigo);
                SqliteDB.com.ExecuteNonQuery();
                objList.Seguinte();
            }
        }
        public static Lib_Primavera.Model.RespostaErro UpdTarefa(Lib_Primavera.Model.Tarefa tarefa)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();


            CrmBEActividade myT = new CrmBEActividade();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    if (PriEngine.Engine.CRM.Actividades.Existe(tarefa.ID) == false)
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "A tarefa não existe";
                        return(erro);
                    }
                    else
                    {
                        myT = PriEngine.Engine.CRM.Actividades.Edita(tarefa.ID);
                        myT.set_EmModoEdicao(true);

                        myT.set_DataInicio(tarefa.DataInicio);
                        myT.set_DataFim(tarefa.DataFim);
                        myT.set_Resumo(tarefa.Resumo);
                        myT.set_Descricao(tarefa.Descricao);
                        myT.set_IDTipoActividade(tarefa.IdTipo);
                        myT.set_Prioridade(tarefa.Prioridade);
                        myT.set_Utilizador(tarefa.IDUtilizador);
                        myT.set_IDCabecOVenda(tarefa.IDTarefaOrigem);
                        myT.set_LocalRealizacao(tarefa.Localizacao);
                        myT.set_Duracao(tarefa.Duracao);
                        myT.set_EntidadePrincipal(tarefa.IDContacto);
                        myT.set_TipoEntidadePrincipal(null);

                        PriEngine.Engine.CRM.Actividades.Actualiza(myT);

                        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);
            }
        }
        public static Lib_Primavera.Model.RespostaErro UpdContacto(Lib_Primavera.Model.Contacto contacto)
        {
            Lib_Primavera.Model.RespostaErro erro      = new Model.RespostaErro();
            CrmBEEntidadeExterna             myContact = new CrmBEEntidadeExterna();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    if (PriEngine.Engine.CRM.EntidadesExternas.Existe(contacto.Entidade) == false)
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "O contacto não existe";
                        return(erro);
                    }
                    else
                    {
                        myContact = PriEngine.Engine.CRM.EntidadesExternas.Edita(contacto.Entidade);

                        myContact.set_EmModoEdicao(true);

                        myContact.set_Morada(contacto.Morada);
                        myContact.set_CodPostal(contacto.CodPostal);
                        myContact.set_Localidade(contacto.Localidade);
                        myContact.set_Pais(contacto.Pais);
                        myContact.set_Telefone(contacto.Telefone);
                        myContact.set_Telemovel(contacto.Telemovel);
                        myContact.set_Email(contacto.Email);
                        myContact.set_Entidade(contacto.Nome.ToUpper());
                        myContact.set_Nome(contacto.Nome);
                        myContact.set_Fax(contacto.Fax);



                        PriEngine.Engine.CRM.EntidadesExternas.Actualiza(myContact);

                        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);
            }
        }
示例#16
0
        public static RespostaErro RemoveProduto(OportunidadeDTO dto)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            CrmBEPropostaOPV objProp = new CrmBEPropostaOPV();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    //oportunidade
                    if (!PriEngine.Engine.CRM.OportunidadesVenda.ExisteID(dto.IdOportunidade))
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "Nao existe oportunidade";
                        return(erro);
                    }
                    //proposta
                    objProp = PriEngine.Engine.CRM.PropostasOPV.Edita(dto.IdOportunidade, dto.NumProposta, true);
                    objProp.set_EmModoEdicao(true);

                    //vai buscar os artigos desta proposta
                    CrmBELinhasPropostaOPV objLinhas = objProp.get_Linhas();
                    for (short j = 1; j <= objLinhas.NumItens; j++)
                    {
                        var objLinha = objLinhas.get_Edita(j);
                        var artigo   = objLinha.get_Artigo();
                        if (artigo == dto.IdArtigo)
                        {
                            //artigo a eliminar
                            objLinhas.Remove(objLinha.get_Linha());
                            break;
                        }
                    }

                    //update proposta
                    objProp.set_Linhas(objLinhas);
                    PriEngine.Engine.CRM.PropostasOPV.Actualiza(objProp);

                    erro.Erro      = 0;
                    erro.Descricao = "Success";
                    return(erro);
                }
                else
                {
                    erro.Erro      = 1;
                    erro.Descricao = "Erro ao abrir empresa";
                    return(erro);
                }
            }
            catch (Exception ex)
            {
                erro.Erro      = 1;
                erro.Descricao = ex.Message;
                return(erro);
            }
        }
        public static Model.RespostaErro VGR_New(Model.DocCompra dc)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();


            GcpBEDocumentoCompra       myGR     = new GcpBEDocumentoCompra();
            GcpBELinhaDocumentoCompra  myLin    = new GcpBELinhaDocumentoCompra();
            GcpBELinhasDocumentoCompra myLinhas = new GcpBELinhasDocumentoCompra();

            PreencheRelacaoCompras      rl       = new PreencheRelacaoCompras();
            List <Model.LinhaDocCompra> lstlindv = new List <Model.LinhaDocCompra>();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    // Atribui valores ao cabecalho do doc
                    //myEnc.set_DataDoc(dv.Data);
                    myGR.set_Entidade(dc.Entidade);
                    myGR.set_NumDocExterno(dc.NumDocExterno);
                    myGR.set_Serie(dc.Serie);
                    myGR.set_Tipodoc("VGR");
                    myGR.set_TipoEntidade("F");
                    // Linhas do documento para a lista de linhas
                    lstlindv = dc.LinhasDoc;
                    //PriEngine.Engine.Comercial.Compras.PreencheDadosRelacionados(myGR,rl);
                    PriEngine.Engine.Comercial.Compras.PreencheDadosRelacionados(myGR);
                    foreach (Model.LinhaDocCompra lin in lstlindv)
                    {
                        PriEngine.Engine.Comercial.Compras.AdicionaLinha(myGR, lin.CodArtigo, lin.Quantidade, lin.Armazem, "", lin.PrecoUnitario, lin.Desconto);
                    }


                    PriEngine.Engine.IniciaTransaccao();
                    PriEngine.Engine.Comercial.Compras.Actualiza(myGR, "Teste");
                    PriEngine.Engine.TerminaTransaccao();
                    erro.Erro      = 0;
                    erro.Descricao = "Sucesso";
                    return(erro);
                }
                else
                {
                    erro.Erro      = 1;
                    erro.Descricao = "Erro ao abrir empresa";
                    return(erro);
                }
            }
            catch (Exception ex)
            {
                PriEngine.Engine.DesfazTransaccao();
                erro.Erro      = 1;
                erro.Descricao = ex.Message;
                return(erro);
            }
        }
        public static List <Model.DocCompra> VGR_List()
        {
            StdBELista objListCab;
            StdBELista objListLin;

            Model.DocCompra        dc     = new Model.DocCompra();
            List <Model.DocCompra> listdc = new List <Model.DocCompra>();

            Model.LinhaDocCompra        lindc     = new Model.LinhaDocCompra();
            List <Model.LinhaDocCompra> listlindc = new List <Model.LinhaDocCompra>();

            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, NumDocExterno, Entidade, DataDoc, NumDoc, TotalMerc, Serie From CabecCompras where TipoDoc='VGR'");
                while (!objListCab.NoFim())
                {
                    dc               = new Model.DocCompra();
                    dc.id            = objListCab.Valor("id");
                    dc.NumDocExterno = objListCab.Valor("NumDocExterno");
                    dc.Entidade      = objListCab.Valor("Entidade");
                    dc.NumDoc        = objListCab.Valor("NumDoc");
                    dc.Data          = objListCab.Valor("DataDoc");
                    dc.TotalMerc     = objListCab.Valor("TotalMerc");
                    dc.Serie         = objListCab.Valor("Serie");
                    objListLin       = PriEngine.Engine.Consulta("SELECT idCabecCompras, Artigo, Descricao, Quantidade, Unidade, PrecUnit, Desconto1, TotalILiquido, PrecoLiquido, Armazem, Lote from LinhasCompras where IdCabecCompras='" + dc.id + "' order By NumLinha");
                    listlindc        = new List <Model.LinhaDocCompra>();

                    while (!objListLin.NoFim())
                    {
                        lindc               = new Model.LinhaDocCompra();
                        lindc.IdCabecDoc    = objListLin.Valor("idCabecCompras");
                        lindc.CodArtigo     = objListLin.Valor("Artigo");
                        lindc.DescArtigo    = objListLin.Valor("Descricao");
                        lindc.Quantidade    = objListLin.Valor("Quantidade");
                        lindc.Unidade       = objListLin.Valor("Unidade");
                        lindc.Desconto      = objListLin.Valor("Desconto1");
                        lindc.PrecoUnitario = objListLin.Valor("PrecUnit");
                        lindc.TotalILiquido = objListLin.Valor("TotalILiquido");
                        lindc.TotalLiquido  = objListLin.Valor("PrecoLiquido");
                        lindc.Armazem       = objListLin.Valor("Armazem");
                        lindc.Lote          = objListLin.Valor("Lote");

                        listlindc.Add(lindc);
                        objListLin.Seguinte();
                    }

                    dc.LinhasDoc = listlindc;

                    listdc.Add(dc);
                    objListCab.Seguinte();
                }
            }
            return(listdc);
        }
        public static List <Model.Artigo> ListaArtigos()
        {
            StdBELista objList;

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

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta(
                    "select Artigo.Artigo, Artigo.Descricao, UnidadeVenda, Iva, Desconto, STKActual, Marca, Familias.Descricao AS DescricaoFamilia, SubFamilias.Descricao AS DescricaoSubFamilia, PrazoEntrega, Peso, Marca, Observacoes, QtReservadaGPR  " +
                    "from Artigo Join Familias ON Familias.Familia = Artigo.Familia Join SubFamilias ON SubFamilias.SubFamilia = Artigo.SubFamilia;");

                while (!objList.NoFim())
                {
                    art             = new Model.Artigo();
                    art.ID          = objList.Valor("Artigo");
                    art.Nome        = objList.Valor("Descricao");
                    art.Marca       = objList.Valor("Marca");
                    art.Observacoes = objList.Valor("Observacoes");

                    art.FamiliaNome    = objList.Valor("Descricao");
                    art.SubFamiliaNome = objList.Valor("DescricaoSubFamilia");

                    art.PrazoEntrega = objList.Valor("PrazoEntrega");

                    art.UnidadeVenda        = objList.Valor("UnidadeVenda");
                    art.StockAtual          = objList.Valor("STKActual");
                    art.QuantidadeReservada = objList.Valor("QtReservadaGPR");

                    art.Desconto = objList.Valor("Desconto");
                    art.IVA      = PriEngine.Engine.Comercial.Iva.Edita(objList.Valor("Iva")).get_Taxa();

                    var objArtigoPreco = PriEngine.Engine.Comercial.ArtigosPrecos.Edita(art.ID, "EUR", art.UnidadeVenda);
                    art.PVP1 = objArtigoPreco.get_PVP1();

                    art.PrecoFinal = art.PVP1 * (1 - art.Desconto / 100);
                    if (!objArtigoPreco.get_PVP1IvaIncluido())
                    {
                        art.PrecoFinal *= (1 + art.IVA / 100);
                    }

                    listArts.Add(art);
                    objList.Seguinte();
                }

                return(listArts);
            }
            else
            {
                return(null);
            }
        }
示例#20
0
        //so faz update das quantidades
        public static RespostaErro UpdOportunidade(PropostaDTO proposta)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            CrmBEPropostaOPV objProp = new CrmBEPropostaOPV();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    //oportunidade
                    if (!PriEngine.Engine.CRM.OportunidadesVenda.ExisteID(proposta.IdOportunidade))
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "Nao existe oportunidade";
                        return(erro);
                    }
                    //proposta
                    objProp = PriEngine.Engine.CRM.PropostasOPV.Edita(proposta.IdOportunidade, proposta.Proposta.NumProposta, true);
                    objProp.set_EmModoEdicao(true);

                    //vai buscar os artigos desta proposta
                    CrmBELinhasPropostaOPV   objLinhas = objProp.get_Linhas();
                    List <OportunidadeLinha> artigos   = proposta.Proposta.Artigos;
                    foreach (var art in artigos)
                    {
                        short n = art.Linha;
                        n--;
                        var objLinha = objLinhas.get_Edita(n);
                        objLinha.set_Quantidade(art.Quantidade);
                    }

                    //update
                    objProp.set_Linhas(objLinhas);
                    PriEngine.Engine.CRM.PropostasOPV.Actualiza(objProp);

                    erro.Erro      = 0;
                    erro.Descricao = "Success";
                    return(erro);
                }
                else
                {
                    erro.Erro      = 1;
                    erro.Descricao = "Erro ao abrir empresa";
                    return(erro);
                }
            }
            catch (Exception ex)
            {
                erro.Erro      = 1;
                erro.Descricao = ex.Message;
                return(erro);
            }
        }
示例#21
0
        public static List <Model.Cliente> SearchCliente(Lib_Primavera.Model.SearchAndVendorDTO Search)
        {
            string search = Search.search;
            string id     = Search.id;

            StdBELista objList;

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

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta("SELECT Cliente, Nome,Moeda, Fac_Mor, Fac_Local, Fac_Cp, Fac_Tel, Fac_Fax," +
                                                    "TotalDeb, NumContrib, Pais,EnderecoWeb, DataCriacao, EncomendasPendentes, Notas, Situacao, Vendedor, CDU_Email, Clientes.Descricao AS clidesc, " +
                                                    "GruposEmpresas.Descricao AS grpdesc from Clientes LEFT JOIN GruposEmpresas ON Clientes.Descricao = GruposEmpresas.Grupo " +
                                                    "where Vendedor = " + id + " AND (lower(Cliente) LIKE lower('%" + search + "%') OR lower(Nome) LIKE lower('%" + search + "%'));");


                while (!objList.NoFim())
                {
                    listClientes.Add(new Model.Cliente
                    {
                        CodCliente          = objList.Valor("Cliente"),
                        Nome                = objList.Valor("Nome"),
                        Moeda               = objList.Valor("Moeda"),
                        Morada              = objList.Valor("Fac_Mor"),
                        Localidade          = objList.Valor("Fac_Local"),
                        CodPostal           = objList.Valor("Fac_Cp"),
                        Fax                 = objList.Valor("Fac_Fax"),
                        TotalDeb            = objList.Valor("TotalDeb"),
                        NumContribuinte     = objList.Valor("NumContrib"),
                        Pais                = objList.Valor("Pais"),
                        EnderecoWeb         = objList.Valor("EnderecoWeb"),
                        DataCriacao         = objList.Valor("DataCriacao"),
                        EncomendasPendentes = objList.Valor("EncomendasPendentes"),
                        Notas               = objList.Valor("Notas"),
                        Situacao            = objList.Valor("Situacao"),
                        Vendedor            = objList.Valor("Vendedor"),
                        Email               = objList.Valor("CDU_Email"),
                        Grupo               = objList.Valor("clidesc"),
                        GrupoDesc           = objList.Valor("grpdesc"),
                        Telemovel           = objList.Valor("Fac_Tel")
                    });
                    objList.Seguinte();
                }

                return(listClientes);
            }
            else
            {
                return(null);
            }
        }
示例#22
0
        public static List <Model.DocVenda> Encomendas_List()
        {
            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, 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);
        }
示例#23
0
        public static Lib_Primavera.Model.RespostaErro InsereClienteObj(Model.Cliente cli)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();


            GcpBECliente myCli = new GcpBECliente();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    myCli.set_Cliente(cli.CodCliente);
                    myCli.set_Nome(cli.Nome);
                    myCli.set_Morada(cli.Morada);
                    myCli.set_Localidade(cli.Localidade);
                    myCli.set_CodigoPostal(cli.CodPostal);
                    myCli.set_Fax(cli.Fax);
                    myCli.set_DebitoContaCorrente(cli.TotalDeb);
                    myCli.set_NumContribuinte(cli.NumContribuinte);
                    myCli.set_Pais(cli.Pais);
                    myCli.set_EnderecoWeb(cli.EnderecoWeb);
                    myCli.set_DebitoEncomendasPendentes(cli.EncomendasPendentes);
                    myCli.set_Descricao(cli.Grupo);
                    myCli.set_Observacoes(cli.Notas);
                    myCli.set_Inactivo(cli.Inactivo);
                    myCli.set_Vendedor(cli.Vendedor);
                    myCli.set_Moeda(cli.Moeda);
                    myCli.set_DataCriacao(DateTime.Now);
                    myCli.set_DataUltimaActualizacao(DateTime.Now);

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

                    erro.Erro      = 0;
                    erro.Descricao = "Sucesso";
                    return(erro);
                }
                else
                {
                    erro.Erro      = 1;
                    erro.Descricao = "Erro ao abrir empresa";
                    return(erro);
                }
            }

            catch (Exception ex)
            {
                erro.Erro      = 1;
                erro.Descricao = ex.Message;
                return(erro);
            }
        }
        public static Lib_Primavera.Model.Artigo GetArtigo(string codArtigo)
        {
            GcpBEArtigo objArtigo = new GcpBEArtigo();

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

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                if (PriEngine.Engine.Comercial.Artigos.Existe(codArtigo) == false)
                {
                    return(null);
                }
                else
                {
                    objArtigo = PriEngine.Engine.Comercial.Artigos.Edita(codArtigo);

                    myArt.ID          = objArtigo.get_Artigo();
                    myArt.Nome        = objArtigo.get_Descricao();
                    myArt.Marca       = objArtigo.get_Marca();
                    myArt.Observacoes = objArtigo.get_Observacoes();

                    myArt.FamiliaNome    = objArtigo.get_Familia();
                    myArt.SubFamiliaNome = objArtigo.get_SubFamilia();

                    myArt.PrazoEntrega = objArtigo.get_PrazoEntrega();

                    myArt.UnidadeVenda        = objArtigo.get_UnidadeVenda();
                    myArt.StockAtual          = objArtigo.get_StkActual();
                    myArt.QuantidadeReservada = objArtigo.get_QtReservada();

                    myArt.IVA      = PriEngine.Engine.Comercial.Iva.Edita(objArtigo.get_IVA()).get_Taxa();
                    myArt.Desconto = objArtigo.get_Desconto();

                    var objArtigoPreco = PriEngine.Engine.Comercial.ArtigosPrecos.Edita(myArt.ID, "EUR", myArt.UnidadeVenda);
                    myArt.PVP1 = objArtigoPreco.get_PVP1();

                    myArt.PrecoFinal = myArt.PVP1 * (1 - myArt.Desconto / 100);
                    if (!objArtigoPreco.get_PVP1IvaIncluido())
                    {
                        myArt.PrecoFinal *= (1 + myArt.IVA / 100);
                    }

                    return(myArt);
                }
            }
            else
            {
                return(null);
            }
        }
示例#25
0
        public static RespostaErro CreateProposta(Oportunidade oportunidade)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBELista props = PriEngine.Engine.Consulta(@"SELECT Count(*) AS N FROM PropostasOPV
                                                            WHERE IdOportunidade = '" + oportunidade.ID + "' ;");
            int        n     = props.Valor("N");

            //maximo 4 propostas
            if (n >= 4)
            {
                erro.Erro      = 1;
                erro.Descricao = "The maximum of proposals is four.";
                return(erro);
            }

            CrmBEPropostaOPV prop = new CrmBEPropostaOPV();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    prop.set_IdOportunidade(oportunidade.ID);
                    prop.set_IdCabecOrigem(oportunidade.ID);
                    short x = (short)n;
                    x++;
                    prop.set_NumProposta(x);
                    prop.set_Valor(0);

                    //var opp = PriEngine.Engine.CRM.OportunidadesVenda.EditaID(oportunidade.ID);
                    PriEngine.Engine.CRM.PropostasOPV.Actualiza(prop);

                    erro.Erro      = 0;
                    erro.Descricao = "Sucesso";
                    return(erro);
                }
                else
                {
                    erro.Erro      = 1;
                    erro.Descricao = "Erro ao abrir empresa";
                    return(erro);
                }
            }
            catch (Exception ex)
            {
                erro.Erro      = 1;
                erro.Descricao = ex.Message;
                return(erro);
            }
        }
示例#26
0
        public static List <Model.Cliente> ListaClientes()
        {
            StdBELista objList;

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

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                //objList = PriEngine.Engine.Comercial.Clientes.LstClientes();

                objList = PriEngine.Engine.Consulta("SELECT Cliente, Nome,Moeda, Fac_Mor, Fac_Local, Fac_Cp, Fac_Tel, Fac_Fax, TotalDeb, NumContrib, Pais,EnderecoWeb, DataCriacao, EncomendasPendentes, Notas, Situacao, Vendedor, CDU_Email, Clientes.Descricao AS clidesc, GruposEmpresas.Descricao AS grpdesc from Clientes LEFT JOIN GruposEmpresas ON Clientes.Descricao = GruposEmpresas.Grupo;");


                while (!objList.NoFim())
                {
                    listClientes.Add(new Model.Cliente
                    {
                        CodCliente          = objList.Valor("Cliente"),
                        Nome                = objList.Valor("Nome"),
                        Moeda               = objList.Valor("Moeda"),
                        Morada              = objList.Valor("Fac_Mor"),
                        Localidade          = objList.Valor("Fac_Local"),
                        CodPostal           = objList.Valor("Fac_Cp"),
                        Fax                 = objList.Valor("Fac_Fax"),
                        TotalDeb            = objList.Valor("TotalDeb"),
                        NumContribuinte     = objList.Valor("NumContrib"),
                        Pais                = objList.Valor("Pais"),
                        EnderecoWeb         = objList.Valor("EnderecoWeb"),
                        DataCriacao         = objList.Valor("DataCriacao"),
                        EncomendasPendentes = objList.Valor("EncomendasPendentes"),
                        Notas               = objList.Valor("Notas"),
                        Situacao            = objList.Valor("Situacao"),
                        Vendedor            = objList.Valor("Vendedor"),
                        Email               = objList.Valor("CDU_Email"),
                        Grupo               = objList.Valor("clidesc"),
                        GrupoDesc           = objList.Valor("grpdesc"),
                        Telemovel           = objList.Valor("Fac_Tel")
                    });
                    objList.Seguinte();
                }

                return(listClientes);
            }
            else
            {
                return(null);
            }
        }
示例#27
0
        public static RespostaErro CreateOportunidade(Model.Oportunidade oportunidade)
        {
            Lib_Primavera.Model.RespostaErro erro     = new Model.RespostaErro();
            CrmBEOportunidadeVenda           objOport = new CrmBEOportunidadeVenda();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    objOport.set_ID(Guid.NewGuid().ToString());
                    StdBELista opps = PriEngine.Engine.Consulta("SELECT COUNT(*) AS N FROM CabecOportunidadesVenda");
                    int        next = opps.Valor("N") + 1;
                    objOport.set_Oportunidade("OPV" + next);
                    objOport.set_Descricao(oportunidade.Descricao);
                    objOport.set_Resumo(oportunidade.Resumo);
                    objOport.set_DataCriacao(DateTime.Now);
                    objOport.set_Entidade(oportunidade.CodCliente);
                    objOport.set_Vendedor(oportunidade.Vendedor);
                    objOport.set_EstadoVenda(0);
                    objOport.set_TipoEntidade("C");                       //obrigatorio
                    objOport.set_DataExpiracao(new DateTime(2020, 1, 1)); //obrigatorio
                    objOport.set_CicloVenda("CV_HW");                     //obrigatorio
                    objOport.set_Moeda("EUR");
                    //quando cria ainda nao tem propostas

                    PriEngine.Engine.CRM.OportunidadesVenda.Actualiza(objOport);

                    erro.Erro      = 0;
                    erro.Descricao = "Sucesso";
                    return(erro);
                }
                else
                {
                    erro.Erro      = 1;
                    erro.Descricao = "Erro ao abrir empresa";
                    return(erro);
                }
            }
            catch (Exception ex)
            {
                erro.Erro      = 1;
                erro.Descricao = ex.Message;
                return(erro);
            }
        }
示例#28
0
        public static IEnumerable <Model.VendasDTO> EncomendasPorData()
        {
            StdBELista             datas;
            StdBELista             orders;
            List <Model.VendasDTO> listaDTOs = new List <Model.VendasDTO>();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                datas = PriEngine.Engine.Consulta(@"select Data 
                                                    from CabecDoc 
                                                    where TipoDoc = 'ECL' 
                                                    group by Data  
                                                    order by Data desc ;");

                while (!datas.NoFim())
                {
                    Model.VendasDTO dto = new Model.VendasDTO();
                    dto.Data = datas.Valor("Data");
                    string output = dto.Data.Year.ToString() + "-" + dto.Data.Month.ToString() + "-" + dto.Data.Day.ToString();

                    orders = PriEngine.Engine.Consulta(@"select Nome, Data, TotalMerc 
                                                        from CabecDoc
                                                        where TipoDoc = 'ECL' AND Data ='" + output + "';");

                    List <Model.DocVenda> docs = new List <Model.DocVenda>();
                    while (!orders.NoFim())
                    {
                        Model.DocVenda doc = new Model.DocVenda();
                        doc.TotalMerc = orders.Valor("TotalMerc");
                        doc.Entidade  = orders.Valor("Nome");

                        docs.Add(doc);
                        orders.Seguinte();
                    }

                    dto.Vendas = docs;

                    listaDTOs.Add(dto);
                    datas.Seguinte();
                }

                return(listaDTOs);
            }
            return(null);
        }
        public static IEnumerable <Vendedor> ListaEquipaDeVendedor(string id)
        {
            StdBELista      objList;
            List <Vendedor> listVendedores = new List <Vendedor>();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                string query = @"
SELECT Vendedores.Vendedor, Vendedores.Nome, Vendedores.Telefone, Vendedores.Telemovel, Vendedores.EMail, Vendedores.Morada, Vendedores.Localidade, Vendedores.CPostal, Vendedores.Fax FROM (
SELECT ChefeVendedores.ChefeVendedores 
FROM  Vendedores JOIN ChefeVendedores ON Vendedores.Vendedor = ChefeVendedores.ChefeVendedores  WHERE ChefeVendedores.Vendedor = {0} ) 
AS T1
 JOIN ChefeVendedores AS T2 ON  T1.ChefeVendedores = T2.ChefeVendedores 
 JOIN Vendedores ON T2.Vendedor = Vendedores.Vendedor
WHERE Vendedores.Vendedor != {0}
";

                query   = string.Format(query, id);
                objList = PriEngine.Engine.Consulta(query);


                while (!objList.NoFim())
                {
                    listVendedores.Add(new Vendedor
                    {
                        Id         = objList.Valor("Vendedor"),
                        Nome       = objList.Valor("Nome"),
                        Telefone   = objList.Valor("Telefone"),
                        Telemovel  = objList.Valor("Telemovel"),
                        Email      = objList.Valor("EMail"),
                        Morada     = objList.Valor("Morada"),
                        Localidade = objList.Valor("Localidade"),
                        CodPostal  = objList.Valor("CPostal"),
                        Fax        = objList.Valor("Fax")
                    });
                    objList.Seguinte();
                }
                return(listVendedores);
            }
            else
            {
                return(null);
            }
        }
        public static IEnumerable <Model.Tarefa> GetTarefasOportunidade(string id)
        {
            StdBELista objList;

            Model.Tarefa        act      = new Model.Tarefa();
            List <Model.Tarefa> listActs = new List <Model.Tarefa>();

            if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
            {
                objList = PriEngine.Engine.Consulta(
                    @"SELECT Tarefas.Id AS ID, TiposTarefa.Descricao AS Tipo, IdTipoActividade, Prioridade, Resumo, Tarefas.Descricao,EntidadePrincipal, DataInicio, Duracao,DataFim, LocalRealizacao, Utilizador,IDCabecOVenda 
                    FROM Tarefas JOIN TiposTarefa ON Tarefas.IdTipoActividade = TiposTarefa.Id
                    where IDCabecOVenda = '" + id + "';");

                while (!objList.NoFim())
                {
                    act            = new Model.Tarefa();
                    act.ID         = objList.Valor("ID");
                    act.DataInicio = objList.Valor("DataInicio");
                    act.DataFim    = objList.Valor("DataFim");
                    act.Resumo     = objList.Valor("Resumo");
                    ///act.Descricao = objList.Valor("Descricao");
                    act.TipoDeTarefa = objList.Valor("Tipo");
                    act.Prioridade   = objList.Valor("Prioridade").ToString();
                    //act.IDUtilizador = objList.Valor("Utilizador");
                    act.IDTarefaOrigem = objList.Valor("IDCabecOVenda");    //oportunidade

                    /*act.Localizacao = objList.Valor("LocalRealizacao");
                     * act.Duracao = objList.Valor("Duracao");
                     * act.IDContacto = objList.Valor("IdContactoPrincipal");*/

                    listActs.Add(act);
                    objList.Seguinte();
                }

                return(listActs);
            }
            else
            {
                return(null);
            }
        }