/// <summary> /// Obtém a lista de beneficiamentos convertida, a partir dos dados do DTO. /// </summary> /// <param name="beneficiamentos">A lista de beneficiamentos do DTO.</param> /// <returns>A lista convertida de beneficiamentos.</returns> public static GenericBenefCollection ObterListaBeneficiamentos(this IEnumerable <ItemBeneficiamentoDto> beneficiamentos) { var configuracoesBeneficiamentos = BenefConfigDAO.Instance.GetForConfig(); var lista = new GenericBenefCollection(); if (beneficiamentos != null) { foreach (var beneficiamento in beneficiamentos) { var configuracao = configuracoesBeneficiamentos .FirstOrDefault(b => b.IdBenefConfig == beneficiamento.Id); var convertido = new GenericBenef { IdBenefConfig = (uint)beneficiamento.Id, Qtd = beneficiamento.Quantidade ?? 0, ValorUnit = beneficiamento.ValorUnitario, Valor = beneficiamento.ValorTotal, Custo = beneficiamento.CustoTotal, }; ConverterLapidacao(convertido, beneficiamento, configuracao); ConverterBisote(convertido, beneficiamento, configuracao); lista.Add(convertido); } } return(lista); }
private static void ConverterLapidacao(GenericBenef convertido, ItemBeneficiamentoDto beneficiamento, BenefConfig configuracao) { if (configuracao?.TipoControleParent == TipoControleBenef.Lapidacao) { convertido.LapAlt = beneficiamento.Altura ?? 0; convertido.LapLarg = beneficiamento.Largura ?? 0; } }
private static void ConverterBisote(GenericBenef convertido, ItemBeneficiamentoDto beneficiamento, BenefConfig configuracao) { if (configuracao?.TipoControleParent == TipoControleBenef.Bisote) { convertido.BisAlt = beneficiamento.Altura ?? 0; convertido.BisLarg = beneficiamento.Largura ?? 0; convertido.EspBisote = (float?)beneficiamento.Espessura ?? 0; } }
protected override void RemoverValorBeneficiamento(GenericBenef beneficiamento) { beneficiamento.Valor += beneficiamento.ValorDescontoProd; beneficiamento.ValorDescontoProd = 0; }
protected override void AplicarValorBeneficiamento(GenericBenef beneficiamento, decimal valor) { beneficiamento.ValorDescontoProd += valor; beneficiamento.Valor -= valor; }
protected override void RemoverValorBeneficiamento(GenericBenef beneficiamento) { beneficiamento.Valor -= Math.Round(beneficiamento.Valor * (beneficiamento.PercentualComissao / 100), 2); beneficiamento.ValorComissao = 0; }
protected override void AplicarValorBeneficiamento(GenericBenef beneficiamento, decimal valor) { beneficiamento.ValorComissao += valor; beneficiamento.Valor += valor; }
protected override void RemoverValorBeneficiamento(GenericBenef beneficiamento) { // não remove }
protected override void AplicarValorBeneficiamento(GenericBenef beneficiamento, decimal valor) { // não aplica }
protected abstract void RemoverValorBeneficiamento(GenericBenef beneficiamento);
protected abstract void AplicarValorBeneficiamento(GenericBenef beneficiamento, decimal valor);
protected override void RemoverValorBeneficiamento(GenericBenef beneficiamento) { beneficiamento.Valor -= beneficiamento.ValorAcrescimoProd; beneficiamento.ValorAcrescimoProd = 0; }