Exemplo n.º 1
0
        public static void GravaItemPercentual(TList_LanPrecoItem val,
                                               decimal Pc_ajuste,
                                               decimal Pc_markup,
                                               string Tp_markup,
                                               bool St_custo,
                                               bool St_ultimacompra,
                                               BancoDados.TObjetoBanco banco)
        {
            bool             st_transacao = false;
            TCD_LanPrecoItem qtb_preco    = new TCD_LanPrecoItem();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_preco.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_preco.Banco_Dados = banco;
                }
                //Gravar itens
                val.ForEach(p =>
                {
                    //Ajustar valor de venda
                    p.Vl_NovoPreco = Pc_ajuste > decimal.Zero ?
                                     (St_custo ? p.Vl_custoreal + (p.Vl_custoreal * (Pc_ajuste / 100)) :
                                      St_ultimacompra ? p.Vl_ultimacompra + (p.Vl_ultimacompra * (Pc_ajuste / 100)) :
                                      p.VL_PrecoVenda + (p.VL_PrecoVenda * (Pc_ajuste / 100))) :
                                     Tp_markup.Trim().ToUpper().Equals("D") ?
                                     (St_custo ? p.Vl_custoreal : St_ultimacompra ? p.Vl_ultimacompra : p.VL_PrecoVenda) / Pc_markup :
                                     (St_custo ? p.Vl_custoreal : St_ultimacompra ? p.Vl_ultimacompra : p.VL_PrecoVenda) * Pc_markup;
                    Grava_LanPrecoItem(p, qtb_preco.Banco_Dados);
                });
                if (st_transacao)
                {
                    qtb_preco.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_preco.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar preço venda: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_preco.deletarBanco_Dados();
                }
            }
        }
Exemplo n.º 2
0
        public static void Grava_LanPrecoItem(TList_LanPrecoItem val,
                                              BancoDados.TObjetoBanco banco)
        {
            bool             st_transacao = false;
            TCD_LanPrecoItem qtb_preco    = new TCD_LanPrecoItem();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_preco.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_preco.Banco_Dados = banco;
                }
                //Gravar itens
                val.ForEach(p => Grava_LanPrecoItem(p, qtb_preco.Banco_Dados));
                if (st_transacao)
                {
                    qtb_preco.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_preco.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar preço venda: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_preco.deletarBanco_Dados();
                }
            }
        }