public void Insert(Pedido pedido)
        {
            using(Context db = new Context())
            {
                OpcionalPedido opcionalPedido;

                // Insere os opcionais selecionados

                if (pedido.SelectedOpcionais != null)
                {
                    for (short i = 0; i < pedido.SelectedOpcionais.Length; i++)
                    {
                        opcionalPedido = new OpcionalPedido() { OpcionalId = pedido.SelectedOpcionais[i], PedidoId = pedido.Id };
                        db.OpcionalPedido.Add(opcionalPedido);
                    }
                }

                db.Pedido.Add(pedido);

                db.SaveChanges();
            }
        }
        public void Update(Pedido pedido)
        {
            using(Context db = new Context())
            {
                OpcionalPedido opcionalPedido;

                // Remove todos os opcionais

                var opcionais = from op in db.OpcionalPedido
                                where op.PedidoId == pedido.Id
                                select op;

                foreach (var opcional in opcionais)
                {
                    db.OpcionalPedido.Remove(opcional);
                }

                // Inclui todos os opcionais

                if (pedido.SelectedOpcionais != null)
                {
                    for (short i = 0; i < pedido.SelectedOpcionais.Length; i++)
                    {
                        opcionalPedido = new OpcionalPedido() { OpcionalId = pedido.SelectedOpcionais[i], PedidoId = pedido.Id };
                        db.OpcionalPedido.Add(opcionalPedido);
                    }
                }

                db.Entry(pedido).State = EntityState.Modified;

                db.SaveChanges();
            }
        }