public static VehicleEntity Create(FullPosition spawnPosition, VehicleHash hash, string numberPlate, int numberPlateStyle, int?creatorId, Color primaryColor, Color secondaryColor, float enginePowerMultiplier = 0f, float engineTorqueMultiplier = 0f, CharacterModel character = null, GroupModel groupModel = null) { VehicleModel vehicleModel = new VehicleModel { VehicleHash = hash.ToString(), NumberPlate = numberPlate, NumberPlateStyle = numberPlateStyle, Character = character, Group = groupModel, CreatorId = creatorId, SpawnPositionX = spawnPosition.Position.X, SpawnPositionY = spawnPosition.Position.Y, SpawnPositionZ = spawnPosition.Position.Z, SpawnRotationX = spawnPosition.Rotation.X, SpawnRotationY = spawnPosition.Rotation.Y, SpawnRotationZ = spawnPosition.Rotation.Z, PrimaryColor = primaryColor.ToHex(), SecondaryColor = secondaryColor.ToHex(), EnginePowerMultiplier = enginePowerMultiplier, EngineTorqueMultiplier = engineTorqueMultiplier, ItemsInVehicle = new List <ItemModel>(), Milage = 0.0f, }; vehicleModel.FuelTank = GetFuelTankSize((VehicleClass)NAPI.Vehicle.GetVehicleClass(NAPI.Util.VehicleNameToModel(vehicleModel.VehicleHash))); vehicleModel.Fuel = vehicleModel.FuelTank * 0.2f; vehicleModel.FuelConsumption = NAPI.Vehicle.GetVehicleMaxAcceleration(NAPI.Util.VehicleNameToModel(vehicleModel.VehicleHash)) / 0.2f; bool nonDbVehicle = character == null && groupModel == null; if (!nonDbVehicle) { RoleplayContext ctx = Singletons.RoleplayContextFactory.Create(); using (VehiclesRepository repository = new VehiclesRepository(ctx)) { repository.Insert(vehicleModel); repository.Save(); } } return(new VehicleEntity(vehicleModel) { _nonDbVehicle = nonDbVehicle }); }
public bool ChangeVehicle(Vehicle oldVehicle, Vehicle newVehicle) { //Optimistic Locking if (_repositoryVehicle.GetVehicleFromId(oldVehicle.Id).Version > newVehicle.Version) { return(false); } try { _repositoryVehicle.Insert(newVehicle); } catch { return(false); } return((_repositoryVehicle.GetVehicleFromId(newVehicle.Id) != null) ? true : false); }
public bool InsertVehicle(Vehicles entity) { try { bool isSuccess; using (var repo = new VehiclesRepository()) { isSuccess = repo.Insert(entity); } return(isSuccess); } catch (Exception ex) { LogHelper.Log(LogTarget.File, ExceptionHelper.ExceptionToString(ex), true); throw new Exception("BusinessLogic:VehiclesBusiness::InsertVehicle::Error occured.", ex); } }