示例#1
0
        public Status Post([FromBody] string[] values)
        {
            string cliente    = values[0];
            string tamanho    = values[1];
            string sabor      = values[2];
            int    id_cliente = Convert.ToInt32(values[3]);

            // Instancia objeto da classe Pedido onde o tempo de preparo e preço serãp calculados pela classe Pizza

            string status_oper = "AGUARDANDO";
            Pedido pedido      = new Pedido(id_cliente, cliente, tamanho, sabor);

            Rpedidos rpedido = new Rpedidos
            {
                id_cliente    = pedido.getIdCliente(),
                nomecliente   = pedido.nomeCliente,
                tamanho_pizza = pedido.tamanho,
                sabor_pizza   = pedido.sabor,
                extras_pizza  = pedido.personal,
                val_extras    = pedido.val_personal,
                valor_total   = pedido.getValorTotal().ToString("0.00"),
                tempo_prep    = pedido.getTempoPreparo().ToString() + " min",
                status        = "CONFIRMADO"
            };

            if ((pedido.pizzaPedido.tamanhos_validos.Contains(tamanho) ? true : false) &&
                (pedido.pizzaPedido.sabores_validos.Contains(sabor) ? true : false))
            {
                db.Rpedidos.Add(rpedido);
                db.SaveChanges();
                status_oper = "CONFIRMADO";
            }
            else
            {
                status_oper = "RECUSADO";
            }

            Status status = new Status
            {
                Operacao      = "INCLUSÃO",
                Numero_Pedido = rpedido.Id,
                Status_Op     = status_oper
            };

            return(status);
        }
示例#2
0
        public Status CancelaPedido([FromBody] int id) // POST
        {
            Rpedidos pedidoDB     = db.Rpedidos.Find(id);
            string   texto_status = "CANÇELADO";

            if (pedidoDB != null)
            {
                db.Rpedidos.Remove(pedidoDB);
                db.SaveChanges();
            }
            else
            {
                texto_status = "ERRO: PEDIO INEXISTENTE";
            }
            Status status = new Status
            {
                Operacao      = "CANÇELAMENTO DE PEDIDO",
                Numero_Pedido = id,
                Status_Op     = texto_status
            };

            return(status);
        }
示例#3
0
        public Rpedidos Get(int id)
        {
            Rpedidos rpedidos = db.Rpedidos.Find(id);

            return(rpedidos);
        }
示例#4
0
        public Status AddExtra([FromBody] string[] person_extra) //POST
        {
            int    id    = Convert.ToInt32(person_extra[0]);     // identificação do pedido no banco de dados
            string extra = person_extra[1];                      // personalização extra a ser adicionada na pizza do pedido

            Rpedidos pedidoDB = db.Rpedidos.Find(id);

            Boolean extra_adicionado = false;
            Boolean extra_repetido   = false;
            string  texto_status     = "";

            if (pedidoDB != null)
            {
                Pedido pedido = new Pedido(Convert.ToInt32(pedidoDB.id_cliente), pedidoDB.nomecliente, pedidoDB.tamanho_pizza.TrimEnd(), pedidoDB.sabor_pizza.TrimEnd());
                pedido.id = pedidoDB.Id;

                if (pedidoDB.extras_pizza != "")
                {
                    string[] personalizacoesDB = pedidoDB.extras_pizza.Split(',');
                    int      index             = 0;
                    foreach (string personalizacao in personalizacoesDB)
                    {
                        if (personalizacao == "-" && index < 3 && !extra_repetido) // apenas 3 personalizações
                        {
                            Boolean ad_result = pedido.pizzaPedido.addPersonal(extra);
                            extra_adicionado = ad_result;
                            index            = 3;
                        }
                        else if (personalizacao != "-" && index < 3) // apenas 3 personalizações
                        {
                            pedido.pizzaPedido.addPersonal(personalizacao);
                            if (extra == personalizacao)
                            {
                                extra_repetido = true;
                            }
                            index = index + 1;
                        }
                    }
                }

                if (extra_adicionado && !extra_repetido)
                {
                    pedidoDB.extras_pizza = pedido.getPersonal();
                    pedidoDB.val_extras   = pedido.getValPersonal();
                    pedidoDB.valor_total  = pedido.getValorTotal().ToString("0.00");
                    pedidoDB.tempo_prep   = pedido.getTempoPreparo().ToString() + " min";

                    db.Entry(pedidoDB).State = EntityState.Modified;
                    db.SaveChanges();
                    texto_status = "CONFIRMADO";
                }
                else
                {
                    texto_status = "EXTRA REPETIDO, INVÁLIDO OU LIMITE ATINGIDO - NÃO ADICIONADO";
                }

                Status status = new Status
                {
                    Operacao      = "ADIÇÃO DE EXTRA",
                    Numero_Pedido = pedido.id,
                    Status_Op     = texto_status
                };
                return(status);
            }
            else
            {
                Status status = new Status
                {
                    Operacao      = "ADIÇÃO DE EXTRA",
                    Numero_Pedido = id,
                    Status_Op     = "ERRO: PEDIDO INEXISTENTE"
                };
                return(status);
            }
        }