public async Task <bool> DeleteAndAddSKU(List <GoodInfoSKU> skuList)
        {
            bool res = false;

            using (IDbContextTransaction transaction = Database.BeginTransaction(IsolationLevel.ReadCommitted))
            {
                try
                {
                    List <GoodInfoSKU> removeList = await CurrentDbSet
                                                    .Where(sku => sku.ShopId == skuList[0].ShopId && sku.GoodInfoId == skuList[0].GoodInfoId)
                                                    .ToListAsync();

                    CurrentDbSet.RemoveRange(removeList);
                    await CurrentDbSet.AddRangeAsync(skuList);

                    SaveChanges();
                    transaction.Commit();
                    res = true;
                }
                catch
                {
                    transaction.Rollback();
                    res = false;
                }
            }

            return(res);
        }
Beispiel #2
0
 public virtual void RemoveRange(params T[] items)
 {
     CurrentDbSet.RemoveRange(items);
     if (!isWaitingSave)
     {
         SaveChanges();
     }
 }
Beispiel #3
0
 public virtual void Remove(Expression <Func <T, bool> > filter)
 {
     CurrentDbSet.RemoveRange(CurrentDbSet.Where(filter));
     if (!isWaitingSave)
     {
         SaveChanges();
     }
 }
Beispiel #4
0
 public void RemoveRange(IEnumerable <Model> ms)
 {
     try
     {
         CurrentDbSet.RemoveRange(ms);
     }
     catch (Exception ex)
     {
         Report.Notify(new RCM.Message(Codes.ERR_DB_REMOVE_RNG)
         {
             DetailedText = ex.ToString()
         });
     }
 }
Beispiel #5
0
 public virtual void RemoveRange(params T[] items)
 {
     CurrentDbSet.RemoveRange(items);
     DbContext.SaveChanges();
 }
Beispiel #6
0
 public virtual void Remove(Expression <Func <T, bool> > filter)
 {
     CurrentDbSet.RemoveRange(CurrentDbSet.Where(filter));
     DbContext.SaveChanges();
 }
Beispiel #7
0
 public void RemoveRange(IEnumerable <TEntity> entities)
 {
     CurrentDbSet.RemoveRange(entities);
 }