private void ButtonDeletar_Click(object sender, System.Windows.RoutedEventArgs e) { var context = new ERPDBModelContainer(); foreach (ProdutoAdapter prod in DataGridProduto.SelectedItems) { var p = context.ProdutoSet.Single(o => o.Codigo == prod.Codigo); if (p.ProdutoVendaItem.Count > 0) { if (MessageBox.Show("O produto " + p.Nome + " está presente em uma ou mais vendas, se remover este produto as vendas não " + "irão apresentar mais o produto. Deseja continuar?", "Autorização", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { p.ProdutoVendaItem.Clear(); context.ProdutoSet.Remove(p); Controller.Log("Deletou o Produto: " + p.Nome + " removendo-o as vendas realizadas anteriormente"); } } else { context.ProdutoSet.Remove(p); Controller.Log("Deletou o Produto: " + p.Nome); } } context.SaveChanges(); Update(sender, e); }
public ActionResult Comprar(string id, bool post) { try { var qtd = Convert.ToInt32(Request["txtQtd"].ToString()); if (Session["carrinho"] == null) { Session.Add("carrinho", new List <ProdutoVendaItem>()); } var ctx = new ERPDBModelContainer(); var exists = false; foreach (ProdutoVendaItem pvi in (List <ProdutoVendaItem>)Session["carrinho"]) { if (pvi.Produto.Nome == id) { pvi.Quantidade += qtd; exists = true; } } if (!exists) { ((List <ProdutoVendaItem>)Session["carrinho"]).Add(new ProdutoVendaItem() { Produto = ctx.ProdutoSet.Single(o => o.Nome == id), Quantidade = qtd }); } //Response.Redirect("Carrinho"); return(Redirect("/Home/Carrinho")); } catch { return(HttpNotFound()); } }
private void Window_ContentRendered(object sender, EventArgs e) { AutoCompleteBoxCategoria.ItemFilter += (s, o) => (o as Categoria).Nome.ToString().Contains(s); var ctx = new ERPDBModelContainer(); AutoCompleteBoxCategoria.ItemsSource = ctx.CategoriaSet.ToList(); var l = new List <String>(); foreach (Fornecedor f in ctx.FornecedorSet.ToList()) { l.Add(f.Nome); } comboBoxFornecedores.ItemsSource = l; ctx.Dispose(); if (edit_mode) { LabelTitle.Content = "Editar Produto " + produto_edit.Nome; textBoxCodigo.Text = produto_edit.Codigo.ToString(); textBoxNome.Text = produto_edit.Nome; textBoxPrecoCusto.Text = produto_edit.PrecoCusto.ToString("0.00", CultureInfo.InvariantCulture); textBoxPrecoVista.Text = produto_edit.PrecoVista.ToString("0.00", CultureInfo.InvariantCulture); textBoxPrecoPrazo.Text = (produto_edit.PrecoPrazo != null) ? ((double)produto_edit.PrecoPrazo).ToString("0.00", CultureInfo.InvariantCulture) : "0"; textBoxEstoque.Text = produto_edit.Quantidade.ToString(); textBoxDescricao.Text = produto_edit.Descricao; AutoCompleteBoxCategoria.Text = produto_edit.Nome; comboBoxFornecedores.SelectedItem = (produto_edit.Fornecedor != null) ? produto_edit.Fornecedor.Nome : ""; } }
public JsonResult Products(List <Produto> produtos) { var r = new List <Produto>(); if (produtos != null) { using (var ctx = new ERPDBModelContainer()) { var l = ctx.ProdutoSet.ToList(); foreach (Produto p in produtos) { if (l.FirstOrDefault(o => o.Codigo == p.Codigo) == null) { ctx.ProdutoSet.Add(p); ctx.SaveChanges(); } else { r.Add(p); } } } } else { r = null; } return(Json(r)); }
public JsonResult Products() { var ctx = new ERPDBModelContainer(); var temp = new List <dynamic>(); foreach (Produto p in ctx.ProdutoSet.ToList()) { if (p.Categoria != null) { temp.Add(new { Id = p.Id, Nome = p.Nome, PrecoCusto = p.PrecoCusto, PrecoVista = p.PrecoVista, PrecoPrazo = p.PrecoPrazo, Quantidade = p.Quantidade, DisponivelLojaVirtual = p.DisponivelLojaVirtual, Descricao = p.Descricao, UnidadeMedida = p.UnidadeMedida, Imagem = p.Imagem, Codigo = p.Codigo, ProdutoVendaItem = p.ProdutoVendaItem, Categoria = new { Id = p.Categoria.Id, Nome = p.Categoria.Nome } }); } else { temp.Add(new { Id = p.Id, Nome = p.Nome, PrecoCusto = p.PrecoCusto, PrecoVista = p.PrecoVista, PrecoPrazo = p.PrecoPrazo, Quantidade = p.Quantidade, DisponivelLojaVirtual = p.DisponivelLojaVirtual, Descricao = p.Descricao, UnidadeMedida = p.UnidadeMedida, Imagem = p.Imagem, Codigo = p.Codigo, ProdutoVendaItem = p.ProdutoVendaItem, Categoria = p.Categoria }); } } return(Json(temp, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: var ctx = new ERPDBModelContainer(); Session.Add("usuario", ctx.UsuarioSet.Single(o => o.Email == model.Email)); return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
private void ButtonEditar_Click(object sender, RoutedEventArgs e) { if (DataGridProduto.SelectedItems.Count == 1) { if (p == null) { using (var ctx = new ERPDBModelContainer()) { p = new AdicionarProdutoWindow(ctx.ProdutoSet.Single(o => o.Id == ((ProdutoAdapter)DataGridProduto.SelectedItem).Id)); } p.Closed += (a, b) => p = null; p.buttonAdd.Click += Update; p.Show(); } else if (p.IsVisible) { p.Focus(); } else { p.Show(); } } else { MessageBox.Show("Você precisa selecionar apenas 1 Item"); } }
private void Window_ContentRendered(object sender, EventArgs e) { AutoCompleteBoxBusca.ItemFilter += (s, o) => (o as Produto).Codigo.ToString().Contains(s) || (o as Produto).Nome.Contains(s); var ctx = new ERPDBModelContainer(); AutoCompleteBoxBusca.ItemsSource = ctx.ProdutoSet.ToList(); labelName.Content = Controller.LoggedUser.Nome; loaded = true; ctx.Dispose(); }
private void Update(object sender, RoutedEventArgs e) { var context = new ERPDBModelContainer(); var l = new List <FornecedorAdapter>(); foreach (var f in context.FornecedorSet.ToList()) { l.Add(new FornecedorAdapter(f)); } DataGridFornecedores.ItemsSource = (l.Count > 0) ? l : null; }
private void Update(object sender, RoutedEventArgs e) { var context = new ERPDBModelContainer(); var l = new List <VendaAdapter>(); foreach (var v in context.VendaSet.ToList()) { l.Add(new VendaAdapter(v)); } DataGridVendas.ItemsSource = (l.Count > 0) ? l : null; }
private void Update(object sender, RoutedEventArgs e) { var context = new ERPDBModelContainer(); var l = new List <ProdutoAdapter>(); foreach (var p in context.ProdutoSet.ToList()) { l.Add(new ProdutoAdapter(p)); } DataGridProduto.ItemsSource = (l.Count > 0) ? l : null; }
public ActionResult Produtos() { ViewBag.Message = "Produtos"; StartSession(); var ctx = new ERPDBModelContainer(); return(View(new ProdutosCategoriasModelAdapter() { Produtos = ctx.ProdutoSet.ToList(), Categorias = ctx.CategoriaSet.ToList() })); }
private void VendasButtonClick(object sender, RoutedEventArgs e) { this.ControlGrid.Children.Clear(); this.ControlGrid.Children.Add(new VendaView()); try { using (var ctx = new ERPDBModelContainer()) { MessageBox.Show(Controller.PostJsonProduto(ctx.ProdutoSet.ToList()).ToString()); } } catch { } }
public JsonResult Vendas(string apikey) { if (apikey == "udtcapituntn") { var ctx = new ERPDBModelContainer(); return(Json(ctx.VendaSet.ToList())); } else { return(Json("")); } }
public ActionResult Carrinho() { if (Session["carrinho"] == null) { return(Content("O Carrinho está Vazio!")); } var ctx = new ERPDBModelContainer(); return(View(new PVIsCategoriasModelAdapter() { PVI = (List <ProdutoVendaItem>)Session["carrinho"], Categoria = ctx.CategoriaSet.ToList() })); }
private void ButtonDeletar_Click(object sender, System.Windows.RoutedEventArgs e) { var context = new ERPDBModelContainer(); foreach (UsuarioAdapter usuario in DataGridUsuarios.SelectedItems) { var u = context.UsuarioSet.Single(o => o.Id == usuario.Id); context.UsuarioSet.Remove(u); Controller.Log("Deletou o Usuario: " + u.Nome); } context.SaveChanges(); Update(sender, e); }
private void Update(object sender, RoutedEventArgs e) { var context = new ERPDBModelContainer(); var l = new List <UsuarioAdapter>(); foreach (Usuario u in context.UsuarioSet.OfType <Funcionario>().ToList()) { if (!(u is Administrador)) { l.Add(new UsuarioAdapter(u)); } } DataGridUsuarios.ItemsSource = (l.Count > 0) ? l : null; }
private void StartSession() { if (User.Identity.IsAuthenticated) { if (Session["username"] == null) { using (var ctx = new ERPDBModelContainer()) { var u = ctx.UsuarioSet.Single(o => o.Email == User.Identity.Name); Session["username"] = u.Nome; Session["id"] = u.Id; } } } }
private void ButtonDeletar_Click(object sender, System.Windows.RoutedEventArgs e) { var context = new ERPDBModelContainer(); foreach (FornecedorAdapter fornecedor in DataGridFornecedores.SelectedItems) { var p = context.FornecedorSet.Single(o => o.Id == fornecedor.Id); p.Produto.Clear(); Controller.Log("Deletou o Fornecedor: " + fornecedor.Nome); context.FornecedorSet.Remove(p); } context.SaveChanges(); Update(sender, e); }
private void ButtonEstoque_Click(object sender, System.Windows.RoutedEventArgs e) { var dialog = new EstoqueDialog(); if (dialog.ShowDialog() == true) { var ctx = new ERPDBModelContainer(); ctx.ProdutoSet.First(p => p.Id == dialog.getProduto.Value.Id).Quantidade += dialog.getProduto.Key; ctx.SaveChanges(); Update(sender, e); Controller.Log("Atualizou o Estoque: " + dialog.getProduto.Key + " " + dialog.getProduto.Value.Nome); MessageBox.Show("Estoque atualizado com sucesso"); } }
private void DataGridFornecedores_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { if (e.EditAction == DataGridEditAction.Commit) { var context = new ERPDBModelContainer(); var fornecedor = (Fornecedor)e.Row.Item; var original = context.FornecedorSet.Single(o => o.Id == fornecedor.Id); if (original != null) { context.Entry(original).CurrentValues.SetValues(fornecedor); context.SaveChanges(); } Update(sender, null); } }
private void Window_ContentRendered(object sender, EventArgs e) { var ctx = new ERPDBModelContainer(); var l = new List <ComboBoxItem>(); foreach (Produto p in ctx.ProdutoSet.ToList()) { var c = new ComboBoxItem() { Content = p.Nome, Tag = p }; l.Add(c); } ComboBoxProduto.ItemsSource = l; }
public ActionResult Carrinho(bool post) { if (Request.IsAuthenticated) { try { var venda = new Venda() { Data = DateTime.Now, Total = 0 }; ERPDBModelContainer ctx = new ERPDBModelContainer(); var l = new List <ProdutoVendaItem>(); foreach (ProdutoVendaItem pvi in (List <ProdutoVendaItem>)Session["carrinho"]) { var pr = ctx.ProdutoSet.Single(p => p.Id == pvi.Produto.Id); ctx.ProdutoSet.Attach(pr); ctx.ProdutoSet.Single(p => p.Id == pvi.Produto.Id).Quantidade -= pvi.Quantidade; l.Add(new ProdutoVendaItem() { Produto = pr, Quantidade = pvi.Quantidade, Venda = null }); venda.Total += pr.PrecoVista * pvi.Quantidade; } venda.ProdutoVendaItem = l; var email = (((Cliente)Session["usuario"]) != null)?((Cliente)Session["usuario"]).Email : User.Identity.Name; ctx.UsuarioSet.OfType <Cliente>() .Single(o => o.Email == email) .Venda .Add(venda); ctx.SaveChanges(); } catch { return(HttpNotFound()); } return(Content("Venda Realizada com sucesso!")); } else { return(Redirect("/Account/Login")); } }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Senha); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); using (var ctx = new ERPDBModelContainer()) { var u = new Cliente() { Nome = model.Nome, Email = model.Email, Senha = model.Senha, Venda = new List <Venda>() }; ctx.UsuarioSet.Add(u); Session.Add("usuario", ctx.UsuarioSet.Single(o => o.Email == model.Email)); ctx.SaveChanges(); } return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
private void LoginThread() { var context = new ERPDBModelContainer(); //Liberar apenas para teste //context.Database.ExecuteSqlCommand("TRUNCATE TABLE UsuarioSet_Administrador"); var query = context.UsuarioSet.OfType <Administrador>().ToList(); if (Controller.LoggedUser == null) { if (query.Count == 0) { Application.Current.Dispatcher.Invoke((Action)(() => { var dialog = new CreateAdminDialog(); foreach (Button b in GridButtons.Children) { b.IsEnabled = true; } LoadingGrid.Visibility = Visibility.Collapsed; Menu.IsEnabled = true; if (dialog.ShowDialog() == true) { Controller.LoggedUser = dialog.getAdmin; context.UsuarioSet.Add(Controller.LoggedUser); context.SaveChanges(); } })); } var valid = false; if (Controller.LoggedUser == null) { Application.Current.Dispatcher.Invoke((Action)(() => { foreach (Button b in GridButtons.Children) { b.IsEnabled = true; } LoadingGrid.Visibility = Visibility.Collapsed; Menu.IsEnabled = true; })); while (!valid) { Application.Current.Dispatcher.Invoke((Action)(() => { var dialog = new LoginDialog(); if (dialog.ShowDialog() == true) { var users = context.UsuarioSet.Where(u => u.Nome.ToLower() == dialog.getFuncionario.Nome.ToLower()).ToList(); foreach (Funcionario f in users) { if (f.Senha == dialog.getFuncionario.Senha) { Controller.LoggedUser = f; valid = true; } } } if (Controller.LoggedUser == null) { MessageBox.Show("Usuário Inválido", "Erro ao acessar"); } })); } } } else { context.UsuarioSet.Add(Controller.LoggedUser); context.SaveChanges(); Application.Current.Dispatcher.Invoke((Action)(() => { foreach (Button b in GridButtons.Children) { b.IsEnabled = true; } LoadingGrid.Visibility = Visibility.Collapsed; Menu.IsEnabled = true; })); } Application.Current.Dispatcher.Invoke((Action)(() => { TextBlockNomeUsuario.Text = Controller.LoggedUser.Nome; })); }
private void buttonAdd_Click(object sender, RoutedEventArgs e) { Fornecedor fornecedor = null; var ctx = new ERPDBModelContainer(); try { if (textBoxNome.Text == "") { throw new Exception(); } fornecedor = new Fornecedor() { Nome = textBoxNome.Text }; }catch { MessageBox.Show("Erro ao cadastrar, certifique-se de que todos os campos obrigatórios foram preenchidos corretamente", "Erro ao Cadastrar", MessageBoxButton.OK, MessageBoxImage.Error); fornecedor = null; } if (textBoxTelefone.Text != "") { fornecedor.Telefone = textBoxTelefone.Text; } if (textBoxCelular.Text != "") { fornecedor.Celular = textBoxCelular.Text; } if (textBoxCNPJ.Text != "") { fornecedor.CNPJ = textBoxCNPJ.Text; } Endereco endereco = null; if (textBoxEndereco.Text != "") { if (endereco == null) { endereco = new Endereco(); } endereco.Logradouro = textBoxEndereco.Text; } if (textBoxBairro.Text != "") { if (endereco == null) { endereco = new Endereco(); } endereco.Bairro = textBoxBairro.Text; } if (textBoxCidade.Text != "") { if (endereco == null) { endereco = new Endereco(); } endereco.Cidade = textBoxCidade.Text; } if (textBoxEstado.Text != "") { if (endereco == null) { endereco = new Endereco(); } endereco.Estado = textBoxEstado.Text; } if (textBoxCep.Text != "") { if (endereco == null) { endereco = new Endereco(); } endereco.CEP = textBoxCep.Text; } if (endereco != null) { endereco.Fornecedor = fornecedor; } if (textBoxEmail.Text != "") { fornecedor.Email = textBoxEmail.Text; } if (textBoxObservacoes.Text != "") { fornecedor.Observacoes = textBoxObservacoes.Text; } if (fornecedor != null) { var query = ctx.FornecedorSet.Where(f => f.Nome == fornecedor.Nome).ToList(); if (query.Count == 0) { if (endereco != null) { ctx.EnderecoSet.Add(endereco); } else { ctx.FornecedorSet.Add(fornecedor); } ctx.SaveChanges(); Controller.Log("Adicionou o Fornecedor: " + fornecedor.Nome); if (MessageBox.Show("Fornecedor Cadastrado com Sucesso!\nLimpar informações e cadastrar outro fornecedor?", "Sucesso!", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { buttonLimpar_Click(sender, e); } else { this.Close(); } } else { if (MessageBox.Show("Nome já existente, deseja cadastrar mesmo assim?", "Erro", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { ctx.FornecedorSet.Add(fornecedor); ctx.SaveChanges(); if (MessageBox.Show("Produto Cadastrado com Sucesso!\nLimpar informações e cadastrar outro produto?", "Sucesso!", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { buttonLimpar_Click(sender, e); } else { this.Close(); } } else { this.Close(); } } } }
private void buttonAdd_Click(object sender, RoutedEventArgs e) { Funcionario funcionario = null; var ctx = new ERPDBModelContainer(); try { if (textBoxNome.Text == "") { throw new Exception(); } funcionario = new Funcionario() { Nome = textBoxNome.Text, Senha = Controller.getMD5(textBoxPassword.Password) }; var permissoes = new List <Permissao>(); foreach (CheckBox cb in ListBoxPermissoes.Items) { if ((bool)cb.IsChecked) { permissoes.Add((Permissao)cb.Tag); } } funcionario.Permissao = permissoes; } catch { MessageBox.Show("Erro ao cadastrar, certifique-se de que todos os campos obrigatórios foram preenchidos corretamente", "Erro ao Cadastrar", MessageBoxButton.OK, MessageBoxImage.Error); funcionario = null; } if (textBoxTelefone.Text != "") { funcionario.Telefone = textBoxTelefone.Text; } if (textBoxCelular.Text != "") { funcionario.Celular = textBoxCelular.Text; } if (textBoxCPF.Text != "") { funcionario.Cpf = textBoxCPF.Text; } Endereco endereco = null; if (textBoxEndereco.Text != "") { if (endereco == null) { endereco = new Endereco(); } endereco.Logradouro = textBoxEndereco.Text; } if (textBoxBairro.Text != "") { if (endereco == null) { endereco = new Endereco(); } endereco.Bairro = textBoxBairro.Text; } if (textBoxCidade.Text != "") { if (endereco == null) { endereco = new Endereco(); } endereco.Cidade = textBoxCidade.Text; } if (textBoxEstado.Text != "") { if (endereco == null) { endereco = new Endereco(); } endereco.Estado = textBoxEstado.Text; } if (textBoxCep.Text != "") { if (endereco == null) { endereco = new Endereco(); } endereco.CEP = textBoxCep.Text; } if (endereco != null) { endereco.Usuario = funcionario; } if (textBoxEmail.Text != "") { funcionario.Email = textBoxEmail.Text; } if (funcionario != null) { var query = ctx.UsuarioSet.OfType <Funcionario>().Where(f => f.Nome == funcionario.Nome).ToList(); if (query.Count == 0) { //ctx.UsuarioSet.Add(funcionario); //ctx.UsuarioSet.Attach(endereco.Usuario); if (endereco != null) { ctx.EnderecoSet.Add(endereco); } else { ctx.UsuarioSet.Add(funcionario); } ctx.SaveChanges(); var s = ""; foreach (Permissao p in funcionario.Permissao) { s += "\n - " + p.Descricao; } Controller.Log("Adicionou o Funcionário: " + funcionario.Nome + " com as seguintes permissões:" + s); if (MessageBox.Show("Funcionário Cadastrado com Sucesso!\nLimpar informações e cadastrar outro Funcionário?", "Sucesso!", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { buttonLimpar_Click(sender, e); } else { this.Close(); } } else { MessageBox.Show("Nome já existente", "Erro"); } } }
public ActionResult Comprar(string id) { try { var ctx = new ERPDBModelContainer(); return(View(ctx.ProdutoSet.Single(o => o.Nome == id))); } catch { return(HttpNotFound()); } }
private void buttonAdd_Click(object sender, RoutedEventArgs e) { Produto produto; var context = new ERPDBModelContainer(); try { produto = new Produto() { Codigo = Int32.Parse(textBoxCodigo.Text), Nome = textBoxNome.Text, PrecoCusto = Double.Parse(textBoxPrecoCusto.Text.Substring(1), NumberStyles.Currency, CultureInfo.InvariantCulture), PrecoVista = Double.Parse(textBoxPrecoVista.Text.Substring(1), NumberStyles.Currency, CultureInfo.InvariantCulture), //Categoria = textBoxCategoria.Text, Descricao = textBoxDescricao.Text };//Double.Parse(textBoxPrecoCusto.Text.Substring(1), NumberStyles.Currency, CultureInfo.InvariantCulture) } catch { MessageBox.Show("Erro ao cadastrar, certifique-se de que todos os campos obrigatórios foram preenchidos corretamente", "Erro ao Cadastrar", MessageBoxButton.OK, MessageBoxImage.Error); produto = null; } try { if (produto != null && textBoxPrecoPrazo.IsEnabled && textBoxPrecoPrazo.Text != "$0.00") { produto.PrecoPrazo = Double.Parse(textBoxPrecoPrazo.Text.Substring(1), NumberStyles.Currency, CultureInfo.InvariantCulture); } } catch { MessageBox.Show("Erro ao cadastrar Preço a Prazo, certifique-se de que o valor inserido é maior que 0", "Erro ao Cadastrar", MessageBoxButton.OK, MessageBoxImage.Error); produto = null; } try { if (produto != null && textBoxEstoque.IsEnabled && textBoxEstoque.Text != "" && Double.Parse(textBoxEstoque.Text) >= 0) { produto.Quantidade = Double.Parse(textBoxEstoque.Text); } else { throw new Exception(); } } catch { MessageBox.Show("Erro de Estoque, certifique-se de que o valor inserido é maior que 0", "Erro ao Cadastrar", MessageBoxButton.OK, MessageBoxImage.Error); produto = null; } try { if (produto != null && AutoCompleteBoxCategoria.Text != "") { if (context.CategoriaSet.SingleOrDefault(o => o.Nome == AutoCompleteBoxCategoria.Text) != null) { produto.Categoria = AutoCompleteBoxCategoria.SelectedItem as Categoria; } else { var c = new Categoria() { Nome = AutoCompleteBoxCategoria.Text, Produto = new List <Produto>() }; c.Produto.Add(produto); context.CategoriaSet.Add(c); } } if (produto != null && comboBoxFornecedores.SelectedItem != null) { produto.Fornecedor = context.FornecedorSet.SingleOrDefault(o => o.Nome == (string)comboBoxFornecedores.SelectedItem); } } catch { produto = null; } try { if ((bool)checkBoxOnline.IsChecked) { produto.DisponivelLojaVirtual = true; } } catch { } if (edit_mode) { var original = context.ProdutoSet.First(o => o.Id == produto_edit.Id); original.Nome = produto.Nome; original.Codigo = produto.Codigo; original.Categoria = produto.Categoria; original.Descricao = produto.Descricao; original.Fornecedor = produto.Fornecedor; original.PrecoCusto = produto.PrecoCusto; original.PrecoPrazo = produto.PrecoPrazo; original.PrecoVista = produto.PrecoVista; original.Quantidade = produto.Quantidade; context.SaveChanges(); MessageBox.Show("Produto alterado com Sucesso!", "Sucesso!"); this.Close(); } else if (produto != null) { var query = context.ProdutoSet.Where(p => p.Codigo == produto.Codigo).ToList(); if (query.Count == 0) { Controller.Log("Adicionou o Produto: " + produto.Nome + " com o código: " + produto.Codigo); context.ProdutoSet.Add(produto); context.SaveChanges(); if (MessageBox.Show("Produto Cadastrado com Sucesso!\nLimpar informações e cadastrar outro produto?", "Sucesso!", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { buttonLimpar_Click(sender, e); Window_ContentRendered(sender, e); } else { this.Close(); } } else { MessageBox.Show("Código já existente", "Erro ao Cadastrar Produto", MessageBoxButton.OK, MessageBoxImage.Error); produto = null; } } }
private void ButtonCancelar_Click(object sender, RoutedEventArgs e) { if (Controller.LoggedUser.GetType() == typeof(Administrador) || Controller.LoggedUser.Permissao.Contains(Controller.Permissoes["EditarVendas"])) { var context = new ERPDBModelContainer(); foreach (VendaAdapter venda in DataGridVendas.SelectedItems) { var v = context.VendaSet.Single(o => o.Id == venda.Id); var l = new List <ProdutoVendaItem>(); //v.Funcionario = null; v.Cliente = null; foreach (ProdutoVendaItem pvi in v.ProdutoVendaItem) { l.Add(pvi); if (pvi.Produto != null) { context.ProdutoSet.Single(o => o.Id == pvi.Produto.Id).Quantidade += pvi.Quantidade; } } context.ProdutoVendaItemSet.RemoveRange(l); context.VendaSet.Remove(v); var s = ""; foreach (ProdutoVendaItem pvi in venda.ProdutoVendaItem) { s += "\n - " + pvi.Quantidade + " " + pvi.Produto.Nome; } Controller.Log("Cancelou a venda: " + v.Id + " com o valor de " + v.Total + " que continha os seguintes produtos:" + s); } context.SaveChanges(); Update(sender, e); } else { var t = true; foreach (Venda v in DataGridVendas.SelectedItems) { if (v.Funcionario != Controller.LoggedUser) { t = false; } } if (t) { var context = new ERPDBModelContainer(); foreach (VendaAdapter venda in DataGridVendas.SelectedItems) { var l = new List <ProdutoVendaItem>(); var v = context.VendaSet.Single(o => o.Id == venda.Id); v.Funcionario = null; v.Cliente = null; foreach (ProdutoVendaItem pvi in v.ProdutoVendaItem) { l.Add(pvi); context.ProdutoSet.Single(o => o.Id == pvi.Produto.Id).Quantidade += pvi.Quantidade; } context.ProdutoVendaItemSet.RemoveRange(l); context.VendaSet.Remove(v); } context.SaveChanges(); Update(sender, e); } } }