public void DeleteVehicleSecurityType(VehicleSecurityType vehicleSecurityType) { if (vehicleSecurityType == null) { throw new ArgumentNullException(nameof(vehicleSecurityType)); } if (!vehicleSecurityType.IsPersisted) { throw new ArgumentException("vehicleSecurityType is not persisted, so cannot delete!"); } lock (vehicleSecurityType) { Controller.Instance.Repository.DeleteVehicleSecurityType(vehicleSecurityType.Id); // vehicle-security-types are cached in a single collection, so just drop the whole lot from the cache. Controller.Instance.CacheManager.Remove("VehicleSecurityTypes"); } }
private static void UpdateVehicleSecurity(BaseModel vehicle, VehicleSecurityType securityType) { if (vehicle == null) { throw new ArgumentNullException(nameof(vehicle)); } if (securityType == null) { throw new ArgumentNullException(nameof(securityType)); } lock (securityType) { var dbVehicleSecurity = Controller.Instance.Repository.GetVehicleSecurity(vehicle.Id, securityType.Id) ?? new DB_VehicleSecurity(); dbVehicleSecurity.VehicleID = vehicle.Id; dbVehicleSecurity.DB_VehicleSecurityType = Controller.Instance.Repository.GetVehicleSecurityType(securityType.Id); Controller.Instance.Repository.UpdateVehicleSecurity(dbVehicleSecurity); } }
public void UpdateVehicleSecurityType(VehicleSecurityType vehicleSecurityType) { if (vehicleSecurityType == null) { throw new ArgumentNullException(nameof(vehicleSecurityType)); } if (!vehicleSecurityType.IsValid()) { throw new ArgumentException("vehicleSecurityType is invalid!"); } lock (vehicleSecurityType) { var isNew = false; DB_VehicleSecurityType dbVst; if (vehicleSecurityType.IsPersisted) { dbVst = Controller.Instance.Repository.GetVehicleSecurityType(vehicleSecurityType.Id); } else { dbVst = new DB_VehicleSecurityType(); isNew = true; } dbVst.Name = vehicleSecurityType.Name; Controller.Instance.Repository.UpdateVehicleSecurityType(dbVst); if (isNew) { vehicleSecurityType.Id = dbVst.ID; vehicleSecurityType.IsPersisted = true; Controller.Instance.CacheManager.Remove("VehicleSecurityTypes"); } } }