public void DescontoCadaTresQueijosPagaDois() { // Lanche Domain.Models.Lanche seisQueijos = new Domain.Models.Lanche { Id = 1, Nome = "SeisQueijos" }; // Ingrediente Ingrediente queijo = _serviceIngrediente.Get(5); // Lanche Ingrediente LancheIngrediente li = new LancheIngrediente { Id = 1, Lanche = seisQueijos, LancheId = 1, Ingrediente = queijo, IngredienteId = queijo.Id, QtdIngrediente = 6 }; // Add Lanche Ingrediente seisQueijos.LanchesIngredientes.Add(li); // Calcula preço do lanche seisQueijos.CalcularPreco(); //6 queijos, desconta 2 queijos, da um total de 4 queijos var precoFinalDoLanche = queijo.Preco * 4; Assert.True(precoFinalDoLanche == seisQueijos.Preco); }
public static LancheVM ToViewModel(this Domain.Models.Lanche lanche) { return(new LancheVM { Id = lanche.Id, Nome = lanche.Nome, Preco = lanche.Preco.ToString(), DataCadastro = lanche.DataCadastro.ToString("dd/MM/yyyy"), Ingredientes = Ingredientes(lanche.LanchesIngredientes).ToList() }); }
public void SemDescontoDeDezPorCentoPorTerAlfaceEBacon() { // Lanche Domain.Models.Lanche xOvo = new Domain.Models.Lanche { Id = 1, Nome = "xOvo" }; // Ingredientes Ingrediente ovo = _serviceIngrediente.Get(4); Ingrediente alface = _serviceIngrediente.Get(1); Ingrediente bacon = _serviceIngrediente.Get(2); // União Lanche Ingrediente LancheIngrediente liOvo = new LancheIngrediente { Id = 1, Lanche = xOvo, LancheId = 1, Ingrediente = ovo, IngredienteId = ovo.Id, QtdIngrediente = 10 }; LancheIngrediente liAlface = new LancheIngrediente { Id = 1, Lanche = xOvo, LancheId = 1, Ingrediente = alface, IngredienteId = alface.Id, QtdIngrediente = 1 }; LancheIngrediente liBacon = new LancheIngrediente { Id = 1, Lanche = xOvo, LancheId = 1, Ingrediente = bacon, IngredienteId = bacon.Id, QtdIngrediente = 1 }; // União Lanche Ingrediente xOvo.LanchesIngredientes.Add(liOvo); xOvo.LanchesIngredientes.Add(liAlface); xOvo.LanchesIngredientes.Add(liBacon); // Calcula Preco do lanche. xOvo.CalcularPreco(); var precoDoLancheSemDesconto = (ovo.Preco * 10) + alface.Preco + bacon.Preco; var precoDoLancheComDesconto = precoDoLancheSemDesconto; Assert.True(precoDoLancheComDesconto == xOvo.Preco); }
public void Update(Domain.Models.Lanche lanche) { //Para gatantir vou aparga as associaçoes e criar novamente // associações desse lanche var associacoes = _repoLancheIngrediente.Find(li => li.LancheId == lanche.Id); _repoLancheIngrediente.RemoveRange(associacoes); // refaz associações var novas_associacoes = lanche.LanchesIngredientes; _repoLancheIngrediente.AddRange(novas_associacoes); // Calcula Preço lanche.CalcularPreco(); _repoLanche.Update(lanche); }
public void Add(Domain.Models.Lanche entity) { throw new NotImplementedException(); }
public static void Initialize(LancheContext context) { if (context.Ingredientes.Any()) { return; } #region Ingredientes var Alface = new Ingrediente { Nome = "Alface", Preco = 0.40m }; var Bacon = new Ingrediente { Nome = "Bacon", Preco = 2.00m }; var Hamburguer = new Ingrediente { Nome = "Hambúrguer de carne", Preco = 3.00m }; var Ovo = new Ingrediente { Nome = "Ovo", Preco = 0.80m }; var Queijo = new Ingrediente { Nome = "Queijo", Preco = 1.50m }; var ingredientes = new List <Ingrediente> { Alface, Bacon, Hamburguer, Ovo, Queijo }; context.Ingredientes.AddRange(ingredientes); #endregion #region Lanches var xSalada = new Domain.Models.Lanche { Nome = "X-Salada", Preco = 10.99m }; var xBacon = new Domain.Models.Lanche { Nome = "X-Bacon", Preco = 12.99m }; var lanches = new List <Domain.Models.Lanche> { xSalada, xBacon }; context.Lanches.AddRange(lanches); #endregion #region LanchesIngredientes context.LanchesIngredientes.AddRange(new List <LancheIngrediente> { new LancheIngrediente { Ingrediente = Alface, Lanche = xSalada, QtdIngrediente = 2 }, new LancheIngrediente { Ingrediente = Ovo, Lanche = xSalada, QtdIngrediente = 2 }, new LancheIngrediente { Ingrediente = Queijo, Lanche = xSalada, QtdIngrediente = 2 }, new LancheIngrediente { Ingrediente = Hamburguer, Lanche = xSalada, QtdIngrediente = 2 }, new LancheIngrediente { Ingrediente = Bacon, Lanche = xBacon, QtdIngrediente = 2 }, new LancheIngrediente { Ingrediente = Queijo, Lanche = xBacon, QtdIngrediente = 2 }, new LancheIngrediente { Ingrediente = Hamburguer, Lanche = xBacon, QtdIngrediente = 2 } }); #endregion context.SaveChanges(); }
public void Remove(Domain.Models.Lanche lanche) { _repoLanche.Remove(lanche); }
public void Add(Domain.Models.Lanche lanche) { _repoLanche.Add(lanche); }