Example #1
0
 public virtual void Add(TEntity entity)
 {
     using (var context = new IncantoDataContext(_dbContextOptions))
     {
         context.Set <TEntity>().Attach(entity);
         context.Set <TEntity>().Add(entity);
         context.SaveChanges();
     }
 }
Example #2
0
 public void Delete(int id)
 {
     using (var context = new IncantoDataContext(_dbContextOptions))
     {
         var entity = context.Set <TEntity>().Find(id);
         context.Set <TEntity>().Attach(entity);
         context.Remove(entity);
         context.SaveChanges();
     }
 }
Example #3
0
 public virtual void Update(TEntity entity)
 {
     using (var context = new IncantoDataContext(_dbContextOptions))
     {
         context.Entry(entity).State = EntityState.Detached;
         context.Set <TEntity>().Attach(entity);
         context.Update(entity);
         context.SaveChanges();
     }
 }
Example #4
0
 public override void Add(Item entity)
 {
     using (var context = new IncantoDataContext(_dbContextOptions))
     {
         context.Set <Item>().Attach(entity);
         context.Set <Item>().Add(entity);
         context.SaveChanges();
         entity.Identifier = (string.IsNullOrEmpty(entity.Remote) ? "IN" : entity.Remote) + entity.Updated.Month + (entity.Updated.Year - 2000) + entity.Category.Id + "-" + entity.Id;
     }
     Update(entity);
 }
Example #5
0
 public override void Delete(Item entity)
 {
     using (var context = new IncantoDataContext(_dbContextOptions))
     {
         var item = context.Items.Where(i => i.Id == entity.Id).Include(i => i.Photos).Include(i => i.Details).Include(i => i.ExistingItems).First();
         item?.Photos.ForEach(p => context.Photos.Remove(p));
         item?.Details.ForEach(d => context.Details.Remove(d));
         item?.ExistingItems.ForEach(d => context.ExistingItems.Remove(d));
         context.Items.Remove(item);
         context.SaveChanges();
     }
 }
Example #6
0
 public override void Update(Item entity)
 {
     using (var context = new IncantoDataContext(_dbContextOptions))
     {
         entity.Details.ForEach(d => context.Entry(d).State       = EntityState.Unchanged);
         entity.ExistingItems.ForEach(d => context.Entry(d).State = EntityState.Unchanged);
         context.Entry(entity).State = EntityState.Detached;
         context.Set <Item>().Attach(entity);
         context.Update(entity);
         context.SaveChanges();
     }
 }
Example #7
0
 public List <TEntity> GetList(Expression <Func <TEntity, bool> > predicate = null)
 {
     using (var context = new IncantoDataContext(_dbContextOptions))
     {
         IQueryable <TEntity> query = context.Set <TEntity>();
         if (predicate != null)
         {
             query = query.Where(predicate);
         }
         if (IncludeFunc != null)
         {
             query = IncludeFunc(query);
         }
         return(query.ToList());
     }
 }