示例#1
0
        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");
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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");
                }
            }
        }