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); } } }
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); } } }
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); } } }
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(); } } }
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; } } }
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); } } }
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); } } }
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(); } } }