//Ação de apertar tecla no grid
        private void dataGridVenda_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            //Verifica se foi apertado o delete
            if (e.Key == Key.Delete)
            {
                //Menssagem de confirmação
                if (MessageBox.Show("Deseja apagar a venda de " + VendaSelecionada.Quantidade + " itens do tipo " + VendaSelecionada.Modelo + "?", "Confirmação", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    //Habilita deletar as linhas
                    dataGridVenda.CanUserDeleteRows = true;

                    //Variavel de contexto
                    ModelSapatos ctx = new ModelSapatos();

                    //Busca o dado no contexto pelo ID
                    Venda ToDelete = ctx.vendas.Find(VendaSelecionada.ID);

                    //Marca como deletado
                    ctx.Entry(ToDelete).State =
                        System.Data.Entity.EntityState.Deleted;

                    //Salva alterações
                    ctx.SaveChanges();
                }
                else
                {
                    //Impede de deletar os dados do grid
                    dataGridVenda.CanUserDeleteRows = false;
                }
            }
        }
        //Ação de apertar tecla no grid
        private void GridPessoaJuridica_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            //Verifica se é a tecla delete
            if (e.Key == Key.Delete)
            {
                //Menssagem de confirmação
                if (MessageBox.Show("Deseja apagar a pessoa " + PessoaJuridicaSelecionada.Nome + "?", "Confirmação", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    //Habilita deletar linhas
                    gridPessoaJuridica.CanUserDeleteRows = true;

                    //Variavel de contexto
                    ModelSapatos ctx = new ModelSapatos();

                    //Busca a pessoa no contexto pelo ID
                    PessoaJuridica ToDelete = ctx.pessoasJuridicas.Find(PessoaJuridicaSelecionada.ID);

                    //Marca como deletada
                    ctx.Entry(ToDelete).State =
                        System.Data.Entity.EntityState.Deleted;

                    //Salva alterações
                    ctx.SaveChanges();
                }
                else
                {
                    //Impede o usuário de deletar linhas
                    gridPessoaJuridica.CanUserDeleteRows = false;
                }
            }
        }
        //Ação ao apertar tecla no grid
        private void GridPessoaFisica_KeyDown(object sender, KeyEventArgs e)
        {
            //Verifica se foi pressionado o delete
            if (e.Key == Key.Delete)
            {
                //Menssagem de confirmação
                if (MessageBox.Show("Deseja apagar a pessoa " + PessoaFisicaSelecionada.Nome + "?", "Confirmação", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    //Habilita deletar linhas
                    gridPessoaFisica.CanUserDeleteRows = true;

                    //Variavel de contexto
                    ModelSapatos ctx = new ModelSapatos();

                    //Instancia uma variavel vinda do contexto, procurando pelo ID
                    PessoaFisica ToDelete = ctx.pessoasFisicas.Find(PessoaFisicaSelecionada.ID);

                    //Marca o dado como deletado
                    ctx.Entry(ToDelete).State =
                        System.Data.Entity.EntityState.Deleted;

                    //Executa alterações
                    ctx.SaveChanges();
                }
                else
                {
                    //Impossibilita o usuário de deletar as linhas
                    gridPessoaFisica.CanUserDeleteRows = false;
                }
            }
        }
        //Função de apertar tecla no grid
        private void gridSapato_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            //Verifica se foi apertado delete
            if (e.Key == Key.Delete)
            {
                //Menssagem de confirmação
                if (MessageBox.Show("Deseja apagar o sapato " + SapatoSelecionado.Nome + "?", "Confirmação", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    //Habilita deletar da grid
                    gridSapato.CanUserDeleteRows = true;

                    //Variavel de contexto
                    ModelSapatos ctx = new ModelSapatos();

                    //Busca o sapato no contexto pelo ID
                    Sapato ToDelete = ctx.sapatos.Find(SapatoSelecionado.ID);

                    //Marca como deleted
                    ctx.Entry(ToDelete).State =
                        System.Data.Entity.EntityState.Deleted;

                    //Salva as alterações
                    ctx.SaveChanges();
                }
                else
                {
                    //Desabilita o usuário deletar linhas
                    gridSapato.CanUserDeleteRows = false;
                }
            }
        }
        //Ação de clicar no botão salvar
        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            //Variavel de contexto
            ModelSapatos ctx = new ModelSapatos();

            //Verifica se todos os campos estão preenchidos
            if (TamanhoTemp == null || TamanhoTemp.Tamanho == null)
            {
                MessageBox.Show("Preencha todos os campos", "Aviso", MessageBoxButton.OK);
            }
            else
            {
                //Verifica se o sapato é nulo
                if (SapatoSelecionado != null && SapatoSelecionado.ID > 0)
                {
                    //Busca no banco um tamanho igual ao informado e que pertença ao sapato informado
                    var tamanho = ctx.tamanhosSapatos.Where(t => t.SapatoId == SapatoSelecionado.ID).Where(t => t.Tamanho == TamanhoTemp.Tamanho).Select(t => t).ToList();

                    //Verifica se retornou resultados
                    if (tamanho.Count() == 0)
                    {
                        //Instancia novo tamanho de sapato
                        TamanhoSelecionado = new TamanhoSapato();

                        //Atribui valores
                        TamanhoSelecionado.SapatoId   = SapatoSelecionado.ID;
                        TamanhoSelecionado.Tamanho    = TamanhoTemp.Tamanho;
                        TamanhoSelecionado.Quantidade = QuantidadeInfo;
                        TamanhoSelecionado.Sapato     = SapatoSelecionado;

                        //Adciona ao contexto
                        ctx.Entry(SapatoSelecionado).State = System.Data.Entity.EntityState.Unchanged;
                        ctx.tamanhosSapatos.Add(TamanhoSelecionado);
                    }
                    else
                    {
                        //Busca no contexto um tamanho pelo ID
                        TamanhoSapato ToSave = ctx.tamanhosSapatos.Find(tamanho[0].ID);

                        //Altera a quantidade
                        ToSave.Quantidade = ToSave.Quantidade + QuantidadeInfo;
                    }

                    //Salva alterações
                    ctx.SaveChanges();

                    //Instancia nova janela de sapatos
                    WindowSapato window = new WindowSapato();

                    //Menssagem de sucesso
                    MessageBox.Show("Tamanho cadastrado com sucesso", "Sucesso", MessageBoxButton.OK);

                    //Mostra a janela de sapatos
                    window.Show();

                    //Fecha essa janela
                    this.Close();
                }
            }
        }