/// <summary>
 /// Cadastra um jogo no banco de dados
 /// </summary>
 /// <param name="jogo">Jogo cadastrado </param>
 public void Cadastrar(Jogos jogo)
 {
     using (InLock_Games_ManhaContext ctx = new InLock_Games_ManhaContext()) {
         ctx.Jogos.Add(jogo);
         ctx.SaveChanges();
     }
 }
 /// <summary>
 /// Remove um jogo no ID selecionado
 /// </summary>
 /// <param name="ID">ID do jogo removido</param>
 public void Remover(int ID)
 {
     using (InLock_Games_ManhaContext ctx = new InLock_Games_ManhaContext()) {
         ctx.Jogos.Remove(ctx.Jogos.Find(ID));
         ctx.SaveChanges();
     }
 }
 /// <summary>
 /// Altera os valores de um jogo no banco de dados , se não existir nenhum com o mesmo ID , joga uma exceção
 /// </summary>
 /// <param name="jogo">Jogo com os valores ja alterados</param>
 public void Alterar(Jogos jogo)
 {
     using (InLock_Games_ManhaContext ctx = new InLock_Games_ManhaContext()) {
         ctx.Jogos.Update(jogo);
         ctx.SaveChanges();
     }
 }
 /// <summary>
 /// Cadastra um estudio no banco de dados
 /// </summary>
 /// <param name="estudio">Estudio a sert cadastrado</param>
 public void Cadastrar(Estudios estudio)
 {
     using (InLock_Games_ManhaContext ctx = new InLock_Games_ManhaContext()) {
         ctx.Estudios.Add(estudio);
         ctx.SaveChanges();
     }
 }
        /// <summary>
        /// Altera os valores de um estudio , se não existir nenhum no id selecionado , joga uma exceção
        /// </summary>
        /// <param name="estudio">Estudio com os valores já alterados</param>
        public void Alterar(Estudios estudio)
        {
            using (InLock_Games_ManhaContext ctx = new InLock_Games_ManhaContext()) {
                if (ctx.Estudios.Find(estudio.EstudioId) == null)
                {
                    throw new NullReferenceException("Não existe Estudio nesse ID para ser alterado");
                }

                ctx.Estudios.Update(estudio);
                ctx.SaveChanges();
            }
        }
        /// <summary>
        /// Procura um Jogo no ID selecionado
        /// </summary>
        /// <param name="ID">ID do Jogo selecionado</param>
        /// <returns>Retorna um jogo no ID selecionado , se ele não existir , retorna uma NullReferenceException</returns>
        public Jogos ListarPorID(int ID)
        {
            using (InLock_Games_ManhaContext ctx = new InLock_Games_ManhaContext()) {
                Jogos jogo = ctx.Jogos.Find(ID);

                if (jogo == null)
                {
                    throw new NullReferenceException("Não existe pacote no ID selecionado");
                }

                return(jogo);
            }
        }
        /// <summary>
        /// Lista todos os jogos de um determinado estudio
        /// </summary>
        /// <param name="ID">ID do estudio a ser retornados</param>
        /// <returns>Retorna um estudio e todos os seus jogos , se o Estudio não existir , retorna uma exceção </returns>
        public Estudios ListarJogos(int ID)
        {
            using (InLock_Games_ManhaContext ctx = new InLock_Games_ManhaContext()) {
                Estudios estudio = ctx.Estudios.Find(ID);

                if (estudio == null)
                {
                    throw new NullReferenceException("Não existe Estudio nesse ID para ser alterado");
                }

                return(estudio);
            }
        }