Example #1
0
        private ObterVigenteResult SimularTabelaCashback()
        {
            var tabela = new ObterVigenteResult
            {
                IdTabelaCashback   = 1,
                DataInicioVigencia = DateTime.Now,
                Observacao         = "Tabela para cálculo de cashback vigente"
            };

            tabela.Itens.AddRange(new List <ObterVigente_ItensResult>
            {
                new ObterVigente_ItensResult {
                    Genero = (byte)GeneroEnum.Pop, Domingo = 25, Segunda = 7, Terca = 6, Quarta = 2, Quinta = 10, Sexta = 15, Sabado = 20
                },
                new ObterVigente_ItensResult {
                    Genero = (byte)GeneroEnum.MPB, Domingo = 30, Segunda = 5, Terca = 10, Quarta = 15, Quinta = 20, Sexta = 25, Sabado = 30
                },
                new ObterVigente_ItensResult {
                    Genero = (byte)GeneroEnum.Classico, Domingo = 35, Segunda = 3, Terca = 5, Quarta = 8, Quinta = 13, Sexta = 18, Sabado = 25
                },
                new ObterVigente_ItensResult {
                    Genero = (byte)GeneroEnum.Rock, Domingo = 40, Segunda = 10, Terca = 15, Quarta = 15, Quinta = 15, Sexta = 20, Sabado = 40
                }
            });

            return(tabela);
        }
Example #2
0
        private ValoresProduto calcularValoresProduto(ObterVigenteResult tabelaCashbackVigente, int idProduto)
        {
            var produtoEntity       = _mediator.Send(new ObterProdutoQuery(idProduto)).Result;
            var tabelaCashbackItens = tabelaCashbackVigente.Itens.Find(a => a.Genero == (byte)produtoEntity.GeneroEnum);

            decimal valorCashback = 0;

            switch (DateTime.Now.DayOfWeek)
            {
            case DayOfWeek.Sunday: valorCashback = tabelaCashbackItens.Domingo; break;

            case DayOfWeek.Monday: valorCashback = tabelaCashbackItens.Segunda; break;

            case DayOfWeek.Tuesday: valorCashback = tabelaCashbackItens.Terca; break;

            case DayOfWeek.Wednesday: valorCashback = tabelaCashbackItens.Quarta; break;

            case DayOfWeek.Thursday: valorCashback = tabelaCashbackItens.Quinta; break;

            case DayOfWeek.Friday: valorCashback = tabelaCashbackItens.Sexta; break;

            case DayOfWeek.Saturday: valorCashback = tabelaCashbackItens.Sabado; break;
            }

            return(new ValoresProduto
            {
                ValorUnitario = produtoEntity.Preco,
                PercentualCashback = valorCashback
            });
        }