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