示例#1
0
        public override string ToString()
        {
            string retorno = "Pizza: " + TamanhoPizza.ToString();

            if (Sabores.Count < 1)
            {
                return(retorno);
            }

            if (Sabores.Count == 1)
            {
                retorno += " | Sabor";
            }

            if (Sabores.Count > 1)
            {
                retorno += " | Sabores";
            }

            foreach (var item in Sabores)
            {
                retorno += " - " + item.Descricao;
            }

            return(retorno);
        }
示例#2
0
        public static Pizza ObterPizzaComTamanhoEDoisSabores(TamanhoPizza tamanho, Sabor sabor1, Sabor sabor2)
        {
            Pizza pizza = new Pizza();

            pizza.Sabor1 = sabor1;
            pizza.Sabor2 = sabor2;
            return(pizza);
        }
示例#3
0
        public static Pizza ObterPizzaComTamanhoEUmSabor(TamanhoPizza tamanho, Sabor sabor)
        {
            Pizza pizza = new Pizza();

            pizza.Tamanho = tamanho;
            pizza.Sabor1  = sabor;
            return(pizza);
        }
        public JsonResult EscolhaSabor(int sabor, int pedidoId)
        {
            try
            {
                SaborPizza   saborPizza      = new SaborPizza();
                TamanhoPizza tamanhoPizza    = new TamanhoPizza();
                var          getDadosSabor   = saborPizza.MetodoLista().Where(x => x.ID == sabor).FirstOrDefault();
                var          pedido          = db.Pedidos.Find(pedidoId);
                var          getDadosTamanho = tamanhoPizza.MetodoLista().Where(x => x.ID == pedido.TamanhoId).FirstOrDefault();
                pedido.SaborId         = sabor;
                pedido.TempoPreparo    = getDadosTamanho.TempoPreparo(sabor);
                pedido.Adicionais      = new List <PedidoAdicional>();
                db.Entry(pedido).State = EntityState.Modified;
                db.SaveChanges();
                return(Json(pedido, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json("Erro ao Efetuar o Pedido, tente novamente"));

                throw;
            }
        }
        public JsonResult EscolhaTamanho(int tamanho)
        {
            try
            {
                TamanhoPizza tamanhoPizza    = new TamanhoPizza();
                var          getDadosTamanho = tamanhoPizza.MetodoLista().Where(x => x.ID == tamanho).FirstOrDefault();
                Pedido       pedido          = new Pedido();
                pedido.Id         = Utils.Utils.GetNewCode("Pedidoes", "Id", "");
                pedido.TamanhoId  = tamanho;
                pedido.ValorPizza = getDadosTamanho.Valor;
                pedido.ValorTotal = pedido.ValorPizza;
                pedido.Adicionais = new List <PedidoAdicional>();
                db.Pedidos.Add(pedido);
                db.SaveChanges();
                return(this.Json(pedido, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json("Erro ao Efetuar o Pedido, tente novamente"));

                throw;
            }
        }
 protected PizzaBase(string nome, TamanhoPizza tamanho, decimal preco)
 {
     Nome    = nome;
     Tamanho = tamanho;
     Preco   = preco;
 }
 public PizzaMussarela(string nome, TamanhoPizza tamanho, decimal preco) : base(nome, tamanho, preco)
 {
 }
示例#8
0
 public PizzaPortuguesa(string nome, TamanhoPizza tamanho, decimal preco) : base(nome, tamanho, preco)
 {
 }
        public PizzaBase CriarPizzaEspecifica(TipoPizza tipo, TamanhoPizza tamanho)
        {
            PizzaBase pizza;

            switch (tipo)
            {
            case TipoPizza.Calabresa
                when tamanho == TamanhoPizza.Broto:
                pizza = new PizzaCalabresa("Calabresa", TamanhoPizza.Broto, 20m);
                break;

            case TipoPizza.Calabresa
                when tamanho == TamanhoPizza.Media:
                pizza = new PizzaCalabresa("Calabresa", TamanhoPizza.Media, 20m);
                break;

            case TipoPizza.Calabresa
                when tamanho == TamanhoPizza.Grande:
                pizza = new PizzaCalabresa("Calabresa", TamanhoPizza.Grande, 20m);
                break;

            case TipoPizza.Mussarela:
                switch (tamanho)
                {
                case TamanhoPizza.Grande:
                    pizza = new PizzaMussarela("Mussarela", TamanhoPizza.Grande, 40m);
                    break;

                case TamanhoPizza.Media:
                    pizza = new PizzaMussarela("Mussarela", TamanhoPizza.Media, 40m);
                    break;

                case TamanhoPizza.Broto:
                    pizza = new PizzaMussarela("Mussarela", TamanhoPizza.Broto, 40m);
                    break;

                default:
                    throw new NotImplementedException();
                }
                break;

            case TipoPizza.Portuguesa
                when tamanho == TamanhoPizza.Broto:
                pizza = new PizzaPortuguesa("Portuguesa", TamanhoPizza.Broto, 45m);
                break;

            case TipoPizza.Portuguesa
                when tamanho == TamanhoPizza.Media:
                pizza = new PizzaPortuguesa("Portuguesa", TamanhoPizza.Media, 45m);
                break;

            case TipoPizza.Portuguesa
                when tamanho == TamanhoPizza.Grande:
                pizza = new PizzaPortuguesa("Portuguesa", TamanhoPizza.Grande, 45m);
                break;

            default:
                throw new NotImplementedException();
            }

            return(pizza);
        }
示例#10
0
        public override string ToString()
        {
            var plural = QuantidadePizza > 1 ? "s" : "";

            return($"{QuantidadePizza} pizza{plural} de {Pizza.Nome} {TamanhoPizza.ToString()}{plural}");
        }
示例#11
0
 public void CriarPizza(TipoPizza tipoPizza, TamanhoPizza tamanho)
 {
     _pizza = _pizzaFactory.CriarPizzaEspecifica(tipoPizza, tamanho);
     _pizza.AssarPizza();
     _pizza.DeliveryPizza();
 }
示例#12
0
 public PizzaCalabresa(string nome, TamanhoPizza tamanho, decimal preco) : base(nome, tamanho, preco)
 {
 }