예제 #1
0
        /// <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);
        }
예제 #2
0
 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;
     }
 }
예제 #3
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;
     }
 }
예제 #4
0
 protected override void RemoverValorBeneficiamento(GenericBenef beneficiamento)
 {
     beneficiamento.Valor            += beneficiamento.ValorDescontoProd;
     beneficiamento.ValorDescontoProd = 0;
 }
예제 #5
0
 protected override void AplicarValorBeneficiamento(GenericBenef beneficiamento, decimal valor)
 {
     beneficiamento.ValorDescontoProd += valor;
     beneficiamento.Valor             -= valor;
 }
예제 #6
0
 protected override void RemoverValorBeneficiamento(GenericBenef beneficiamento)
 {
     beneficiamento.Valor        -= Math.Round(beneficiamento.Valor * (beneficiamento.PercentualComissao / 100), 2);
     beneficiamento.ValorComissao = 0;
 }
예제 #7
0
 protected override void AplicarValorBeneficiamento(GenericBenef beneficiamento, decimal valor)
 {
     beneficiamento.ValorComissao += valor;
     beneficiamento.Valor         += valor;
 }
예제 #8
0
 protected override void RemoverValorBeneficiamento(GenericBenef beneficiamento)
 {
     // não remove
 }
예제 #9
0
 protected override void AplicarValorBeneficiamento(GenericBenef beneficiamento, decimal valor)
 {
     // não aplica
 }
예제 #10
0
 protected abstract void RemoverValorBeneficiamento(GenericBenef beneficiamento);
예제 #11
0
 protected abstract void AplicarValorBeneficiamento(GenericBenef beneficiamento, decimal valor);
예제 #12
0
 protected override void RemoverValorBeneficiamento(GenericBenef beneficiamento)
 {
     beneficiamento.Valor -= beneficiamento.ValorAcrescimoProd;
     beneficiamento.ValorAcrescimoProd = 0;
 }