//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();
                }
            }
        }
        //Função de apertar tecla no grid
        private void GridTamanho_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            //Verifica se foi apertado delete
            if (e.Key == Key.Delete && TamanhoTemp != null)
            {
                //Menssagem de confirmação
                if (MessageBox.Show("Deseja apagar o tamanho " + TamanhoTemp.Tamanho + "?", "Confirmação", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    //Habilita deletar da grid
                    GridTamanho.CanUserDeleteRows = true;

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

                    //Busca o sapato no contexto pelo ID
                    TamanhoSapato ToDelete = ctx.tamanhosSapatos.Find(TamanhoTemp.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
                    GridTamanho.CanUserDeleteRows = false;
                }
            }
        }
Example #3
0
        //Ação do botão de salvar
        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            //Variavel de contexto
            ModelSapatos ctx = new ModelSapatos();

            //Busca na lista de tamanhos do sapato, o tamanho selecionado
            var tamanhoToSelect = VendaSelecionada.sapato.Tamanhos.Where(t => t == TamanhoSelecionado).Select(t => t).ToList();

            //Verifica se tem a quantidade em estoque
            if (tamanhoToSelect[0].Quantidade < VendaSelecionada.Quantidade)
            {
                //Menssagem de erro
                MessageBox.Show("Quantidade insuficiente desse item, temos " + tamanhoToSelect[0].Quantidade + " no estoque!", "Aviso", MessageBoxButton.OK);
            }
            else
            {
                //Seta valores
                VendaSelecionada.sapatoId      = VendaSelecionada.sapato.ID;
                VendaSelecionada.Modelo        = VendaSelecionada.sapato.Nome;
                VendaSelecionada.PrecoUnitario = VendaSelecionada.sapato.Preco;
                VendaSelecionada.PrecoFinal    = VendaSelecionada.sapato.Preco * VendaSelecionada.Quantidade;
                VendaSelecionada.sapato        = null;
                VendaSelecionada.pessoaId      = VendaSelecionada.cliente.ID;
                VendaSelecionada.cliente       = null;
                VendaSelecionada.Tamanho       = tamanhoToSelect[0].Tamanho;

                //Instancia tamanho selecinado buscando ele do banco
                TamanhoSapato ToEdit = ctx.tamanhosSapatos.Find(tamanhoToSelect[0].ID);

                //Retira a quantidade vendida
                ToEdit.Quantidade = ToEdit.Quantidade - VendaSelecionada.Quantidade;

                //Adciona a venda a lista
                ctx.vendas.Add(VendaSelecionada);

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

                //Menssagem de erro
                MessageBox.Show("Venda realizada com sucesso", "Sucesso", MessageBoxButton.OK);

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