public static void Excluir(int cod)
 {
     using (Context context = new Context())
     {
         Cliente cliente = context.Clientes.First(p => p.ID == cod);
         context.Clientes.Remove(cliente);
         context.SaveChanges();
     }
 }
 public static void Alterar(int cod, string nome)
 {
     using (Context context = new Context())
     {
         Pagamento pag = context.Pagamentos.First(p => p.ID == cod);
         pag.Forma = nome.ToUpper();
         context.SaveChanges();
     }
 }
 public static void Excluir(int cod)
 {
     using (Context context = new Context())
     {
         Produtora prod = context.Produtoras.First(p => p.ID == cod);
         context.Produtoras.Remove(prod);
         context.SaveChanges();
     }
 }
 private static int getQtd(int cod)
 {
     int qtde_atual;
     using (Context context = new Context())
     {
         qtde_atual = Convert.ToInt32((from c in context.Itens where c.Jogo_ID == cod select c.Qtde).Single());
     }
     return qtde_atual;
 }
 public static void CarregarGrid(DataGridView grid)
 {
     using (Context context = new Context())
     {
         IEnumerable<Cliente> lista = from p in context.Clientes select p;
         grid.Text = "Cleintes: " + lista.Count();
         grid.DataSource = lista.ToList();
     }
 }
 public static void Excluir(int cod)
 {
     using (Context context = new Context())
     {
         Pagamento pag = context.Pagamentos.First(p => p.ID == cod);
         context.Pagamentos.Remove(pag);
         context.SaveChanges();
     }
 }
 public static void Alterar(int cod, string nome, string pais)
 {
     using (Context context = new Context())
     {
         Produtora prod = context.Produtoras.First(p => p.ID == cod);
         prod.Nome = nome.ToUpper(); ;
         prod.Pais = pais.ToUpper(); ;
         context.SaveChanges();
     }
 }
 public static void Criar(string nome)
 {
     using (var context = new Context())
     {
         Pagamento pag = new Pagamento();
         pag.Forma = nome.ToUpper();
         context.Pagamentos.Add(pag);
         context.SaveChanges();
     }
 }
 public static void Criar(string nome, string pais)
 {
     using (var context = new Context())
     {
         Produtora prod = new Produtora();
         prod.Nome = nome.ToUpper();
         prod.Pais = pais.ToUpper();
         context.Produtoras.Add(prod);
         context.SaveChanges();
     }
 }
 public static void AtualizarEstoque(int cod, int qtd)
 {
     int nova_qtd;
     using (Context context = new Context())
     {
         Item itens = context.Itens.First(p => p.Jogo_ID == cod);
         nova_qtd = getQtd(cod) - qtd;
         itens.Qtde = nova_qtd;
         context.SaveChanges();
     }
 }
 public static void Excluir(int cod)
 {
     using (Context context = new Context())
     {
         Jogo jogo = context.Jogos.First(p => p.ID == cod);
         Item item = context.Itens.First(p => p.Jogo_ID == cod);
         context.Itens.Remove(item);
         context.Jogos.Remove(jogo);
         context.SaveChanges();
     }
 }
 public static void Alterar(int cod, string nome, string tel, string end, string cidade, string cep, string rg)
 {
     using (Context context = new Context())
     {
         Cliente cliente = context.Clientes.First(p => p.ID == cod);
         cliente.Nome = nome.ToUpper(); ;
         cliente.RG = rg.ToUpper(); ;
         cliente.Telefone = tel.ToUpper();
         cliente.CEP = cep.ToUpper(); ;
         cliente.Cidade = cidade.ToUpper();
         cliente.Endereco = end.ToUpper();
         context.SaveChanges();
     }
 }
 public static void Alterar(int cod, string nome, int prod, int qtd, double preco, string genero, string plat)
 {
     using (Context context = new Context())
     {
         Jogo jogo = context.Jogos.First(p => p.ID == cod);
         jogo.Nome = nome.ToUpper(); ;
         jogo.Plataforma = plat.ToUpper(); ;
         jogo.Genero = genero.ToUpper();
         jogo.Preco = preco;
         jogo.Produtora_ID = prod;
         Item item = context.Itens.First(i => i.Jogo_ID == cod);
         item.Qtde = qtd;
         context.SaveChanges();
     }
 }
        public static int getCodVenda()
        {
            int cod;
            using (Context context = new Context())
            {

                try {
                    cod = Convert.ToInt32((from c in context.Vendas select c).Max(c => c.Jogo_ID));
                }
                catch(Exception ex)
                {
                    cod = 0;
                }
            }
            return cod+1;
        }
 public static void CarregarCombo(ComboBox cbo)
 {
     using (Context context = new Context())
     {
         List<Produtora> lstProd = context.Produtoras.ToList();
         DataTable dt = new DataTable();
         dt.Columns.Add("ID");
         dt.Columns.Add("Nome");
         foreach (Produtora prod in lstProd)
         {
             dt.Rows.Add(prod.ID, prod.Nome);
         }
         cbo.ValueMember = dt.Columns[0].ColumnName;
         cbo.DisplayMember = dt.Columns[1].ColumnName;
         cbo.DataSource = dt;
     }
 }
 public static void Criar(string nome, string tel, string end, string cidade, string cep, string rg)
 {
     using (var context = new Context())
     {
         Cliente cli = new Cliente
         {
             Nome = nome.ToUpper(),
             RG = rg.ToUpper(),
             Telefone = tel.ToUpper(),
             Endereco = end.ToUpper(),
             CEP = cep.ToUpper(),
             Cidade = cidade.ToUpper()
         };
         context.Clientes.Add(cli);
         context.SaveChanges();
     }
 }
 public static void Vender(int _cod, int _jogo, int _cliente, int _pagamento, int _qtd, double _total, double _preco)
 {
     using (var context = new Context())
     {
         Venda venda = new Venda
         {
             CodVenda = _cod,
             Jogo_ID = _jogo,
             Cliente_ID = _cliente,
             Pagamento_ID = _pagamento,
             Qtde = _qtd,
             Preco = _preco,
             Total = _total
         };
         context.Vendas.Add(venda);
         context.SaveChanges();
         Estoque.AtualizarEstoque(_jogo,_qtd);
     }
 }
        public static void CarregarGrid(DataGridView grid, string parTabela)
        {
            using (Context context = new Context())
                switch (parTabela)
                {
                    case "JOGO":
                        {
                            var lista = from j in context.Jogos
                                        join p in context.Produtoras on j.Produtora_ID equals p.ID
                                        join i in context.Itens on j.ID equals i.Jogo_ID
                                        select new
                                        {
                                            j.ID,
                                            j.Nome,
                                            Produtora = p.Nome,
                                            j.Plataforma,
                                            j.Genero,
                                            j.Preco,
                                            i.Qtde,
                                            ID_Produtora = j.Produtora_ID
                                        };

                            grid.Text = "Jogos: " + lista.Count();
                            grid.DataSource = lista.ToList();
                        }

                        break;
                    case "PRODUTORA":
                        IEnumerable<Produtora> listaprod = from p in context.Produtoras select p;
                        grid.Text = "Produtoras: " + listaprod.Count();
                        grid.DataSource = listaprod.ToList();
                        break;
                    case "PAGAMENTO":
                        IEnumerable<Pagamento> listaPag = from p in context.Pagamentos select p;
                        grid.Text = "Pagamento: " + listaPag.Count();
                        grid.DataSource = listaPag.ToList();
                        break;

                }
        }
 public static void Criar(string nome, int prod, string plat, string genero, double preco, int qtd)
 {
     using (var context = new Context())
     {
         Jogo jogo = new Jogo
         {
             Nome = nome.ToUpper(),
             Plataforma = plat.ToUpper(),
             Genero = genero.ToUpper(),
             Preco = preco,
             Produtora_ID = prod
         };
         Item item = new Item()
         {
             Jogo_ID = jogo.ID,
             Qtde = qtd
         };
         context.Jogos.Add(jogo);
         context.Itens.Add(item);
         context.SaveChanges();
     }
 }
        public static void CarregarHistorico(DataGridView grid)
        {
            using(Context context = new Context())
            {
                var lista = from v in context.Vendas
                            join j in context.Jogos on v.Jogo_ID equals j.ID
                            join c in context.Clientes on v.Cliente_ID equals c.ID
                            join p in context.Pagamentos on v.Pagamento_ID equals p.ID
                            select new
                            {
                                v.CodVenda,
                                c.Nome,
                                Jogo = j.Nome,
                                v.Qtde,
                                v.Preco,
                                v.Total,
                                p.Forma
                            };

                grid.Text = "Jogos: " + lista.Count();
                grid.DataSource = lista.ToList();
            }
        }
 public static void FiltroNome(DataGridView grid, string nome, string tabela)
 {
     using (Context context = new Context())
     {
         switch (tabela)
         {
             case "CLIENTE":
                 IEnumerable<Cliente> listaCli = from p in context.Clientes where p.Nome.Contains(nome) select p;
                 grid.Text = "Clientes: " + listaCli.Count();
                 grid.DataSource = listaCli.ToList();
                 break;
             case "JOGO":
                 var lista = from j in context.Jogos
                             join p in context.Produtoras on j.Produtora_ID equals p.ID
                             join i in context.Itens on j.ID equals i.Jogo_ID where j.Nome.Contains(nome)
                             select new
                             {
                                 j.ID,
                                 j.Nome,
                                 Produtora = p.Nome,
                                 j.Plataforma,
                                 j.Genero,
                                 j.Preco,
                                 i.Qtde,
                                 ID_Produtora = j.Produtora_ID
                             };
                 grid.Text = "Jogos: " + lista.Count();
                 grid.DataSource = lista.ToList();
                 break;
             case "Produtora":
                 IEnumerable<Produtora> listaProd = from p in context.Produtoras where p.Nome.Contains(nome) select p;
                 grid.Text = "Produtoras: " + listaProd.Count();
                 grid.DataSource = listaProd.ToList();
                 break;
             case "PAGAMENTO":
                 IEnumerable<Pagamento> listaPag = from p in context.Pagamentos where p.Forma.Contains(nome) select p;
                 grid.Text = "Pagamento: " + listaPag.Count();
                 grid.DataSource = listaPag.ToList();
                 break;
             case "Estoque":
                 var listaEst = from j in context.Jogos
                             join p in context.Produtoras on j.Produtora_ID equals p.ID
                             join i in context.Itens on j.ID equals i.Jogo_ID
                             where j.Nome.Contains(nome)
                             select new
                             {
                                 j.ID,
                                 j.Nome,
                                 Produtora = p.Nome,
                                 j.Plataforma,
                                 j.Genero,
                                 i.Qtde
                             };
                 grid.Text = "Estoque: " + listaEst.Count();
                 grid.DataSource = listaEst.ToList();
                 break;
         }
     }
 }
 public static void CarregarPagamento(ComboBox cbo)
 {
     using (Context context = new Context())
     {
         List<Pagamento> lstPag = context.Pagamentos.ToList();
         DataTable dt = new DataTable();
         dt.Columns.Add("ID");
         dt.Columns.Add("Forma");
         foreach (Pagamento pag in lstPag)
         {
             dt.Rows.Add(pag.ID, pag.Forma);
         }
         cbo.ValueMember = dt.Columns[0].ColumnName;
         cbo.DisplayMember = dt.Columns[1].ColumnName;
         cbo.DataSource = dt;
     }
 }
        public void ConsultarEstoque(DataGridView grid)
        {
            using (Context context = new Context())
            {
                var lista = from j in context.Jogos
                            join p in context.Produtoras on j.Produtora_ID equals p.ID
                            join i in context.Itens on j.ID equals i.Jogo_ID

                            select new
                            {
                                j.ID,
                                j.Nome,
                                Produtora = p.Nome,
                                j.Plataforma,
                                j.Genero,
                                i.Qtde
                            };
                grid.Text = "Estoque: " + lista.Count();
                grid.DataSource = lista.ToList();
            }
        }