public LancheModel GetPorId(int id) { List <LancheModel> lanches = GetLanches(); LancheModel lanche = lanches.Find(x => x.Id == id); return(lanche); }
public decimal TCalcularDescontoMuitoQueijo(LancheModel lanche, decimal valor) { var fatorDesconto = Math.Floor((double)lanche.ListaIngredientes.Where(i => i.ID == 5).Count() / 3); var precoQueijo = valor; return(lanche.Preco - ((decimal)fatorDesconto * precoQueijo)); }
public decimal CalcularDescontoMuitoQueijo(LancheModel lanche) { var fatorDesconto = Math.Floor((double)lanche.ListaIngredientes.Where(i => i.ID == 5).Count() / 3); var precoQueijo = ((IngredienteModel)this.IngredienteLogic.Buscar(5)).Preco; return(lanche.Preco - ((decimal)fatorDesconto * precoQueijo)); }
public IHttpActionResult Get(int id) { if (id == 0) { return(BadRequest()); } LancheModel lanche = dados.GetPorId(id); return(Ok(lanche)); }
public IActionResult Atualizar(LancheModel lanche) { try { return(new Util().verificaStatus(_ILanche.Atualizar(lanche))); } catch (Exception ex) { return(BadRequest(new Error(HttpStatusCode.InternalServerError, "Lanche.Atualizar()", ex.Message))); } }
public LancheModel InsertLanche(LancheModel lancheModel) { var lanche = _mapper.Map <LancheModel, DataBase.Lanche>(lancheModel); var result = _repository.InsertLanchee(lanche); _repository.InsertIngredientes(result.ID, lancheModel.IngredientesIds); return(_mapper.Map <DataBase.Lanche, LancheModel>(result)); }
public void PromocaoLight(LancheModel lanche) { var alfaceModel = this.IngredienteLogic.Buscar(1); var baconModel = this.IngredienteLogic.Buscar(2); if (lanche.ListaIngredientes.Any(i => i.ID == alfaceModel.ID) && !lanche.ListaIngredientes.Any(i => i.ID == baconModel.ID)) { lanche.Promocoes.Add((PromocaoModel)ConverteEntityToModel(this.PromocaoRepository.Buscar(1))); } else { //return null; } }
public void PromocaoMuitoQueijo(LancheModel lanche) { var queijoModel = this.IngredienteLogic.Buscar(5); var QuantidadeCarne = lanche.ListaIngredientes.Where(i => i.ID == queijoModel.ID).Count(); if (QuantidadeCarne >= 3) { lanche.Promocoes.Add((PromocaoModel)ConverteEntityToModel(this.PromocaoRepository.Buscar(2))); } else { //return null; } }
public string Inserir(LancheModel lanche) { try { DynamicParameters parameters = new DynamicParameters(); parameters.Add("@NOME", lanche.nomeLanche, DbType.String, ParameterDirection.Input); return(Executar("SP_LANCHE_INSERIR", parameters, CommandType.StoredProcedure)); } catch (Exception ex) { throw new Exception(ex.Message); } finally { Dispose(); } }
public ActionResult Create(LancheModel lanche) { try { _restRequest.Resource = "Home"; _restRequest.Method = Method.POST; _restRequest.AddJsonBody(lanche); _restClient.Execute(_restRequest); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public void PromocaoMuitaCarne() { //Alface 1 //Bacon 2 //Hamburguer 3 //ovo 4 //Queijo 5 var expected = 6; var valorCarne = 3; PromocaoLogic PromocaoLogic = new PromocaoLogic(); IngredienteLogic IngredienteLogic = new DextraLanches.Logic.Implements.IngredienteLogic(); LancheModel model = new LancheModel(); List <IngredienteModel> ingredientes = new List <IngredienteModel>(); ingredientes = IngredienteLogic.Buscar().Cast <IngredienteModel>().ToList(); model.ListaIngredientes.Add(new IngredienteModel() { Nome = "Hambúrguer de carne", Descricao = "Hambúrguer de carne", ID = 3, Preco = 3.00M }); model.ListaIngredientes.Add(new IngredienteModel() { Nome = "Hambúrguer de carne", Descricao = "Hambúrguer de carne", ID = 3, Preco = 3.00M }); model.ListaIngredientes.Add(new IngredienteModel() { Nome = "Hambúrguer de carne", Descricao = "Hambúrguer de carne", ID = 3, Preco = 3.00M }); model = (LancheModel)PromocaoLogic.BuscarPorLanche(model); var result = PromocaoLogic.TCalcularDescontoMuitaCarne((LancheModel)model, valorCarne); Assert.AreEqual(expected, result); }
public LancheModel XBurguer() { List <IngredienteModel> ing = new List <IngredienteModel>(); LancheModel lanche = new LancheModel(); ing.Add(GetIngredientePorId(1)); ing.Add(GetIngredientePorId(2)); double total = ing.Sum(x => x.Preco); lanche.Id = 2; lanche.Nome = "X-Burguer"; lanche.Preco = total; //lanche.Imagem = "/images/xburguer.png"; lanche.Ingredientes = ing; return(lanche); }
public BaseModel ConvertEntityToModel(BaseEntity e) { LancheModel m = new LancheModel(); m.Nome = e.Nome; m.Descricao = e.Descricao; m.ID = e.ID; m.ContemPromocao = ((LancheEntity)e).ContemPromocao; m.PrecoPromocional = ((LancheEntity)e).PrecoPromocional; m.PromocaoUtilizada = ((LancheEntity)e).PromocaoUtilizada != null ? (PromocaoModel)this.PromocaoLogic.ConverteEntityToModel(((LancheEntity)e).PromocaoUtilizada) : m.PromocaoUtilizada; foreach (var ingrediente in ((LancheEntity)e).Ingredientes) { m.ListaIngredientes.Add((IngredienteModel)IngredienteLogic.ConvertEntityToModel(ingrediente)); m.Ingredientes += ", " + ingrediente.Nome; } return(m); }
public LancheModel XEggBacon() { List <IngredienteModel> ing = new List <IngredienteModel>(); LancheModel lanche = new LancheModel(); string ingString = ""; ing.Add(GetIngredientePorId(1)); ing.Add(GetIngredientePorId(2)); ing.Add(GetIngredientePorId(3)); ing.Add(GetIngredientePorId(4)); double total = ing.Sum(x => x.Preco); lanche.Id = 4; lanche.Nome = "X-Egg Bacon"; lanche.Preco = total; //lanche.Imagem = "/images/xeggbacon.png"; lanche.Ingredientes = ing; return(lanche); }
/// <summary> /// Método para receber uma lista de ingredientes e montar um lanche. /// Este método não aplica a promoção. /// </summary> /// <param name="?"></param> /// <returns></returns> public LancheModel MontarLanche(List <long> Ingredientes) { List <IngredienteModel> ListaIngredientes = new List <IngredienteModel>(); for (int i = 0; i < Ingredientes.Count; i++) { ListaIngredientes.Add((IngredienteModel)this.IngredienteLogic.Buscar(Ingredientes[i])); } LancheModel LancheMontado = new LancheModel(); LancheMontado.Nome = "Meu Lanche"; LancheMontado.Descricao = "Lanche montado pelo cliente."; LancheMontado.ListaIngredientes = ListaIngredientes; LancheMontado = (LancheModel)this.PromocaoLogic.BuscarPorLanche(LancheMontado); return(LancheMontado); }
/// <summary> /// Método para receber um lanche e verificar as promoções para este lanche. /// </summary> /// <param name="LancheModel"></param> /// <returns></returns> public Models.Abstraction.BaseModel BuscarPorLanche(LancheModel LancheModel) { if (LancheModel.ListaIngredientes.Count > 0) { this.PromocaoLight(LancheModel); this.PromocaoMuitaCarne(LancheModel); this.PromocaoMuitoQueijo(LancheModel); } if (LancheModel.Promocoes.Count > 0) { var promo = LancheModel.Promocoes.Max(p => p.ID); LancheModel.ContemPromocao = true; switch (promo) { case 1: LancheModel.PrecoPromocional = this.CalcularDescontoLight(LancheModel); LancheModel.PromocaoUtilizada = LancheModel.Promocoes.Where(p => p.ID == 1).First(); break; case 3: LancheModel.PrecoPromocional = this.CalcularDescontoMuitaCarne(LancheModel); LancheModel.PromocaoUtilizada = LancheModel.Promocoes.Where(p => p.ID == 3).First(); break; case 2: LancheModel.PrecoPromocional = this.CalcularDescontoMuitoQueijo(LancheModel); LancheModel.PromocaoUtilizada = LancheModel.Promocoes.Where(p => p.ID == 2).First(); break; } } return(LancheModel); }
public decimal TCalcularDescontoLight(LancheModel lanche) { return(lanche.Preco - ((10 * lanche.Preco) / 100)); }
public LancheModel Post(LancheModel lanche) { var result = _service.InsertLanche(lanche); return(result); }