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 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);
            }
        }
示例#3
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 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);
            }
        }
        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);
            }
        }
示例#6
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);
            }
        }
示例#7
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 RespostaErro CheckLoginDetails(Vendedor vendedor)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            if (vendedor == null || vendedor.Username == null || vendedor.Password == null)
            {
                erro.Erro      = 1;
                erro.Descricao = "Informação de vendedor invalida";
                return(erro);
            }
            else
            {
            }

            string username = vendedor.Username;
            string password = vendedor.Password;

            SqlConnection conn = new SqlConnection();
            SqlCommand    cmd  = new SqlCommand();
            SqlDataReader reader;

            conn.ConnectionString = "Data Source=User-PC\\PRIMAVERA;" +
                                    "Initial Catalog=PrimaveraExtension;" +
                                    "User id=sa;" +
                                    "Password=Feup2014;";
            cmd.CommandText = "Select * from Authentication WHERE Username = '******' AND Password  = '******' ";
            cmd.CommandType = CommandType.Text;
            cmd.Connection  = conn;
            try
            {
                conn.Open();
                reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    vendedor.Role = reader.GetValue(2).ToString();
                    vendedor.Id   = reader.GetValue(3).ToString();
                }
                conn.Close();
                erro.Erro      = 0;
                erro.Descricao = "Sucesso";
                return(erro);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            erro.Erro      = 2;
            erro.Descricao = "Erro inesperado!";
            return(erro);
        }
示例#9
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);
            }
        }
示例#10
0
        public static Lib_Primavera.Model.RespostaErro Ban(Model.UserBan cliente)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();

            GcpBECliente objCli = 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)
                {

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

                        if(cliente.Action == "TRUE")
                        PriEngine.Engine.Comercial.Clientes.ActualizaValorAtributo(cliente.ID, "ClienteAnulado", 1);
                        else if (cliente.Action == "FALSE")
                            PriEngine.Engine.Comercial.Clientes.ActualizaValorAtributo(cliente.ID, "ClienteAnulado", 0);

                        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;
            }
        }
示例#11
0
        public static Lib_Primavera.Model.RespostaErro atualizaCarrinho(Model.TDU_CarrinhoProduto linhaCarrinho)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBECamposChave tdu_carrinhoChaves = new StdBECamposChave();
            if (Int32.Parse(linhaCarrinho.CDU_Quantidade) < 1)
            {
                erro.Erro = 1;
                erro.Descricao = "Quantidade errada";
                return erro;
            }
            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    tdu_carrinhoChaves.AddCampoChave("CDU_idCarrinhoProduto", linhaCarrinho.CDU_idCarrinhoProduto);
                    tdu_carrinhoChaves.AddCampoChave("CDU_idCarrinho", linhaCarrinho.CDU_idCarrinho);

                    if (PriEngine.Engine.TabelasUtilizador.Existe("TDU_CarrinhoProduto", tdu_carrinhoChaves))
                    {
                        PriEngine.Engine.TabelasUtilizador.ActualizaValorAtributo("TDU_CarrinhoProduto", tdu_carrinhoChaves, "CDU_Quantidade", linhaCarrinho.CDU_Quantidade);
                        PriEngine.Engine.TabelasUtilizador.ActualizaValorAtributo("TDU_CarrinhoProduto", tdu_carrinhoChaves, "CDU_Armazem", linhaCarrinho.CDU_Armazem);

                    }
                    else
                    {
                        erro.Erro = 1;
                        erro.Descricao = "Artigo não existe no carrinho";
                        return erro;
                    }
                    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;
            }
        }
示例#12
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);
            }
        }
示例#13
0
        public static Lib_Primavera.Model.RespostaErro DelCliente(string codCliente)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBECliente objCli = new GcpBECliente();

            try
            {
                if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
                {
                    if (PriEngine.Engine.Comercial.Clientes.Existe(codCliente) == false)
                    {
                        erro.Status = false;
                        erro.Erro = 1;
                        erro.Descricao = "O cliente não existe";
                        return erro;
                    }
                    else
                    {
                        PriEngine.Engine.Comercial.Clientes.Remove(codCliente);
                        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;
            }
        }
示例#14
0
文件: Comercial.cs 项目: vascofg/sinf
        public static Lib_Primavera.Model.RespostaErro DelCliente(string codCliente)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBECliente objCli = new GcpBECliente();

            try
            {

                if (PriEngine.InitializeCompany(COMPANYNAME, USERNAME, PASSWORD) == true)
                {
                    if (PriEngine.Engine.Comercial.Clientes.Existe(codCliente) == false)
                    {
                        erro.Erro = 1;
                        erro.Descricao = "O cliente não existe";
                        return erro;
                    }
                    else
                    {

                        PriEngine.Engine.Comercial.Clientes.Remove(codCliente);
                        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;
            }
        }
示例#15
0
        public static Lib_Primavera.Model.RespostaErro DelCliente(string codCliente)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBECliente objCli = 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)
                {
                    if (PriEngine.Engine.Comercial.Clientes.Existe(codCliente) == false)
                    {
                        erro.Erro = 1;
                        erro.Descricao = "O cliente não existe";
                        return erro;
                    }
                    else
                    {

                        PriEngine.Engine.Comercial.Clientes.Remove(codCliente);
                        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 DelTarefa(string codTarefa)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            CrmBEActividade act = 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(codTarefa) == false)
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "A actividade não existe";
                        return(erro);
                    }
                    else
                    {
                        PriEngine.Engine.CRM.Actividades.Remove(codTarefa);
                        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);
            }
        }
示例#17
0
        public static Lib_Primavera.Model.RespostaErro DelCliente(string codCliente)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBECliente objCli = 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)
                {
                    if (PriEngine.Engine.Comercial.Clientes.Existe(codCliente) == false)
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "O cliente não existe";
                        return(erro);
                    }
                    else
                    {
                        PriEngine.Engine.Comercial.Clientes.Remove(codCliente);
                        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);
            }
        }
示例#18
0
        public static RespostaErro PerderOportunidade(Oportunidade oportunidade)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();

            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(oportunidade.ID))
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "Nao existe oportunidade";
                        return(erro);
                    }
                    CrmBEOportunidadeVenda objOport = PriEngine.Engine.CRM.OportunidadesVenda.EditaID(oportunidade.ID);
                    objOport.set_EstadoVenda(2);
                    PriEngine.Engine.CRM.OportunidadesVenda.Actualiza(objOport);

                    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);
            }
        }
示例#19
0
 public HttpResponseMessage Post(Lib_Primavera.Model.Login user)
 {
     Lib_Primavera.Model.RespostaErro erro = new RespostaErro();
     if (Request.Headers.Contains("session"))
     {
         string token = Request.Headers.GetValues("session").First();
         erro = Lib_Primavera.Comercial.Logout(token, user);
         if (erro.Status == true)
         {
             Dictionary<string, string> response = new Dictionary<string, string>();
             response.Add("username", user.username);
             response.Add("session", erro.Descricao);
             return Request.CreateResponse(HttpStatusCode.Accepted, response, Configuration.Formatters.JsonFormatter);
         }
         else
         {
             return Request.CreateResponse(HttpStatusCode.Accepted, erro);
         }
     }
     else
     {
         erro.Status = false;
         erro.Descricao = "No session token found";
         return Request.CreateResponse(HttpStatusCode.Accepted, erro);
     }
 }
示例#20
0
        public static Lib_Primavera.Model.RespostaErro DelArtigoCarrinho(Model.TDU_CarrinhoProduto carrinho)
        {
            StdBELista objList;
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBECamposChave tdu_carrinho = new StdBECamposChave();

            try
            {
                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 CDU_idCarrinhoProduto FROM TDU_CarrinhoProduto WHERE CDU_idProduto = '"+carrinho.CDU_idProduto +"' AND CDU_idCarrinho='" + carrinho.CDU_idCarrinho+ "'");

                    if (!objList.NoFim())
                    {
                        carrinho.CDU_idCarrinhoProduto = objList.Valor("CDU_idCarrinhoProduto").ToString();
                    }
                    tdu_carrinho.AddCampoChave("CDU_idCarrinho", carrinho.CDU_idCarrinho);
                    tdu_carrinho.AddCampoChave("CDU_idCarrinhoProduto", carrinho.CDU_idCarrinhoProduto);
                    tdu_carrinho.AddCampoChave("CDU_idProduto", carrinho.CDU_idProduto);

                    //se forem so estas as chaves da tabela CarrinhoProduto
                    PriEngine.Engine.TabelasUtilizador.Remove("TDU_CarrinhoProduto", tdu_carrinho);
                    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;
            }
        }
示例#21
0
        public static Lib_Primavera.Model.RespostaErro UpdCliente(Lib_Primavera.Model.Cliente cliente)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();

            GcpBECliente objCli = new GcpBECliente();

            StdBECampos campos = new StdBECampos();
            StdBECampo campo = new StdBECampo();

            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.Comercial.Clientes.Existe(cliente.ID) == false)
                    {
                        erro.Erro = 1;
                        erro.Descricao = "O cliente não existe";
                        return erro;
                    }
                    else
                    {

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

                        objCli.set_Nome(cliente.NomeCliente);
                        objCli.set_NumContribuinte(cliente.NumContribuinte);
                        objCli.set_EnderecoWeb(cliente.Email);
                        objCli.set_Morada(cliente.Morada);
                        objCli.set_Telefone(cliente.Telemóvel);
                        objCli.set_Localidade(cliente.Localidade);

                        //EDITAR A PASSWORD
                        campo.Nome = "CDU_Password";
                        PriEngine.Platform.Criptografia.Encripta(cliente.Password, 50);
                        campo.Valor = cliente.Password;
                        campos.Insere(campo);

                        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;
            }
        }
示例#22
0
        public static Lib_Primavera.Model.RespostaErro InsereWishlistObj(Model.TDU_WishlistProduto wishLinha)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBECamposChave tdu_wish = new StdBECamposChave();
            StdBERegistoUtil tdu_wishNovo = new StdBERegistoUtil();
            StdBECampos cmps = new StdBECampos();
            StdBECampo CDU_idWishlist = new StdBECampo();
            StdBECampo CDU_idProduto = new StdBECampo();
            StdBECampo CDU_idWishlistProduto = new StdBECampo();
            StdBELista objList;

            try
            {
                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 COUNT(*) AS max FROM TDU_WishlistProduto");

                    //objList = PriEngine.Engine.Comercial.Artigos.LstArtigos();
                    int nextid = 1;
                    if (objList != null)
                    {
                        nextid += objList.Valor("max");
                        objList.Seguinte();
                    }

                    CDU_idWishlist.Nome = "CDU_Wishlist";

                    CDU_idProduto.Nome = "CDU_Produto";
                    CDU_idWishlistProduto.Nome = "CDU_WishlistProduto";

                    CDU_idWishlist.Valor = wishLinha.CDU_idWishlist;
                    CDU_idProduto.Valor = wishLinha.CDU_idProduto;
                    CDU_idWishlistProduto.Valor = nextid;

                    cmps.Insere(CDU_idProduto);
                    cmps.Insere(CDU_idWishlist);
                    cmps.Insere(CDU_idWishlistProduto);
                    tdu_wishNovo.set_Campos(cmps);
                    PriEngine.Engine.TabelasUtilizador.Actualiza("TDU_WishlistProduto", tdu_wishNovo);

                    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;
            }
        }
示例#23
0
        public static Lib_Primavera.Model.RespostaErro InsereClienteObj(Model.Cliente cli)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();

            GcpBECliente myCli = new GcpBECliente();

            StdBECampos campos = new StdBECampos();
            StdBECampo campo = new StdBECampo();

            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_NumContribuinte(cli.NumContribuinte);
                    myCli.set_Morada(cli.Morada);
                    myCli.set_Telefone(cli.Telemóvel);
                    myCli.set_Localidade(cli.Localidade);
                    myCli.set_Moeda("EUR");

                    //Dar o id correto (ainda nao esta muito bem) , e por acaso isto verifica se tem o mesmo id automaticamente
                    List<Model.Cliente> clientes = ListaClientes();
                    int id;

                    if (clientes.Count >= 2)
                    {
                        id = clientes.Count;
                    }
                    else
                        id = 1;

                    myCli.set_Cliente(id.ToString());

                    //Verificação Email
                    if (cli.Email == null)
                    {
                        erro.Erro = 1;
                        erro.Descricao = "Introduza um email válido, por favor.";
                        return erro;
                    }
                    else if (existeEmail(cli.Email))
                    {
                        erro.Erro = 1;
                        erro.Descricao = "Email já existente.";
                        return erro;
                    }
                    else
                    {
                        myCli.set_EnderecoWeb(cli.Email);
                    }

                    //Verificação nome
                    if (cli.NomeCliente == null)
                    {
                        erro.Erro = 1;
                        erro.Descricao = "Introduza um nome, por favor.";
                        return erro;
                    }
                    else if (existeNome(cli.NomeCliente))
                    {
                        erro.Erro = 1;
                        erro.Descricao = "Introduza outro nome, por favor.";
                        return erro;
                    }
                    else
                    {
                        myCli.set_Nome(cli.NomeCliente);
                    }

                    //inserir a password
                    campo.Nome = "CDU_Password";
                    //É preciso aumentar o espaço da base de dados, 20 nao chega para encripta-la tem que ter 50 para ai ou mais.
                    //campo.Valor = PriEngine.Platform.Criptografia.Encripta(cli.Password, 20);
                    PriEngine.Platform.Criptografia.Encripta(cli.Password, 50);
                    campo.Valor = cli.Password;
                    campos.Insere(campo);
                    myCli.set_CamposUtil(campos);

                    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;
            }
        }
示例#24
0
        public static Lib_Primavera.Model.RespostaErro UpdCliente(Lib_Primavera.Model.Cliente cliente)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();

            GcpBECliente objCli = 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)
                {

                    if (PriEngine.Engine.Comercial.Clientes.Existe(cliente.CodCliente) == 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);
                        objCli.set_Morada(cliente.Morada);

                        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;
            }
        }
示例#25
0
 public static Lib_Primavera.Model.RespostaErro DelCliente(string codCliente)
 {
     Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
     GcpBECliente objCli = new GcpBECliente();
     try
     {
         if (PriEngine.InitializeCompany("BELAFLOR", "", "") == true)
         {
             if (PriEngine.Engine.Comercial.Clientes.Existe(codCliente) == false)
             {
                 erro.Erro = 1;
                 erro.Descricao = "O cliente não existe";
                 return erro;
             }
             else
             {
                 PriEngine.Engine.Comercial.Clientes.Remove(codCliente);
                 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;
     }
 }
示例#26
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;
     }
 }
        public static RespostaErro InsereVendedorObj(Vendedor vendedor)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBEVendedor mySalesman    = new GcpBEVendedor();
            StdBELista    maxIdList     = PriEngine.Engine.Consulta("SELECT Vendedores.Vendedor FROM  Vendedores group by Vendedores.Vendedor order by Vendedores.Vendedor + 0 desc ");
            string        NewSalesmanID = "1";

            if (maxIdList.NumColunas() != 0)
            {
                NewSalesmanID = ((int)(Int32.Parse(maxIdList.Valor("Vendedor")) + 1)).ToString();
            }

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    // cria salesman
                    vendedor.Id = NewSalesmanID;
                    mySalesman.set_Vendedor(NewSalesmanID);
                    mySalesman.set_Nome(vendedor.Nome);
                    mySalesman.set_CodigoPostal(vendedor.CodPostal);
                    mySalesman.set_Morada(vendedor.Morada);
                    mySalesman.set_Localidade(vendedor.Localidade);
                    mySalesman.set_Telefone(vendedor.Telefone);
                    mySalesman.set_Telemovel(vendedor.Telemovel);
                    mySalesman.set_Email(vendedor.Email);
                    mySalesman.set_Fax(vendedor.Fax);
                    mySalesman.set_DataUltimaActualizacao(DateTime.Now);
                    if (vendedor.Chefe != null)
                    {
                        PriEngine.Engine.Comercial.Vendedores.Actualiza(mySalesman);
                    }
                    else
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "Erro vendedor nao tem chefe";
                        return(erro);
                    }


                    //cria relacao ChefeVendedor

                    GcpBEVendedorChefe ChefeVendedores = new GcpBEVendedorChefe();

                    ChefeVendedores.set_Comissao(2);
                    ChefeVendedores.set_ChefeVendedor(vendedor.Chefe);
                    ChefeVendedores.set_Vendedor(vendedor.Id);
                    Interop.GcpBE900.GcpBEVendedorChefe ola = new GcpBEVendedorChefe();

                    SqlConnection conn = new SqlConnection();
                    SqlCommand    cmd  = new SqlCommand();
                    conn.ConnectionString = "Data Source=User-PC\\PRIMAVERA;" +
                                            "Initial Catalog=PRIDEMOSINF;" +
                                            "User id=sa;" +
                                            "Password=Feup2014;";

                    cmd.Connection  = conn;
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = "INSERT INTO ChefeVendedores (ChefeVendedores, Vendedor, Comissao) VALUES (@param1,@param2,@param3)";
                    cmd.Parameters.AddWithValue("@param1", vendedor.Chefe);
                    cmd.Parameters.AddWithValue("@param2", vendedor.Id);
                    cmd.Parameters.AddWithValue("@param3", 2);

                    try
                    {
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }



                    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 Lib_Primavera.Model.RespostaErro UpdCliente(Lib_Primavera.Model.Cliente cliente)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();


            GcpBECliente objCli = 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)
                {
                    if (PriEngine.Engine.Comercial.Clientes.Existe(cliente.CodCliente) == 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_Cliente(cliente.CodCliente);
                        objCli.set_Nome(cliente.Nome);
                        objCli.set_Morada(cliente.Morada);
                        objCli.set_Localidade(cliente.Localidade);
                        objCli.set_CodigoPostal(cliente.CodPostal);
                        objCli.set_Fax(cliente.Fax);
                        objCli.set_DebitoContaCorrente(cliente.TotalDeb);
                        objCli.set_NumContribuinte(cliente.NumContribuinte);
                        objCli.set_Pais(cliente.Pais);
                        objCli.set_EnderecoWeb(cliente.EnderecoWeb);
                        objCli.set_DebitoEncomendasPendentes(cliente.EncomendasPendentes);
                        objCli.set_Descricao(cliente.Grupo);
                        objCli.set_Observacoes(cliente.Notas);
                        objCli.set_Inactivo(cliente.Inactivo);
                        objCli.set_Vendedor(cliente.Vendedor);
                        objCli.set_Moeda(cliente.Moeda);
                        objCli.set_Telefone(cliente.Telemovel);
                        objCli.set_Telefone2(cliente.Telefone);
                        objCli.set_DataUltimaActualizacao(DateTime.Now);

                        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);
            }
        }
示例#29
0
        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(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
                {
                    // Atribui valores ao cabecalho do doc
                    //myGR.set_DataDoc(DateTime.Now);

                    myGR.set_Entidade(dc.Entidade);
                    myGR.set_NumDocExterno("1");
                    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);
                    myGR.set_CondPag(dc.CondPag);
                    myGR.set_DataVenc(dc.DataVencimento);
                    myGR.set_DataDoc(dc.DataEmissao);
                    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.Status = true;
                    erro.Erro = 0;
                    erro.Descricao = "Sucesso";
                    return erro;
                }
                else
                {
                    erro.Status = false;
                    erro.Erro = 1;
                    erro.Descricao = "Erro ao abrir empresa";
                    return erro;

                }

            }
            catch (Exception ex)
            {
                PriEngine.Engine.DesfazTransaccao();
                erro.Status = false;
                erro.Erro = 2;
                erro.Descricao = ex.Message;
                return erro;
            }
        }
示例#30
0
        public static RespostaErro AdicionaProduto(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();

                    //nova linha a ser criada
                    CrmBELinhaPropostaOPV objLinha = new CrmBELinhaPropostaOPV();

                    //artigo que vamos adicionar
                    GcpBEArtigo objArtigo = PriEngine.Engine.Comercial.Artigos.Edita(dto.IdArtigo);

                    objLinha.set_IdOportunidade(dto.IdOportunidade);
                    objLinha.set_NumProposta(dto.NumProposta);
                    objLinha.set_Artigo(dto.IdArtigo);
                    short n = objLinhas.NumItens;
                    n++;
                    objLinha.set_Linha(n);
                    objLinha.set_Descricao(objArtigo.get_Descricao());
                    objLinha.set_Quantidade(1);
                    objLinha.set_Unidade(objArtigo.get_UnidadeVenda());
                    objLinha.set_PrecoCusto(objArtigo.get_PCMedio());
                    objLinha.set_Desconto(objArtigo.get_Desconto());

                    var objArtigoPreco = PriEngine.Engine.Comercial.ArtigosPrecos.Edita(dto.IdArtigo, "EUR", objArtigo.get_UnidadeVenda());
                    objLinha.set_PrecoVenda(objArtigoPreco.get_PVP1());

                    //update proposta
                    objLinhas.Insere(objLinha);
                    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);
            }
        }
示例#31
0
        public static Model.RespostaErro Encomendas_New(Model.DocVenda dv)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBEDocumentoVenda myEnc = new GcpBEDocumentoVenda();
            GcpBEDocumentoVenda myFac = new GcpBEDocumentoVenda();
            GcpBELinhaDocumentoVenda myLin = new GcpBELinhaDocumentoVenda();
            GcpBELinhasDocumentoVenda myLinhas = new GcpBELinhasDocumentoVenda();
            PreencheRelacaoVendas rl = new PreencheRelacaoVendas();
            GcpBESerie serie = new GcpBESerie();
            List<Model.LinhaDocVenda> lstlindv = new List<Model.LinhaDocVenda>();
            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.Comercial.Vendas.Existe("000", "ECL", "A", dv.NumDoc))
                    {
                        myEnc = PriEngine.Engine.Comercial.Vendas.Edita("000", "ECL", "A", dv.NumDoc);
                    }
                    myFac.set_NumDoc(myEnc.get_NumDoc());
                    myFac.set_Entidade(dv.Entidade);
                    myFac.set_TipoEntidade("C");
                    myFac.set_Tipodoc("FA");
                    myFac.set_Serie("D");
                    myFac.set_Assinatura(myEnc.get_Assinatura());

                    //Falta a Série do Doc Destino.Sugiro a utilização do método SeriePorDefeito mas para isso tb é necessario a data do doc destino
                    myFac.set_DataDoc(new DateTime());
                    serie.set_SeriePorDefeito(true);
                    //Usar o preenche dados relacionados do Doc Destino
                    String avisos = "";
                    PriEngine.Engine.Comercial.Vendas.PreencheDadosRelacionados(myFac, PreencheRelacaoVendas.vdDadosTodos);
                    //PriEngine.Engine.Comercial.Vendas.Actualiza(myFac, avisos);
                    erro.Descricao += "Actualiza: " + avisos;
                    List<GcpBEDocumentoVenda> l = new List<GcpBEDocumentoVenda>();
                    l.Add(myEnc);
                    //Deve ser usado o strAvisos e passar como parametro no metodo
                    //Devem ser removidas as transações
                    String strAvisos = "";
                    //PriEngine.Engine.IniciaTransaccao();
                    PriEngine.Engine.Comercial.Vendas.TransformaDocumentoEX(l.ToArray(), myFac, true, strAvisos);
                    //PriEngine.Engine.TerminaTransaccao();
                    if (strAvisos.Length > 0)
                    {
                        erro.Erro = 1;
                        erro.Descricao +=" Transforma Avsos: "+ strAvisos;
                    }
                    else
                    {
                        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 +=" Excecao: " +ex.Message;
                return erro;
            }
        }
示例#32
0
        public static Model.RespostaErro Encomendas_New(Model.DocVenda dv)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBEDocumentoVenda myEnc             = new GcpBEDocumentoVenda();

            GcpBELinhaDocumentoVenda myLin = new GcpBELinhaDocumentoVenda();

            GcpBELinhasDocumentoVenda myLinhas = new GcpBELinhasDocumentoVenda();

            //PreencheRelacaoVendas rl = new PreencheRelacaoVendas();
            List <Model.LinhaDocVenda> lstlindv = new List <Model.LinhaDocVenda>();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    // Linhas do documento para a lista de linhas
                    lstlindv = dv.LinhasDoc;
                    if (lstlindv == null || lstlindv.Count == 0)
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "Cannot make an order from an empty proposal.";
                        return(erro);
                    }

                    //A designação fiscal não se encontra atribuída
                    // Atribui valores ao cabecalho do doc
                    //myEnc.set_DataDoc(dv.Data);
                    myEnc.set_Entidade(dv.Entidade);
                    myEnc.set_Serie("A");
                    myEnc.set_Tipodoc("ECL");
                    myEnc.set_TipoEntidade("C");

                    //PriEngine.Engine.Comercial.Vendas.PreencheDadosRelacionados(myEnc, rl);
                    PriEngine.Engine.Comercial.Vendas.PreencheDadosRelacionados(myEnc);
                    foreach (Model.LinhaDocVenda lin in lstlindv)
                    {
                        PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, lin.CodArtigo, lin.Quantidade, "", "", lin.PrecoUnitario, lin.Desconto);
                    }


                    // PriEngine.Engine.Comercial.Compras.TransformaDocumento(

                    PriEngine.Engine.IniciaTransaccao();
                    //PriEngine.Engine.Comercial.Vendas.Edita Actualiza(myEnc, "Teste");
                    PriEngine.Engine.Comercial.Vendas.Actualiza(myEnc);
                    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);
            }
        }
示例#33
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.NomeCliente);
                    myCli.set_NumContribuinte(cli.NumContribuinte);
                    myCli.set_Moeda(cli.Moeda);
                    myCli.set_Morada(cli.Morada);

                    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;
            }
        }
示例#34
0
        public static Model.RespostaErro InsereEncomenda(Model.Encomenda dv)
        {
            Lib_Primavera.Model.RespostaErro resposta = new Model.RespostaErro();
            GcpBEDocumentoVenda myEnc = new GcpBEDocumentoVenda();

            PreencheRelacaoVendas rl = new PreencheRelacaoVendas();
            List<Model.LinhaEncomenda> lstlindv = new List<Model.LinhaEncomenda>();

            try
            {
                if (PriEngine.InitializeCompany(companyName, FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    // Cabeçalho do documento
                    myEnc.set_DataDoc(DateTime.Now);
                    myEnc.set_Entidade(dv.Entidade);
                    myEnc.set_Moeda("EUR");
                    myEnc.set_Serie("A");
                    myEnc.set_Tipodoc("ECL");
                    myEnc.set_TipoEntidade("C");
                    myEnc.set_CondPag("1");

                    // Linha de encomendas ---> Lista de linhas de encomenda
                    lstlindv = dv.LinhasEncomenda;
                    PriEngine.Engine.Comercial.Vendas.PreencheDadosRelacionados(myEnc, rl);

                    foreach (Model.LinhaEncomenda lin in lstlindv)
                    {
                        PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, lin.CodigoArtigo, lin.Quantidade, "");

                    }

                    PriEngine.Engine.IniciaTransaccao();
                    PriEngine.Engine.Comercial.Vendas.Actualiza(myEnc);
                    PriEngine.Engine.TerminaTransaccao();
                    resposta.Erro = 0;
                    resposta.Descricao = "Sucesso";
                    return resposta;
                }
                else
                {
                    resposta.Erro = 1;
                    resposta.Descricao = "Erro ao abrir empresa " + companyName;
                    return resposta;
                }

            }
            catch (Exception ex)
            {
                PriEngine.Engine.DesfazTransaccao();
                resposta.Erro = 1;
                resposta.Descricao = ex.Message;
                return resposta;
            }
        }
示例#35
0
        public static Lib_Primavera.Model.RespostaErro InsereCarrinhoObj(Model.TDU_CarrinhoProduto carrinho)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBECamposChave tdu_carrinho = new StdBECamposChave();
            StdBERegistoUtil tdu_carrinhoNovo = new StdBERegistoUtil();
            StdBECampos cmps = new StdBECampos();
            StdBECampo CDU_idCarrinho = new StdBECampo();
            StdBECampo CDU_idCarrinhoProduto = new StdBECampo();
            StdBECampo CDU_idProduto = new StdBECampo();
            StdBELista objList;

            try
            {
                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 CDU_idCarrinhoProduto FROM TDU_CarrinhoProduto WHERE CDU_idProduto = '"+carrinho.CDU_idProduto +"' AND CDU_idCarrinho='" + carrinho.CDU_idCarrinho+ "'");

                    if (!objList.NoFim())
                    {
                        carrinho.CDU_idCarrinhoProduto = objList.Valor("CDU_idCarrinhoProduto").ToString();

                        tdu_carrinho.AddCampoChave("CDU_idCarrinho", carrinho.CDU_idCarrinho);
                        tdu_carrinho.AddCampoChave("CDU_idCarrinhoProduto", carrinho.CDU_idCarrinhoProduto);
                        tdu_carrinho.AddCampoChave("CDU_idProduto", carrinho.CDU_idProduto);

                    }
                    else {

                    objList = PriEngine.Engine.Consulta("SELECT MAX(CDU_idCarrinhoProduto) AS max FROM TDU_CarrinhoProduto");

                    //objList = PriEngine.Engine.Comercial.Artigos.LstArtigos();
                    int nextid = 1;
                    string max_str = objList.Valor("max").ToString();

                    if (max_str == "")
                        nextid = 1;
                    else
                    {
                    int max_sum = Int32.Parse(max_str);
                    while (!objList.NoFim())
                    {
                        nextid += max_sum;
                        objList.Seguinte();
                    }
                    }
                    carrinho.CDU_idCarrinhoProduto = nextid.ToString();

                    CDU_idCarrinho.Nome = "CDU_idCarrinho";
                    CDU_idCarrinhoProduto.Nome = "CDU_idCarrinhoProduto";
                    CDU_idProduto.Nome = "CDU_idProduto";

                    CDU_idCarrinho.Valor = carrinho.CDU_idCarrinho;
                    CDU_idCarrinhoProduto.Valor = carrinho.CDU_idCarrinhoProduto;
                    CDU_idProduto.Valor = carrinho.CDU_idProduto;

                    cmps.Insere(CDU_idProduto);
                    cmps.Insere(CDU_idCarrinho);
                    cmps.Insere(CDU_idCarrinhoProduto);
                    tdu_carrinhoNovo.set_Campos(cmps);
                    PriEngine.Engine.TabelasUtilizador.Actualiza("TDU_CarrinhoProduto", tdu_carrinhoNovo);

                   }

                    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;
            }
        }
示例#36
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(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
                {

                    myCli.set_Cliente(cli.CodCliente);
                    myCli.set_Nome(cli.NomeCliente);
                    myCli.set_NumContribuinte(cli.NumContribuinte);
                    myCli.set_Moeda(cli.Moeda);

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

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

            catch (Exception ex)
            {
                erro.Status = false;
                erro.Erro = 2;
                erro.Descricao = ex.Message;
                return erro;
            }
        }
示例#37
0
        public static Lib_Primavera.Model.RespostaErro InsereComentarioObj(Model.TDU_Comentario com)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBERegistoUtil tdu_comentario = new StdBERegistoUtil();
            StdBECampos cmps = new StdBECampos();
            StdBECampo CDU_idComentario = new StdBECampo();
            StdBECampo CDU_idUtilizador = new StdBECampo();
            StdBECampo CDU_Conteudo = new StdBECampo();
            StdBECampo CDU_idProduto = new StdBECampo();
            StdBELista objList;

            try
            {
                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 COUNT(*) AS numC FROM TDU_Comentario");
                        //objList = PriEngine.Engine.Comercial.Artigos.LstArtigos();
                        int nextid = 1;
                        if (objList != null)
                        {
                            nextid += objList.Valor("numC");
                            objList.Seguinte();
                        }
                        com.CDU_idComentario = nextid.ToString();

                        CDU_idComentario.Nome = "CDU_idComentario";
                        CDU_idUtilizador.Nome = "CDU_idUtilizador";
                        CDU_idProduto.Nome = "CDU_idProduto";
                        CDU_Conteudo.Nome = "CDU_Conteudo";

                        CDU_idComentario.Valor = com.CDU_idComentario;
                        CDU_idUtilizador.Valor = com.CDU_idUtilizador;
                        CDU_idProduto.Valor = com.CDU_idProduto;
                        CDU_Conteudo.Valor = com.CDU_Conteudo;

                        cmps.Insere(CDU_idComentario);
                        cmps.Insere(CDU_idProduto);
                        cmps.Insere(CDU_Conteudo);
                        cmps.Insere(CDU_idUtilizador);
                        tdu_comentario.set_Campos(cmps);
                        PriEngine.Engine.TabelasUtilizador.Actualiza("TDU_Comentario", tdu_comentario);

                    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;
            }
        }
示例#38
0
        public static Lib_Primavera.Model.RespostaErro DelArtigoWishlist(Model.TDU_WishlistProduto wishLinha)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBECamposChave tdu_wish = new StdBECamposChave();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    tdu_wish.AddCampoChave("CDU_idWishlist", wishLinha.CDU_idWishlist);
                    tdu_wish.AddCampoChave("CDU_idProduto", wishLinha.CDU_idProduto);

                    //se forem so estas as chaves da tabela CarrinhoProduto
                    PriEngine.Engine.TabelasUtilizador.Remove("TDU_WishlistProduto", tdu_wish);
                    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;
            }
        }
示例#39
0
        public static Lib_Primavera.Model.RespostaErro UpdArtigo(Lib_Primavera.Model.Artigo art)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();

            GcpBEArtigo objArt = new GcpBEArtigo();

            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.Comercial.Artigos.Existe(art.ID) == false)
                    {
                        erro.Erro = 1;
                        erro.Descricao = "O artigo não existe";
                        return erro;
                    }
                    else
                    {

                        objArt = PriEngine.Engine.Comercial.Artigos.Edita(art.ID);
                        objArt.set_EmModoEdicao(true);

                        objArt.set_Artigo(art.ID);
                        objArt.set_Descricao(art.DescArtigo);
                        objArt.set_Desconto(Convert.ToSingle(art.Desconto));
                        objArt.set_StkActual(Convert.ToSingle(art.STKActual));
                        objArt.set_PCPadrao(Convert.ToSingle(art.Preço));
                        objArt.set_Familia(art.Familia);
                        objArt.set_SubFamilia(art.SubFamilia);
                        objArt.set_Marca(art.Marca);
                        objArt.set_Modelo(art.Modelo);

                        PriEngine.Engine.Comercial.Artigos.Actualiza(objArt);

                        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;
            }
        }
示例#40
0
        public static Model.RespostaErro Encomendas_New(Model.DocVenda dv)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBEDocumentoVenda myEnc = new GcpBEDocumentoVenda();

            GcpBELinhaDocumentoVenda myLin = new GcpBELinhaDocumentoVenda();

            GcpBELinhasDocumentoVenda myLinhas = new GcpBELinhasDocumentoVenda();

            PreencheRelacaoVendas rl = new PreencheRelacaoVendas();
            List<Model.LinhaDocVenda> lstlindv = new List<Model.LinhaDocVenda>();

            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);

                    string serie = "C";
                    double desconto = 0.0;
                    string armazem = "A2";

                    myEnc.set_Entidade(dv.Entidade);
                    myEnc.set_Serie(serie);
                    //myEnc.set_Serie(dv.Serie);
                    myEnc.set_Tipodoc(dv.DocType);
                    myEnc.set_TipoEntidade("C");
                    // Linhas do documento para a lista de linhas
                    lstlindv = dv.LinhasDoc;

                    PriEngine.Engine.Comercial.Vendas.PreencheDadosRelacionados(myEnc, rl);

                    double pvp = 0;
                    if (dv.LinhasDoc != null)
                        foreach (Model.LinhaDocVenda lin in lstlindv)
                        {
                            pvp = PriEngine.Engine.Comercial.ArtigosPrecos.DaPrecoArtigoMoeda(lin.CodArtigo, "EUR", "UN", "PVP1", false, 0);
                            PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, lin.CodArtigo, lin.Quantidade, armazem, "", pvp, desconto);
                        }
                    else
                    {

                        List<Model.Artigo> temp = GetCarrinhoUser(dv.Entidade).ID_Produtos;
                        foreach (Model.Artigo lin in temp)
                        {
                            pvp = PriEngine.Engine.Comercial.ArtigosPrecos.DaPrecoArtigoMoeda(lin.ID, "EUR", "UN", "PVP1", false, 0);
                            PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, lin.ID, Int32.Parse(lin.Quantidade), lin.Armazem, "", pvp, desconto);
                        }
                    }

                    // PriEngine.Engine.Comercial.Compras.TransformaDocumento(

                    PriEngine.Engine.IniciaTransaccao();
                    PriEngine.Engine.Comercial.Vendas.Actualiza(myEnc, "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)
            {
                try
                {
                    PriEngine.Engine.DesfazTransaccao();
                }
                catch { }
                erro.Erro = 1;
                erro.Descricao = ex.Message;
                return erro;
            }
        }
示例#41
0
        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);
                    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;
            }
        }
示例#42
0
        public Lib_Primavera.Model.RespostaErro encomendaPrimavera(string userID, string name, string email, string nif, string address, string postal, string payment, List <Purchase> products)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBEDocumentoVenda        myEnc      = new GcpBEDocumentoVenda();
            GcpBELinhaDocumentoVenda   myLin      = new GcpBELinhaDocumentoVenda();
            GcpBELinhasDocumentoVenda  myLinhas   = new GcpBELinhasDocumentoVenda();
            PreencheRelacaoVendas      rl         = new PreencheRelacaoVendas();
            List <Model.LinhaDocVenda> lstlindv   = new List <Model.LinhaDocVenda>();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)

                {
                    myEnc.set_Entidade(userID);
                    //myEnc.set_NumContribuinte(nif);

                    myEnc.set_Tipodoc("ECL");    //Encomenda de cliente
                    myEnc.set_TipoEntidade("C"); //Client
                    if (payment.Equals("paypal"))
                    {
                        myEnc.set_ModoPag("TRA");                           //Online transfer
                    }
                    else
                    {
                        myEnc.set_ModoPag("TRA"); //Online transfer
                    }
                    myEnc.set_CondPag("1");       //Request immediate payment.
                    myEnc.set_DataDoc(DateTime.Today);

                    myEnc.set_CodigoPostal(postal);
                    myEnc.set_CodPostalEntrega(postal);
                    myEnc.set_CodPostalLocalidadeEntrega(postal);

                    myEnc.set_Morada(address);
                    myEnc.set_MoradaEntrega(address);
                    PriEngine.Engine.Comercial.Vendas.PreencheDadosRelacionados(myEnc);

                    foreach (Purchase p in products)
                    {
                        PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, p.id, p.quantity, "", "", p.price, 0);
                    }
                    PriEngine.Engine.IniciaTransaccao();
                    PriEngine.Engine.Comercial.Vendas.Actualiza(myEnc, "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);
            }
        }
示例#43
0
        public static Lib_Primavera.Model.RespostaErro Login(Lib_Primavera.Model.Login user)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBECamposChave chave = new StdBECamposChave();
            try
            {
                if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
                {
                    chave.AddCampoChave("CDU_Username", user.username);
                    chave.AddCampoChave("CDU_Password", user.password);

                    if (PriEngine.Engine.TabelasUtilizador.Existe("TDU_User", chave) == true)
                    {
                        Lib_Primavera.Model.SessionModel loggedUser = getUser(user.username);
                        if (loggedUser.Session_Val != "")
                        {
                            Session[loggedUser.Session_Val] = loggedUser;
                            erro.Status = true;
                            erro.Erro = 0;
                            erro.Descricao = loggedUser.Session_Val;
                        }
                        else
                        {
                            erro.Status = false;
                            erro.Erro = 1;
                            erro.Descricao = "Erro, par username/password não encontrado";
                        }
                        return erro;

                    }

                    erro.Status = false;
                    erro.Erro = 1;
                    erro.Descricao = "Erro, par username/password não encontrado";
                    return erro;
                }
                else
                {
                    erro.Status = false;
                    erro.Erro = 2;
                    erro.Descricao = "Erro ao abrir a empresa";
                    return erro;
                }
            }
            catch (Exception ex)
            {
                erro.Status = false;
                erro.Erro = 3;
                erro.Descricao = ex.Message;
                return erro;
            }
        }
示例#44
0
        public static Model.RespostaErro Encomendas_New(Model.DocVenda dv)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBEDocumentoVenda myEnc = new GcpBEDocumentoVenda();

            GcpBELinhaDocumentoVenda myLin = new GcpBELinhaDocumentoVenda();

            GcpBELinhasDocumentoVenda myLinhas = new GcpBELinhasDocumentoVenda();

            PreencheRelacaoVendas rl = new PreencheRelacaoVendas();
            List<Model.LinhaDocVenda> lstlindv = new List<Model.LinhaDocVenda>();
            bool iniciaTransaccao = false;

            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);
                    myEnc.set_Entidade(dv.Entidade);
                    myEnc.set_Serie("C");
                    myEnc.set_Tipodoc("ECL");
                    myEnc.set_TipoEntidade("C");
                    myEnc.set_CondPag("1");

                    myEnc.set_Seccao("2");
                    myEnc.set_Origem("Web");

                    // Linhas do documento para a lista de linhas
                    lstlindv = dv.LinhasDoc;
                    StdBELista objList;
                    PriEngine.Engine.Comercial.Vendas.PreencheDadosRelacionados(myEnc, rl);
                    foreach (Model.LinhaDocVenda lin in lstlindv)
                    {
                        string st = "SELECT PVP1 From ArtigoMoeda WHERE Artigo='" + lin.CodArtigo + "'";
                        objList = PriEngine.Engine.Consulta(st);
                        double pvp = objList.Valor("PVP1");

                        PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, lin.CodArtigo, lin.Quantidade, "", "", pvp, 0);
                    }

                   // PriEngine.Engine.Comercial.Compras.TransformaDocumento(
                    iniciaTransaccao = true;
                    PriEngine.Engine.IniciaTransaccao();
                    PriEngine.Engine.Comercial.Vendas.Actualiza(myEnc, "Teste");
                    PriEngine.Engine.TerminaTransaccao();
                    iniciaTransaccao = false;
                    erro.Erro = 0;
                    erro.Descricao = "Sucesso";
                    return erro;
                }
                else
                {
                    erro.Erro = 1;
                    erro.Descricao = "Erro ao abrir empresa";
                    return erro;

                }

            }
            catch (Exception ex)
            {
                if (iniciaTransaccao)
                 PriEngine.Engine.DesfazTransaccao();
                erro.Erro = 1;
                erro.Descricao = ex.Message;
                return erro;
            }
        }
示例#45
0
        public static Lib_Primavera.Model.RespostaErro DelComentario(Model.TDU_Comentario com)
        {
            StdBELista objList;
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBECamposChave tdu_comentario = new StdBECamposChave();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {

                    tdu_comentario.AddCampoChave("CDU_idComentario", com.CDU_idComentario);

                    //se forem so estas as chaves da tabela CarrinhoProduto
                    PriEngine.Engine.TabelasUtilizador.Remove("TDU_Comentario", tdu_comentario);
                    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;
            }
        }
示例#46
0
        public static Lib_Primavera.Model.RespostaErro Logout(string sessionVal, Lib_Primavera.Model.Login user)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();

            if (Session.ContainsKey(sessionVal))
            {
                if (Session[sessionVal].UserName == user.username)
                {
                    Session.Remove(sessionVal);
                    erro.Status = true;
                    erro.Erro = 0;
                    erro.Descricao = "succesfully logged out user";
                }
                else
                {
                    erro.Status = false;
                    erro.Erro = 1;
                    erro.Descricao = "session value and username do not match";
                }
            }
            else
            {
                erro.Status = false;
                erro.Erro = 1;
                erro.Descricao = "session value not found in storage";
            }
            return erro;
        }
示例#47
0
        public static Model.RespostaErro Encomendas_New(Model.DocVenda dv)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            GcpBEDocumentoVenda myEnc = new GcpBEDocumentoVenda();

            GcpBELinhaDocumentoVenda myLin = new GcpBELinhaDocumentoVenda();

            GcpBELinhasDocumentoVenda myLinhas = new GcpBELinhasDocumentoVenda();

            PreencheRelacaoVendas rl = new PreencheRelacaoVendas();
            List<Model.LinhaDocVenda> lstlindv = new List<Model.LinhaDocVenda>();

            try
            {
                if (PriEngine.InitializeCompany(NomeEmpresa, UtilizadorEmpresa, PasswordEmpresa) == true)
                {
                    // Atribui valores ao cabecalho do doc
                    //myEnc.set_DataDoc(dv.Data);
                    myEnc.set_Entidade(dv.Entidade);
                    myEnc.set_Serie(dv.Serie);
                    myEnc.set_Tipodoc("ECL");
                    myEnc.set_TipoEntidade("C");
                    // Linhas do documento para a lista de linhas
                    lstlindv = dv.LinhasDoc;
                    PriEngine.Engine.Comercial.Vendas.PreencheDadosRelacionados(myEnc, rl);
                    foreach (Model.LinhaDocVenda lin in lstlindv)
                    {
                        PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, lin.CodArtigo, lin.Quantidade, "", "", lin.PrecoUnitario, lin.Desconto);
                    }

                    // PriEngine.Engine.Comercial.Compras.TransformaDocumento(

                    PriEngine.Engine.IniciaTransaccao();
                    PriEngine.Engine.Comercial.Vendas.Actualiza(myEnc, "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;
            }
        }
示例#48
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;
            }
        }