예제 #1
0
 /// <summary>
 ///
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public IEnumerable <T> Pesquisar <T>() where T : Entidade
 {
     using (var contexto = new SeiRPGManagerContexto())
     {
         return(contexto.Set <T>().ToList());
     }
 }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entidade"></param>
        public void Excluir <T>(T entidade) where T : Entidade
        {
            if (entidade == null)
            {
                throw new ArgumentException("Impossível excluir uma entidade nula");
            }

            using (var contexto = new SeiRPGManagerContexto())
            {
                if (contexto.Entry(entidade).State == EntityState.Detached)
                {
                    contexto.Set <T>().Attach(entidade);
                }
                contexto.Set <T>().Remove(entidade);
            }
        }
예제 #3
0
 /// <summary>
 ///
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="filtro"></param>
 /// <returns></returns>
 public T ObterPrimeiro <T>(Func <T, bool> filtro) where T : Entidade
 {
     using (var contexto = new SeiRPGManagerContexto())
     {
         return(contexto.Set <T>().First(filtro));
     }
 }
예제 #4
0
 /// <summary>
 ///
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="filtro"></param>
 /// <returns></returns>
 public T ObterUm <T>(Func <T, bool> filtro) where T : Entidade
 {
     using (var contexto = new SeiRPGManagerContexto())
     {
         return(contexto.Set <T>().Single(filtro));
     }
 }
예제 #5
0
 /// <summary>
 ///
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="filtro"></param>
 /// <returns></returns>
 public IEnumerable <T> Pesquisar <T>(Func <T, bool> filtro) where T : Entidade
 {
     using (var contexto = new SeiRPGManagerContexto())
     {
         return(contexto.Set <T>().Where(filtro));
     }
 }
예제 #6
0
 /// <summary>
 ///
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="entidade"></param>
 public void Atualizar <T>(T entidade) where T : Entidade
 {
     using (var contexto = new SeiRPGManagerContexto())
     {
         contexto.Set <T>().Attach(entidade);
         _contexto.Entry(entidade).State = EntityState.Modified;
     }
 }
예제 #7
0
 /// <summary>
 /// TODO: Update Header
 /// </summary>
 /// <returns>TODO: Update Header</returns>
 public List <T> ObterTodos <T>() where T : Entidade
 {
     try
     {
         using (var contexto = new SeiRPGManagerContexto())
         {
             if (contexto.Set <T>().Any() == false)
             {
                 return(null);
             }
             else
             {
                 return(contexto.Set <T>().Select(x => x).ToList <T>());
             }
         }
     }
     catch (Exception ex)
     {
         throw;
     }
 }
예제 #8
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entidade"></param>
        public void Anexar <T>(T entidade) where T : Entidade
        {
            if (entidade == null)
            {
                throw new ArgumentException("Impossível anexar a uma entidade nula");
            }

            using (var contexto = new SeiRPGManagerContexto())
            {
                contexto.Set <T>().Attach(entidade);
            }
        }
예제 #9
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entidade"></param>
        public void Inserir <T>(T entidade) where T : Entidade
        {
            if (entidade == null)
            {
                throw new ArgumentException("Impossível inserir uma entidade Nula");
            }

            using (var contexto = new SeiRPGManagerContexto())
            {
                contexto.Set <T>().Add(entidade);
            }
        }
예제 #10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ids"></param>
        public void Excluir <T>(params long[] ids) where T : Entidade
        {
            if (ids == null || ids.Count() == 0)
            {
                throw new ArgumentException("Impossível excluir uma entidade nula");
            }

            using (var contexto = new SeiRPGManagerContexto())
            {
                T entityToDelete = contexto.Set <T>().Where(ent => ent.Id == 1).Single();
                T entidade;

                foreach (long id in ids)
                {
                    entidade = ObterUm <T>(ent => ent.Id == id);
                    Excluir <T>(entidade);
                }
            }
        }