//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; } } }
//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(); } }