public IQueryable<BatteryCollection> GetBatteryCollectionByStorage(BatteryStorage batteryStorage)
        {
            var batteryCollection = db.BatteryCollections.Where(x => x.BatteryStorageId.Equals(batteryStorage.ID));
            foreach (var collection in batteryCollection)
            {
                collection.Battery = _batteryRepo.GetBatteryById(collection.BatteryId);
            }

            return batteryCollection;
        }
        public void Update(BatteryStorage batteryStorage)
        {
            BatteryStorage rBatteryStorage = GetBatteryStorageById(batteryStorage.ID);
            if (rBatteryStorage == null)
                return;

            rBatteryStorage.Available = batteryStorage.Available;
            rBatteryStorage.Charging = batteryStorage.Charging;
            rBatteryStorage.Reserved = batteryStorage.Reserved;
            db.SaveChanges();
        }
        public void UpdateStorageStatus(BatteryStorage batteryStorage)
        {
            if(batteryStorage == null)
                return;

            int available = batteryStorage.BatteryCollections.Count(x => x.Battery.Status == 1);
            int charging = batteryStorage.BatteryCollections.Count(x => x.Battery.Status == 2);
            int reserved = batteryStorage.BatteryCollections.Count(x => x.Battery.Status == 3);

            batteryStorage.Available = available;
            batteryStorage.Charging = charging;
            batteryStorage.Reserved = reserved;

            Update(batteryStorage);
        }
 public void Insert(BatteryStorage batteryStorage)
 {
     db.BatteryStorages.Add(batteryStorage);
     db.SaveChanges();
 }