コード例 #1
0
        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
            });
        }
コード例 #2
0
ファイル: FleetService.cs プロジェクト: pafinkbeiner/dhbw
        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);
        }
コード例 #3
0
 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);
     }
 }