/// <summary> /// Verificar se existe condicao para conceder desconto e aplica-lo /// </summary> public static decimal valorComDescontoUnitario(this CarrinhoItemProdutoVW OItem, bool flagAssociadoAdimplente) { if (!OItem.flagTemDesconto(flagAssociadoAdimplente)) { return(OItem.valorProduto.toDecimal()); } if (OItem.valorDescontoAssociado.toDecimal() > 0) { decimal valorComDesconto = decimal.Subtract(OItem.valorProduto.toDecimal(), OItem.valorDescontoAssociado.toDecimal()); return(valorComDesconto); } if (OItem.percentualDescontoAssociado.toDecimal() > 0) { decimal valorPercentualDesconto = OItem.valorProduto.toDecimal().valorPercentual(OItem.percentualDescontoAssociado.toDecimal()); decimal valorComDesconto = decimal.Subtract(OItem.valorProduto.toDecimal(), valorPercentualDesconto); return(valorComDesconto); } return(OItem.valorProduto.toDecimal()); }
/// <summary> /// Verificar se existe condicao para conceder desconto e aplica-lo /// </summary> public static bool flagTemDesconto(this CarrinhoItemProdutoVW OItem, bool flagAssociadoAdimplente) { if (OItem.valorDescontoAssociado.toDecimal() == 0 && OItem.percentualDescontoAssociado.toDecimal() == 0) { return(false); } if (flagAssociadoAdimplente == false) { return(false); } return(true); }