using System; using System.Collections.Generic; using System.Linq; using System.Text; using Disco.Models.Repository; using Disco.Data.Repository; namespace Disco.BI.Extensions { public static class DeviceBatchExtensions { public static bool CanDelete(this DeviceBatch db, DiscoDataContext dbContext) { // Can't Delete if Contains Devices var deviceCount = dbContext.Devices.Count(d => d.DeviceBatchId == db.Id); if (deviceCount > 0) return false; return true; } public static void Delete(this DeviceBatch db, DiscoDataContext dbContext) { if (!db.CanDelete(dbContext)) throw new InvalidOperationException("The state of this Device Batch doesn't allow it to be deleted"); // Delete Batch dbContext.DeviceBatches.Remove(db); } } }