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