Example #1
0
        public static int UpdateItems(params object[] items)
        {
            using (FilamentContext ctx = new FilamentContext())
            {
                if (ctx != null)
                {
                    foreach (var item in items)
                    {
                        if (item is IEnumerable ts)
                        {
                            foreach (var ele in ts)
                            {
                                ctx.Entry(ele).State = EntityState.Modified;
                                ctx.Update(ele);
                            }
                        }

                        else
                        {
                            ctx.Entry(item).State = EntityState.Modified;
                            ctx.Update(item);
                        }
                    }
                    return(ctx.SaveChanges());
                }
                else
                {
                    return(-1);
                }
            }
        }
Example #2
0
 public static int DeleteItems(params object[] items)
 {
     using (FilamentContext context = new FilamentContext())
     {
         if (context != null)
         {
             foreach (var item in items)
             {
                 if (item is IEnumerable ts)
                 {
                     foreach (var ele in ts)
                     {
                         context.Remove(ele);
                     }
                 }
                 else
                 {
                     context.Remove(item);
                 }
             }
             return(context.SaveChanges());
         }
         else
         {
             return(-1);
         }
     }
 }
Example #3
0
 public static int AddAll(int expectedItems, params object[] items)
 {
     using (FilamentContext context = new FilamentContext())
     {
         if (context != null)
         {
             foreach (var item in items)
             {
                 if (item is IEnumerable ts)
                 {
                     context.AddRange(ts);
                 }
                 else
                 {
                     context.Add(item);
                 }
             }
             return(context.SaveChanges());
         }
         else
         {
             return(0);
         }
     }
 }
Example #4
0
        public static void UpdateSpec(VendorDefn vendorDefn)
        {
            using (FilamentContext context = new FilamentContext())
            {
                if (context != null)
                {
                    // flag the 'new' objects for added state
                    SetDataItemsState(context, vendorDefn.SpoolDefns.Where(sd => sd.VendorDefnId == default), EntityState.Added);
                    //foreach (var item in vendorDefn.SpoolDefns.Where(sd=>sd.VendorDefnId==default))
                    //{
                    //    context.Entry<SpoolDefn>(item).State = EntityState.Added;

                    //}
                    // flag the 'modified' objects for modified state
                    SetDataItemsState(context, vendorDefn.SpoolDefns.Where(sd => sd.IsModified && sd.VendorDefnId != default), EntityState.Modified);

                    foreach (var sd in vendorDefn.SpoolDefns)
                    {
                        SetDataItemsState <InventorySpool>(context, sd.Inventory.Where(inv => inv.SpoolDefnId == default), EntityState.Added);
                        SetDataItemsState <InventorySpool>(context, sd.Inventory.Where(inv => inv.IsModified && inv.SpoolDefnId != default), EntityState.Modified);
                        foreach (var inv in sd.Inventory)
                        {
                            SetDataItemsState <DepthMeasurement>(context, inv.DepthMeasurements.Where(dm => dm.InventorySpoolId == default), EntityState.Added);
                            SetDataItemsState <DepthMeasurement>(context, inv.DepthMeasurements.Where(dm => dm.InventorySpoolId != default && dm.IsModified), EntityState.Modified);
                        }
                    }
                    //foreach(var item in vendorDefn.SpoolDefns.Where())
                    //    context.Entry<SpoolDefn>(item).State= EntityState.Modified;

                    context.Update(vendorDefn);
                    context.SaveChanges();
                }
            }
        }
Example #5
0
 public static void SetDataItemsState <TItem>(FilamentContext context, IEnumerable <TItem> items, EntityState state) where TItem : class
 {
     if (items != null)
     {
         foreach (TItem item in items)
         {
             context.Entry <TItem>(item).State = state;
         }
     }
 }
Example #6
0
 public static List <FilamentDefn>?GetAllFilaments()
 {
     using (FilamentContext ctx = new FilamentContext())
     {
         if (ctx != null)
         {
             return(ctx.FilamentDefn?
                    .Include("DensityAlias")
                    .Include("DensityAlias.MeasuredDensity")
                    .AsNoTracking()
                    .ToList());
         }
         else
         {
             return(null);
         }
     }
 }
Example #7
0
 public static List <FilamentDefn>?GetFilaments(Func <FilamentDefn, bool> predicate)
 {
     using (FilamentContext ctx = new FilamentContext())
     {
         if (ctx != null)
         {
             return(ctx.FilamentDefn?
                    .AsNoTracking()
                    .Include("DensityAlias")
                    .Include("DensityAlias.MeasuredDensity")
                    .Where <FilamentDefn>(predicate)
                    .ToList());
         }
         else
         {
             return(null);
         }
     }
 }
Example #8
0
 public static void UpdateSpec(FilamentDefn filamentDefn)
 {
     using (FilamentContext ctx = new FilamentContext())
     {
         if (ctx != null && filamentDefn.DensityAlias != null)
         {
             // flag the 'new' objects for added state
             SetDataItemsState(ctx, filamentDefn.DensityAlias.MeasuredDensity.Where(d => d.DensityAliasId == default), EntityState.Added);
             //ctx.Entry<MeasuredDensity>(item).State = EntityState.Added;
             // flag the 'modified' objects for modified state
             SetDataItemsState(ctx, filamentDefn.DensityAlias.MeasuredDensity.Where(d => d.DensityAliasId != default), EntityState.Modified);
             //foreach (var item in filamentDefn.DensityAlias))
             //{
             //    ctx.Entry(item).State= EntityState.Modified;
             //}
             ctx.Update <FilamentDefn>(filamentDefn);
             ctx.SaveChanges();
         }
     }
 }