public static Lib_Primavera.Model.RespostaErro AlterarPassword(string codcliente, string nova)
        {
            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)
                {
                    StdBECamposChave chave = new StdBECamposChave();
                    chave.AddCampoChave("CDU_codCliente", codcliente);

                    PriEngine.Engine.TabelasUtilizador.ActualizaValorAtributo
                        ("TDU_ClienteAuxiliar", chave, "CDU_Password" , sha1(nova));

                    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;
            }
        }
Example #2
0
        public static Lib_Primavera.Model.RespostaErro DelArtigoCarrinho(Model.TDU_Carrinho carrinho)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBECamposChave tdu_carrinho         = new StdBECamposChave();

            try
            {
                if (PriEngine.InitializeCompany(ElectroSinf.Properties.Settings.Default.Company.Trim(), ElectroSinf.Properties.Settings.Default.User.Trim(), ElectroSinf.Properties.Settings.Default.Password.Trim()) == true)
                {
                    tdu_carrinho.AddCampoChave("CDU_IdCliente", carrinho.CDU_IdCliente);
                    tdu_carrinho.AddCampoChave("CDU_IdArtigo", carrinho.CDU_IdArtigo);
                    PriEngine.Engine.TabelasUtilizador.Remove("TDU_Carrinho", 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);
            }
        }
Example #3
0
        public static Lib_Primavera.Model.TDU_TipoArtigo GetTipoArtigo(int id)
        {
            StdBECamposChave pk = new StdBECamposChave();

            //Primary Key of TDU_TipoArtigo Table
            pk.AddCampoChave("CDU_IdTipo", id);
            Model.TDU_TipoArtigo mytip = new Model.TDU_TipoArtigo();

            if (PriEngine.InitializeCompany(ElectroSinf.Properties.Settings.Default.Company.Trim(), ElectroSinf.Properties.Settings.Default.User.Trim(), ElectroSinf.Properties.Settings.Default.Password.Trim()) == true)
            {
                if (PriEngine.Engine.TabelasUtilizador.Existe("TDU_TipoArtigo", pk) == false)
                {
                    return(null);
                }
                else
                {
                    mytip.CDU_IdTipo     = PriEngine.Engine.TabelasUtilizador.DaValorAtributo("TDU_TipoArtigo", pk, "CDU_idTipo");
                    mytip.CDU_TipoArtigo = PriEngine.Engine.TabelasUtilizador.DaValorAtributo("TDU_TipoArtigo", pk, "CDU_TipoArtigo");
                    mytip.CDU_Categoria  = PriEngine.Engine.TabelasUtilizador.DaValorAtributo("TDU_TipoArtigo", pk, "CDU_Categoria");
                    return(mytip);
                }
            }
            else
            {
                return(null);
            }
        }
        public static Lib_Primavera.Model.RespostaErro ApagarGeneros(string CodArtigo)
        {
            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)
                {
                    StdBECamposChave chave = new StdBECamposChave();
                    chave.AddCampoChave("CDU_idArtigo", CodArtigo);

                    PriEngine.Engine.TabelasUtilizador.Remove("TDU_ArtigoGenero", chave);

                    erro.Erro = 0;
                    erro.Descricao = "Sucesso";
                    return erro;
                }
                else
                {
                    erro.Erro = 1;
                    erro.Descricao = "Erro ao abrir a empresa";
                    return erro;
                }
            }
            catch (Exception ex)
            {
                erro.Erro = 1;
                erro.Descricao = ex.Message;
                return erro;
            }
        }
Example #5
0
        public Artigo(Interop.GcpBE800.GcpBEArtigo objArtigo, double pvp1)
        {
            CodArtigo  = objArtigo.get_Artigo();
            DescArtigo = objArtigo.get_Descricao();
            if (objArtigo.get_Marca() != "")
            {
                Marca = PriEngine.Engine.Comercial.Marcas.DaValorAtributo(objArtigo.get_Marca(), "Descricao");
            }
            if (objArtigo.get_Modelo() != "" && objArtigo.get_Marca() != "")
            {
                Modelo = PriEngine.Engine.Comercial.Modelos.DaValorAtributo(objArtigo.get_Marca(), objArtigo.get_Modelo(), "Descricao");
            }
            Preco          = Math.Round(pvp1 * (1 + Convert.ToDouble(objArtigo.get_IVA()) / 100.0), 2);
            Especificacoes = PriIntegration.ListaEspecificacoesArtigo(CodArtigo);
            int cdu_tipo = PriEngine.Engine.Comercial.Artigos.DaValorAtributo(CodArtigo, "CDU_Tipo");

            Tipo = PriIntegration.GetTipoArtigo(cdu_tipo).CDU_TipoArtigo;
            StdBECamposChave cdu_tipo_chave = new StdBECamposChave();

            cdu_tipo_chave.AddCampoChave("CDU_IdTipo", cdu_tipo);
            int cdu_categoria = PriEngine.Engine.TabelasUtilizador.DaValorAtributo("TDU_TipoArtigo", cdu_tipo_chave, "CDU_Categoria");
            StdBECamposChave cdu_categoria_chave = new StdBECamposChave();

            cdu_categoria_chave.AddCampoChave("CDU_IdCategoria", cdu_categoria);
            Categoria     = PriEngine.Engine.TabelasUtilizador.DaValorAtributo("TDU_Categoria", cdu_categoria_chave, "CDU_Categoria");
            Stock         = objArtigo.get_StkActual();
            Stock_armazem = PriIntegration.getStock_armazem(CodArtigo);
            Relacionados  = PriIntegration.getRelacionados(CodArtigo, cdu_tipo, pvp1);
        }
Example #6
0
        /// <summary>
        /// This is the binded category value.
        /// </summary>
        void IStdBEInfRelacionada.AdicionaChave(string Nome, dynamic Valor)
        {
            StdBECamposChave fields = new StdBECamposChave();

            fields.AddCampoChave(Nome, Valor);

            dynamic campo = fields.CamposChave;

            this.EntityKey = (string)campo[0].Valor;
        }
        void _IStdBEInfRelacionada.AdicionaChave(string Nome, object Valor)
        {
            StdBECamposChave BECamposChave = new StdBECamposChave();

            BECamposChave.AddCampoChave(Nome, Valor);

            dynamic campo = BECamposChave.CamposChave;

            this.ValorChave = (string)campo[1].Valor;
        }
        public static Lib_Primavera.Model.RespostaErro AlterarDados(View.AcessoLogin2 registo)
        {
            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)
                {
                    StdBECamposChave chave = new StdBECamposChave();
                    StdBECampos campos = new StdBECampos();
                    StdBECampo cmp1 = new StdBECampo();
                    StdBECampo cmp2 = new StdBECampo();

                    chave.AddCampoChave("CDU_codCliente", registo.CodCliente);

                    cmp1.Nome = "CDU_Email";
                    cmp1.Valor = registo.email;
                    cmp2.Nome = "CDU_Sexo";
                    cmp2.Valor = registo.sexo;

                    campos.Insere(cmp1);
                    campos.Insere(cmp2);

                    PriEngine.Engine.TabelasUtilizador.ActualizaValorAtributos("TDU_ClienteAuxiliar", chave, campos);

                    GcpBECliente objCli = new GcpBECliente();
                    objCli = PriEngine.Engine.Comercial.Clientes.Edita(registo.CodCliente);
                    objCli.set_EmModoEdicao(true);

                    objCli.set_Nome(registo.NomeCliente);
                    objCli.set_NumContribuinte(registo.NumContribuinte);
                    objCli.set_Moeda(registo.Moeda);
                    objCli.set_Morada(registo.Morada);

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

                    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;
            }
        }
Example #9
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;
            }
        }
        public static Lib_Primavera.Model.RespostaErro ApagarArtigoCarrinho(Model.Carrinho carrinho)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();

            StdBECamposChave objRegisto = new StdBECamposChave();
            StdBECampos campos = new StdBECampos();
            StdBECampo cmp1 = new StdBECampo();
            StdBECampo cmp2 = new StdBECampo();

            objRegisto.AddCampoChave("CDU_idArtigo", carrinho.artigo);
            objRegisto.AddCampoChave("CDU_CodCliente", carrinho.cliente);

            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.TabelasUtilizador.Existe("TDU_Pagamento", objRegisto) == false)
                    {
                        erro.Erro = 1;
                        erro.Descricao = "Não existe esta linha no carrinho";
                        return erro;
                    }
                    else
                    {

                        PriEngine.Engine.TabelasUtilizador.Remove("TDU_Pagamento", objRegisto);
                        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;
            }
        }
Example #11
0
        //MUDADO PARA RECEBER ARMAZEM

        public static Lib_Primavera.Model.RespostaErro UpdateCarrinhoObj(Model.TDU_Carrinho carrinho)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBECamposChave tdu_carrinhoChaves   = new StdBECamposChave();

            if (carrinho.CDU_Quantidade < 1)
            {
                erro.Erro      = 1;
                erro.Descricao = "Quantidade errada";
                return(erro);
            }
            try
            {
                if (PriEngine.InitializeCompany(ElectroSinf.Properties.Settings.Default.Company.Trim(), ElectroSinf.Properties.Settings.Default.User.Trim(), ElectroSinf.Properties.Settings.Default.Password.Trim()) == true)
                {
                    tdu_carrinhoChaves.AddCampoChave("CDU_IdCliente", carrinho.CDU_IdCliente);
                    tdu_carrinhoChaves.AddCampoChave("CDU_IdArtigo", carrinho.CDU_IdArtigo);

                    if (PriEngine.Engine.TabelasUtilizador.Existe("TDU_Carrinho", tdu_carrinhoChaves))
                    {
                        PriEngine.Engine.TabelasUtilizador.ActualizaValorAtributo("TDU_Carrinho", tdu_carrinhoChaves, "CDU_Quantidade", carrinho.CDU_Quantidade);
                    }
                    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);
            }
        }
Example #12
0
        private StdBERegistoUtil DaRegistoCabimentacao(CmpBEDocumentoCompra documentoCompra)
        {
            StdBERegistoUtil registo;

            // Chave fisica da tabela
            StdBECamposChave camposChave = new StdBECamposChave();

            camposChave.AddCampoChave("CDU_DocId", documentoCompra.ID);

            if (BSO.TabelasUtilizador.Existe(Globals.TDU_Cabimentacao, camposChave))
            {
                // Registo existe, edita
                registo = BSO.TabelasUtilizador.Edita(Globals.TDU_Cabimentacao, camposChave);
            }
            else
            {
                // Novo registo
                registo = new StdBERegistoUtil();
            }

            return(registo);
        }
        public static Lib_Primavera.Model.RespostaErro IncrementarVisitas(Model.Artigo registo)
        {
            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)
                {
                    if (PriEngine.Engine.Comercial.Artigos.Existe(registo.CodArtigo) == false)
                    {
                        erro.Erro = 1;
                        erro.Descricao = "O artigo não existe";
                        return erro;
                    }
                    else
                    {
                        StdBECamposChave chave = new StdBECamposChave();
                        StdBECampos campos = new StdBECampos();
                        StdBECampo cmp1 = new StdBECampo();

                        cmp1.Nome = "CDU_Visitas";
                        cmp1.Valor = registo.Visitas + 1;
                        campos.Insere(cmp1);

                        PriEngine.Engine.Comercial.Artigos.ActualizaValorAtributos(registo.CodArtigo, campos);
                        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;
            }
        }
Example #14
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;
            }
        }
Example #15
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;
            }
        }
Example #16
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;
            }
        }
Example #17
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;
            }
        }
Example #18
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(ElectroSinf.Properties.Settings.Default.Company.Trim(), ElectroSinf.Properties.Settings.Default.User.Trim(), ElectroSinf.Properties.Settings.Default.Password.Trim()) == true)
                {
                    //atributos que por enquanto não são dinamicos:
                    string serie    = "1";
                    double desconto = 0.0;
                    string armazem  = "A1";

                    // Atribui valores ao cabecalho do doc
                    myEnc.set_Entidade(dv.Entidade);
                    myEnc.set_Serie(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     pvp1 = 0, quantidade = 0;
                    string     idArtigo = "";
                    int        Stock    = 0;
                    StdBELista carrinho = PriEngine.Engine.Consulta("SELECT * FROM TDU_Carrinho WHERE CDU_IdCliente='" + dv.Entidade + "'");
                    while (!carrinho.NoFim())
                    {
                        idArtigo   = carrinho.Valor("CDU_IdArtigo");
                        quantidade = Convert.ToDouble(carrinho.Valor("CDU_Quantidade"));
                        armazem    = carrinho.Valor("CDU_Armazem");
                        Stock      = (int)PriEngine.Engine.Comercial.ArtigosArmazens.DaStockArtigo(idArtigo);
                        //ARMAZEM
                        if (quantidade > Stock)
                        {
                            erro.Erro      = 1;
                            erro.Descricao = "quantidadeErrada";
                            return(erro);
                        }
                        pvp1 = PriEngine.Engine.Comercial.ArtigosPrecos.DaPrecoArtigoMoeda(idArtigo, "EUR", "UN", "PVP1", false, 0);
                        PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, idArtigo, quantidade, armazem, "", pvp1, desconto);
                        carrinho.Seguinte();
                    }

                    /*
                     * foreach (Model.LinhaDocVenda lin in lstlindv)
                     * {
                     *  pvp1 = PriEngine.Engine.Comercial.ArtigosPrecos.DaPrecoArtigoMoeda(lin.CodArtigo, "EUR", "UN", "PVP1", false, 0);
                     *  PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, lin.CodArtigo, lin.Quantidade, armazem, "", pvp1, desconto);
                     * }
                     */
                    PriEngine.Engine.IniciaTransaccao();
                    PriEngine.Engine.Comercial.Vendas.Actualiza(myEnc, "Teste");
                    PriEngine.Engine.TerminaTransaccao();
                    erro.Erro      = 0;
                    erro.Descricao = "Sucesso";
                    carrinho.Inicio();
                    while (!carrinho.NoFim())
                    {
                        idArtigo = carrinho.Valor("CDU_IdArtigo");
                        StdBECamposChave tdu_carrinho = new StdBECamposChave();
                        tdu_carrinho.AddCampoChave("CDU_IdCliente", dv.Entidade);
                        tdu_carrinho.AddCampoChave("CDU_IdArtigo", idArtigo);
                        PriEngine.Engine.TabelasUtilizador.Remove("TDU_Carrinho", tdu_carrinho);
                        carrinho.Seguinte();
                    }
                    return(erro);
                }
                else
                {
                    erro.Erro      = 1;
                    erro.Descricao = "Erro ao abrir empresa";
                    return(erro);
                }
            }
            catch (Exception ex)
            {
                try
                {
                    PriEngine.Engine.DesfazTransaccao();
                }
                catch (Exception)
                {
                }
                erro.Erro      = 1;
                erro.Descricao = ex.Message;
                Console.Write(erro.Descricao);
                return(erro);
            }
        }
Example #19
0
        public override void ValidaLinha(int NumLinha, ExtensibilityEventArgs e)
        {
            base.ValidaLinha(NumLinha, e);

            try
            {
                //Apenas valida documentos financeiros ou de transporte
                if ((BSO.Compras.TabCompras.DaValorAtributo(DocumentoCompra.Tipodoc, "TipoDocumento") < 3))
                {
                    return;
                }

                //Validações dos fitofarmacêuticos
                if ((bool)(BSO.Base.Artigos.DaValorAtributo(DocumentoCompra.Linhas.GetEdita(NumLinha).Artigo, "CDU_Fitofarmaceutico")))
                {
                    //Obrigatório indicar o número de autorização de venda
                    if (string.IsNullOrEmpty(DocumentoCompra.Linhas.GetEdita(NumLinha).CamposUtil["CDU_NumeroAutorizacao"].Valor.ToString()))
                    {
                        throw new Exception("O número de autorização de venda é obrigatório nos produtos fitofarmacêuticos.");
                    }

                    //Obrigatório indicar o lote
                    if (DocumentoCompra.Linhas.GetEdita(NumLinha).Lote.Equals("<L01>") || string.IsNullOrEmpty(DocumentoCompra.Linhas.GetEdita(NumLinha).Lote))
                    {
                        throw new Exception("É obrigatório indicar o lote dos produtos fitofarmacêuticos.");
                    }

                    //A compra a entidades não autorizadas implica a identificação do armazém origem
                    //O armazém origem tem de pertencer ao fornecedor
                    if (!(bool)(BSO.Base.Fornecedores.DaValorAtributo(DocumentoCompra.Entidade, "CDU_OperadorFitofarmaceuticos") ?? false))
                    {
                        //Se não foi definido nenhum armazém de proveniencia associa o primeiro do fornecedor (caso exista)
                        if (string.IsNullOrEmpty((DocumentoCompra.Linhas.GetEdita(NumLinha).CamposUtil["CDU_ArmazemProveniencia"].Valor ?? string.Empty).ToString()))
                        {
                            StdBELista LstArmProveniencia = BSO.Consulta(string.Format("select top(1) [CDU_Codigo] from TDU_ArmazensProveniencia where [CDU_CodFornecedor] = '{0}'", DocumentoCompra.Entidade));
                            if (!LstArmProveniencia.Vazia())
                            {
                                DocumentoCompra.Linhas.GetEdita(NumLinha).CamposUtil["CDU_ArmazemProveniencia"].Valor = LstArmProveniencia.Valor("CDU_Codigo");
                            }
                            else
                            {
                                throw new Exception("Não existe nenhum armazém de proveniência associado a este fornecedor. A compra de produtos fitofarmacêuticos a entidades isentas de autorização implica a identificação do armazém de proveniência.");
                            }
                        }

                        //Valida se o armazém de proveniência pertence ao fornecedor
                        StdBECamposChave objCampoChave = new StdBECamposChave();
                        objCampoChave.AddCampoChave("CDU_Codigo", DocumentoCompra.Linhas.GetEdita(NumLinha).CamposUtil["CDU_ArmazemProveniencia"].Valor);

                        if (!BSO.TabelasUtilizador.DaValorAtributo("TDU_ArmazensProveniencia", objCampoChave, "CDU_CodFornecedor").Equals(DocumentoCompra.Entidade))
                        {
                            throw new Exception("O armazém de proveniência não pertence à entidade do documento.");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                PSO.Dialogos.MostraErro(ex.Message, StdPlatBS100.StdBSTipos.IconId.PRI_Exclama);
                DocumentoCompra.Linhas.Remove(NumLinha);
            }
        }
Example #20
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;
            }
        }
        public static Lib_Primavera.Model.RespostaErro AlterarDadosMain(Model.Artigo registo)
        {
            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)
                {
                    if (PriEngine.Engine.Comercial.Artigos.Existe(registo.CodArtigo) == false)
                    {
                        erro.Erro = 1;
                        erro.Descricao = "O artigo não existe";
                        return erro;
                    }
                    else
                    {
                        /* Artigo */
                        GcpBEArtigo obj = new GcpBEArtigo();
                        obj = PriEngine.Engine.Comercial.Artigos.Edita(registo.CodArtigo);
                        obj.set_EmModoEdicao(true);

                        obj.set_Descricao(registo.Descricao); // Nome do producto

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

                        /* ArtigoMoeda */
                        GcpBEArtigoMoeda obj2 = new GcpBEArtigoMoeda();
                        obj2 = PriEngine.Engine.Comercial.ArtigosPrecos.Edita(registo.CodArtigo, registo.Moeda, "UN");

                        obj2.set_EmModoEdicao(true);

                        obj2.set_PVP1(registo.Preco);

                        PriEngine.Engine.Comercial.ArtigosPrecos.Actualiza(obj2);

                        /* TDU_ArtigoAuxiliar */
                        StdBECamposChave chave = new StdBECamposChave();
                        StdBECampos campos = new StdBECampos();
                        StdBECampo cmp1 = new StdBECampo();
                        StdBECampo cmp2 = new StdBECampo();
                        StdBECampo cmp3 = new StdBECampo();
                        StdBECampo cmp4 = new StdBECampo();

                        chave.AddCampoChave("CDU_codArtigo", registo.CodArtigo);

                        cmp1.Nome = "CDU_Ano";
                        cmp1.Valor = registo.Ano;
                        cmp2.Nome = "CDU_Idade";
                        cmp2.Valor = registo.Idade;
                        cmp3.Nome = "CDU_Empresa";
                        cmp3.Valor = registo.Empresa;
                        cmp4.Nome = "CDU_Oculto";
                        cmp4.Valor = (registo.Oculto ? 1 : 0);

                        campos.Insere(cmp1);
                        campos.Insere(cmp2);
                        campos.Insere(cmp3);
                        campos.Insere(cmp4);

                        PriEngine.Engine.TabelasUtilizador.ActualizaValorAtributos("TDU_ArtigoAuxiliar", chave, campos);

                        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;
            }
        }
Example #22
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;
            }
        }
Example #23
0
        public static Lib_Primavera.Model.RespostaErro InsereCarrinhoObj(Model.TDU_Carrinho carrinho)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            StdBECamposChave tdu_carrinhoChaves   = new StdBECamposChave();
            StdBERegistoUtil tdu_carrinhoNovo     = new StdBERegistoUtil();
            StdBECampos      cmps       = new StdBECampos();
            StdBECampo       idCliente  = new StdBECampo();
            StdBECampo       idArtigo   = new StdBECampo();
            StdBECampo       quantidade = new StdBECampo();
            int quantidadeExistente     = 0;
            //AQUI
            StdBECampo armazem = new StdBECampo();

            if (carrinho.CDU_Quantidade < 1)
            {
                erro.Erro      = 1;
                erro.Descricao = "Quantidade errada";
                return(erro);
            }

            try
            {
                if (PriEngine.InitializeCompany(ElectroSinf.Properties.Settings.Default.Company.Trim(), ElectroSinf.Properties.Settings.Default.User.Trim(), ElectroSinf.Properties.Settings.Default.Password.Trim()) == true)
                {
                    StdBELista objListCab;
                    string     st = "SELECT Armazem From Armazens where Descricao='" + carrinho.CDU_Armazem + "'";
                    objListCab = PriEngine.Engine.Consulta(st);


                    tdu_carrinhoChaves.AddCampoChave("CDU_IdCliente", carrinho.CDU_IdCliente);
                    tdu_carrinhoChaves.AddCampoChave("CDU_IdArtigo", carrinho.CDU_IdArtigo);
                    //AQUI
                    tdu_carrinhoChaves.AddCampoChave("CDU_Armazem", objListCab.Valor("Armazem"));

                    if (PriEngine.Engine.TabelasUtilizador.Existe("TDU_Carrinho", tdu_carrinhoChaves))
                    {
                        quantidadeExistente  = PriEngine.Engine.TabelasUtilizador.DaValorAtributo("TDU_Carrinho", tdu_carrinhoChaves, "CDU_Quantidade");
                        quantidadeExistente += carrinho.CDU_Quantidade;
                        PriEngine.Engine.TabelasUtilizador.ActualizaValorAtributo("TDU_Carrinho", tdu_carrinhoChaves, "CDU_Quantidade", quantidadeExistente);
                    }
                    else
                    {
                        idCliente.Nome   = "CDU_IdCliente";
                        idArtigo.Nome    = "CDU_IdArtigo";
                        quantidade.Nome  = "CDU_Quantidade";
                        idCliente.Valor  = carrinho.CDU_IdCliente;
                        idArtigo.Valor   = carrinho.CDU_IdArtigo;
                        quantidade.Valor = carrinho.CDU_Quantidade + quantidadeExistente;
                        //AQUI
                        armazem.Nome = "CDU_Armazem";



                        armazem.Valor = objListCab.Valor("Armazem");

                        cmps.Insere(idCliente);
                        cmps.Insere(idArtigo);
                        cmps.Insere(quantidade);
                        //AQUI
                        cmps.Insere(armazem);

                        tdu_carrinhoNovo.set_Campos(cmps);
                        PriEngine.Engine.TabelasUtilizador.Actualiza("TDU_Carrinho", 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);
            }
        }