public void CalcularPrecoDoLancheCompromocaoCarneEQueijoTest() { List <int> ids = new List <int>(); ids.Add(3); ids.Add(3); ids.Add(3); ids.Add(5); ids.Add(5); ids.Add(5); Cardapio cardapio = new Cardapio(); var carne = cardapio.ObterCardapioIngredientes() .Where(ingrediente => ingrediente.IngredienteId == 3) .FirstOrDefault().Valor; var queijo = cardapio.ObterCardapioIngredientes() .Where(ingrediente => ingrediente.IngredienteId == 5) .FirstOrDefault().Valor; var precoFinal = (queijo * 2) + (carne * 2); CalculoPrecoLanche calculo = new CalculoPrecoLanche(); Assert.AreEqual(precoFinal, calculo.CalcularPrecoDoLanche(ids)); }
public void CalcularPrecoDoLancheNaoLight() { List <int> ids = new List <int>(); ids.Add(1); ids.Add(2); ids.Add(3); Cardapio cardapio = new Cardapio(); var carne = cardapio.ObterCardapioIngredientes() .Where(ingrediente => ingrediente.IngredienteId == 3) .FirstOrDefault().Valor; var alface = cardapio.ObterCardapioIngredientes() .Where(ingrediente => ingrediente.IngredienteId == 1) .FirstOrDefault().Valor; var bacon = cardapio.ObterCardapioIngredientes() .Where(ingrediente => ingrediente.IngredienteId == 2) .FirstOrDefault().Valor; var precoFinal = bacon + carne + alface; CalculoPrecoLanche calculo = new CalculoPrecoLanche(); Assert.AreEqual(precoFinal, calculo.CalcularPrecoDoLanche(ids)); }
public void CalcularPrecoDoLancheComTodasPromocoes() { List <int> ids = new List <int>(); ids.Add(1); ids.Add(3); ids.Add(3); ids.Add(3); ids.Add(5); ids.Add(5); ids.Add(5); ids.Add(3); ids.Add(3); ids.Add(3); ids.Add(5); ids.Add(5); ids.Add(5); Cardapio cardapio = new Cardapio(); var carne = cardapio.ObterCardapioIngredientes() .Where(ingrediente => ingrediente.IngredienteId == 3) .FirstOrDefault().Valor; var alface = cardapio.ObterCardapioIngredientes() .Where(ingrediente => ingrediente.IngredienteId == 1) .FirstOrDefault().Valor; var queijo = cardapio.ObterCardapioIngredientes() .Where(ingrediente => ingrediente.IngredienteId == 5) .FirstOrDefault().Valor; var precoFinal = (queijo * 4) + (carne * 4) + alface; precoFinal -= precoFinal * 0.1m; CalculoPrecoLanche calculo = new CalculoPrecoLanche(); Assert.AreEqual(precoFinal, calculo.CalcularPrecoDoLanche(ids)); }
public void CalcularPrecoDoLancheCompromocaoLigth() { List <int> ids = new List <int>(); ids.Add(1); ids.Add(3); Cardapio cardapio = new Cardapio(); var carne = cardapio.ObterCardapioIngredientes() .Where(ingrediente => ingrediente.IngredienteId == 3) .FirstOrDefault().Valor; var alface = cardapio.ObterCardapioIngredientes() .Where(ingrediente => ingrediente.IngredienteId == 1) .FirstOrDefault().Valor; var precoFinal = (alface + carne) - ((alface + carne) * 0.1m); CalculoPrecoLanche calculo = new CalculoPrecoLanche(); Assert.AreEqual(precoFinal, calculo.CalcularPrecoDoLanche(ids)); }
public decimal PromocaoDeLanche(List <int> ingredientesId, decimal preco) { int numerodeCarne = ingredientesId.Where(ingrediente => ingrediente == 3).Count(); bool temPromacaoCarne = numerodeCarne > 2; if (!temPromacaoCarne) { return(preco); } int numeroDeRetirada = numerodeCarne / 3; decimal valor = cardapio.ObterCardapioIngredientes().Where(ingrediente => ingrediente.IngredienteId == 3) .FirstOrDefault().Valor *numeroDeRetirada; preco -= valor; return(preco); }
public decimal CalcularPrecoDoLanche(List <int> ingredientesId) { decimal preco = 0m; foreach (var id in ingredientesId) { var valor = cardapio.ObterCardapioIngredientes().Where(ingrediente => ingrediente.IngredienteId == id) .FirstOrDefault().Valor; preco += valor; } Promocao promocaoCarne = new PromocaoMuitaCarne(); Promocao promocaoQueijo = new PromocaoMuitoQueijo(); Promocao promocaoLight = new PromocaoLancheLight(); CalculaPromocao promocao = new CalculaPromocao(); preco = promocao.CalcularPromocao(ingredientesId, preco, promocaoCarne); preco = promocao.CalcularPromocao(ingredientesId, preco, promocaoQueijo); preco = promocao.CalcularPromocao(ingredientesId, preco, promocaoLight); return(preco); }
public ActionResult CriarLanche() { List <Ingrediente> ingredientes = cardapio.ObterCardapioIngredientes(); return(View(ingredientes)); }