示例#1
0
        public void UpdateWheelShape(VehicleChassis chassis, VehicleWheel wheel)
        {
            if (Bumpiness > 0)
            {
                if (wheel.Index == _nextWheel && chassis.Speed > 5 && _lastBump + 0.3f < Engine.TotalSeconds && !wheel.InAir)
                {
                    chassis.Actor.AddForceAtLocalPosition(new Vector3(0, Bumpiness * 65, 0), wheel.Shape.LocalPosition, ForceMode.Impulse, true);
                    _lastBump = Engine.TotalSeconds;
                    _nextWheel = Engine.Random.Next(0, chassis.Wheels.Count - 1);
                }
            }

            if (SmokeParticles != null)
            {
                wheel.SmokeEmitter.ParticleSystem = SmokeParticles;
                wheel.SmokeEmitter.Enabled = chassis.Speed > 5;
            }
            else
                wheel.SmokeEmitter.ParticleSystem = _defaultTyreSmokeSystem;

            if (SkidMaterial != null)
                chassis.Vehicle.SkidMarkBuffer.SetTexture(SkidMaterial.Texture);
            else
                chassis.Vehicle.SkidMarkBuffer.Enabled = false;
        }
示例#2
0
        public void UpdateWheelShape(VehicleChassis chassis, VehicleWheel wheel)
        {
            if (Bumpiness > 0)
            {
                if (wheel.Index == _nextWheel && chassis.Speed > 5 && _lastBump + 0.3f < GameEngine.TotalSeconds && !wheel.InAir)
                {
                    chassis.Actor.AddForceAtLocalPosition(new Vector3(0, Bumpiness * 65, 0), wheel.Shape.LocalPosition, ForceMode.Impulse, true);
                    _lastBump  = GameEngine.TotalSeconds;
                    _nextWheel = GameEngine.Random.Next(0, chassis.Wheels.Count - 1);
                }
            }

            if (SmokeParticles != null)
            {
                wheel.SmokeEmitter.ParticleSystem = SmokeParticles;
                wheel.SmokeEmitter.Enabled        = chassis.Speed > 5;
            }
            else
            {
                wheel.SmokeEmitter.ParticleSystem = _defaultTyreSmokeSystem;
            }

            if (SkidMaterial != null)
            {
                chassis.Vehicle.SkidMarkBuffer.SetTexture(SkidMaterial.Texture);
            }
            else
            {
                chassis.Vehicle.SkidMarkBuffer.Enabled = false;
            }
        }
示例#3
0
        private void RegisterSkid(VehicleWheel wheel, Vector3 pos)
        {
            if (pos == Vector3.Zero)
            {
                return;
            }

            CurrentSkid skid = null;

            foreach (CurrentSkid cskid in _currentSkids)
            {
                if (cskid.Wheel == wheel)
                {
                    skid = cskid; break;
                }
            }
            if (skid == null)
            {
                skid = new CurrentSkid {
                    Wheel = wheel, StartPosition = pos, EndPosition = pos, StartTime = GameEngine.TotalSeconds
                };
                _currentSkids.Add(skid);
            }
            else
            {
                skid.IsActive    = true;
                skid.EndPosition = pos;
            }
        }
示例#4
0
        public VehicleWheelViewModel IsWheelUsedByOtherVehicle(int wheelDetailId, int vehicleId)
        {
            VehicleWheel result = _vehicleWheelRepository.GetMany(
                vw => vw.VehicleId != vehicleId && vw.WheelDetailId == wheelDetailId && vw.Status == (int)DbConstant.DefaultDataStatus.Active).FirstOrDefault();

            VehicleWheelViewModel mappedResult = new VehicleWheelViewModel();

            return(Map(result, mappedResult));
        }
示例#5
0
    void PushWheelDown(VehicleWheel wheel)
    {
        // down along the normal
        Vector3 tempDirection = Vector3.Cross(wheel.transform.up, wheel.groundNormal).normalized;
        Vector3 pushDirection = Vector3.Cross(tempDirection, wheel.groundNormal).normalized;

        // no messing around, lots of force and then more
        float pushAmount = vehicleMovement.gravityForce * (2 + timeTilted);

        // push the wheel
        vehicleMovement.vehicleRB.AddForceAtPosition(pushDirection * pushAmount, wheel.wheelChild.transform.position);
    }
示例#6
0
    void OnEnable()
    {
        if (vehicleWheel == null)
        {
            vehicleWheel = GetComponent <VehicleWheel>();
        }

        if (vehicleRB == null)
        {
            vehicleRB = gameObject.GetComponentInParent <Rigidbody>();
        }

        if (vehicleMovement == null)
        {
            vehicleMovement = gameObject.GetComponentInParent <VehicleMovement>();
        }
    }
示例#7
0
        public void UpdateVehicleWheel(int vehicleId, List <VehicleWheelViewModel> vehicleWheels, int userId)
        {
            DateTime serverTime = DateTime.Now;

            foreach (var vw in vehicleWheels)
            {
                VehicleWheel vwEntity = _vehicleWheelRepository.GetById(vw.Id);
                vwEntity.WheelDetailId = vw.WheelDetailId;
                vwEntity.ModifyDate    = serverTime;
                vwEntity.ModifyUserId  = userId;
                vwEntity.VehicleId     = vehicleId;

                _vehicleWheelRepository.AttachNavigation(vwEntity.Vehicle);
                _vehicleWheelRepository.AttachNavigation(vwEntity.WheelDetail);
                _vehicleWheelRepository.AttachNavigation(vwEntity.CreateUser);
                _vehicleWheelRepository.AttachNavigation(vwEntity.ModifyUser);
                _vehicleWheelRepository.Update(vwEntity);
                _unitOfWork.SaveChanges();
            }
        }
 //Wheels in the VehicleWheel array are set up as frontwheels = 0,1. rearwheels = 2,3
 private void SetupWheelObjects( )
 {
     VehicleWheel frontRightWheel = new VehicleWheel( vehicleColliders[ i_frontRightWheel ],
                                                      this,
                                                      WheelPosition.FRONT_WHEEL,
                                                      WheelPosition.RIGHT_WHEEL );
     VehicleWheel frontLeftWheel = new VehicleWheel( vehicleColliders[ i_frontLeftWheel ],
                                                     this,
                                                     WheelPosition.FRONT_WHEEL,
                                                     WheelPosition.LEFT_WHEEL );
     VehicleWheel rearRightWheel = new VehicleWheel( vehicleColliders[ i_rearRightWheel ],
                                                     this,
                                                     WheelPosition.REAR_WHEEL,
                                                     WheelPosition.RIGHT_WHEEL );
     VehicleWheel rearLeftWheel = new VehicleWheel( vehicleColliders[ i_rearLeftWheel ],
                                                    this,
                                                    WheelPosition.REAR_WHEEL,
                                                    WheelPosition.LEFT_WHEEL );
     vehicleWheels = new VehicleWheel[ ] { frontRightWheel, frontLeftWheel, rearRightWheel, rearLeftWheel };
 }
示例#9
0
        /// <summary>
        /// Creates the test DB, resetting indices, unless data is already present
        /// </summary>
        /// <param name="dbOptions"></param>
        /// <returns></returns>
        private static async Task CreateTestDatabase(DbContextOptions <MockContext> dbOptions)
        {
            using (var context = new MockContext(dbOptions))
            {
                // Ensure DB was cleaned up
                context.ResetValueGenerators();
                await context.Database.EnsureDeletedAsync();

                // Wheels
                var wheels = new Wheel[]
                {
                    new Wheel
                    {
                        Size  = 15,
                        Width = 5
                    },
                    new Wheel
                    {
                        Size  = 16,
                        Width = 5
                    },
                    new Wheel
                    {
                        Size  = 17,
                        Width = 6
                    },
                    new Wheel
                    {
                        Size  = 18,
                        Width = 7
                    }
                };

                // Engines
                var engines = new Engine[]
                {
                    new Engine
                    {
                        Capacity      = 2400,
                        Configuration = "Inline 4 Vtec",
                        FuelType      = "Petrol"
                    },
                    new Engine
                    {
                        Capacity      = 2000,
                        Configuration = "Boxer 4",
                        FuelType      = "Petrol"
                    },
                    new Engine
                    {
                        Capacity      = 4000,
                        Configuration = "V8",
                        FuelType      = "Petrol"
                    },
                    new Engine
                    {
                        Capacity      = 2000,
                        Configuration = "Inline 4 Turbo",
                        FuelType      = "Diesel"
                    }
                };

                // Vehicles
                var vehicles = new Vehicle[]
                {
                    new Vehicle
                    {
                        Name = "Subaru Impreza"
                    },
                    new Vehicle
                    {
                        Name = "Volkswagen Caddy"
                    },
                    new Vehicle
                    {
                        Name = "Holden Commodore"
                    },
                    new Vehicle
                    {
                        Name = "Honda Accord"
                    }
                };

                await context.Wheels.AddRangeAsync(wheels);

                await context.Engines.AddRangeAsync(engines);

                await context.Vehicles.AddRangeAsync(vehicles);

                await context.SaveChangesAsync();

                // VehicleEngines
                var vehicleEngines = new VehicleEngine[]
                {
                    new VehicleEngine
                    {
                        VehicleId = 1,
                        EngineId  = 2
                    },
                    new VehicleEngine
                    {
                        VehicleId = 2,
                        EngineId  = 4
                    },
                    new VehicleEngine
                    {
                        VehicleId = 3,
                        EngineId  = 3
                    },
                    new VehicleEngine
                    {
                        VehicleId = 4,
                        EngineId  = 1
                    },
                };

                // VehicleWheels
                var vehicleWheels = new VehicleWheel[]
                {
                    // Subaru Impreza
                    new VehicleWheel
                    {
                        VehicleId = 1,
                        WheelId   = 2
                    },
                    new VehicleWheel
                    {
                        VehicleId = 1,
                        WheelId   = 2
                    },
                    new VehicleWheel
                    {
                        VehicleId = 1,
                        WheelId   = 2
                    },
                    new VehicleWheel
                    {
                        VehicleId = 1,
                        WheelId   = 2
                    },

                    // VW Caddy
                    new VehicleWheel
                    {
                        VehicleId = 2,
                        WheelId   = 1
                    },
                    new VehicleWheel
                    {
                        VehicleId = 2,
                        WheelId   = 1
                    },
                    new VehicleWheel
                    {
                        VehicleId = 2,
                        WheelId   = 1
                    },
                    new VehicleWheel
                    {
                        VehicleId = 2,
                        WheelId   = 1
                    },

                    // Holden Commodore
                    new VehicleWheel
                    {
                        VehicleId = 3,
                        WheelId   = 4
                    },
                    new VehicleWheel
                    {
                        VehicleId = 3,
                        WheelId   = 4
                    },
                    new VehicleWheel
                    {
                        VehicleId = 3,
                        WheelId   = 4
                    },
                    new VehicleWheel
                    {
                        VehicleId = 3,
                        WheelId   = 4
                    },

                    // Honda Accord
                    new VehicleWheel
                    {
                        VehicleId = 4,
                        WheelId   = 3
                    },
                    new VehicleWheel
                    {
                        VehicleId = 4,
                        WheelId   = 3
                    },
                    new VehicleWheel
                    {
                        VehicleId = 4,
                        WheelId   = 3
                    },
                    new VehicleWheel
                    {
                        VehicleId = 4,
                        WheelId   = 3
                    }
                };

                await context.VehicleEngines.AddRangeAsync(vehicleEngines);

                await context.VehicleWheels.AddRangeAsync(vehicleWheels);

                await context.SaveChangesAsync();
            }
        }
示例#10
0
        public VehicleWheelViewModel InsertVehicleWheel(VehicleWheelViewModel vw, int userId)
        {
            VehicleWheelViewModel result = new VehicleWheelViewModel();

            if (vw != null)
            {
                DateTime serverTime = DateTime.Now;


                VehicleWheel vwEntity = new VehicleWheel();
                Map(vw, vwEntity);
                vwEntity.Id           = 0;
                vwEntity.Notes        = vw.Notes;
                vwEntity.VehicleId    = vw.VehicleId;
                vwEntity.CreateDate   = vwEntity.ModifyDate = serverTime;
                vwEntity.CreateUserId = vwEntity.ModifyUserId = userId;
                vwEntity.Status       = (int)DbConstant.DefaultDataStatus.Active;

                _vehicleWheelRepository.AttachNavigation(vwEntity.Vehicle);
                _vehicleWheelRepository.AttachNavigation(vwEntity.WheelDetail);
                _vehicleWheelRepository.AttachNavigation(vwEntity.CreateUser);
                _vehicleWheelRepository.AttachNavigation(vwEntity.ModifyUser);
                _vehicleWheelRepository.Add(vwEntity);

                _unitOfWork.SaveChanges();
                result = Map(vwEntity, result);

                SpecialSparepartDetail wdEntity = _specialSparepartDetailRepository.GetById(vw.WheelDetailId);
                wdEntity.ModifyDate   = serverTime;
                wdEntity.ModifyUserId = userId;
                wdEntity.Status       = (int)DbConstant.WheelDetailStatus.Installed;

                _specialSparepartDetailRepository.AttachNavigation(wdEntity.Sparepart);
                _specialSparepartDetailRepository.AttachNavigation(wdEntity.CreateUser);
                _specialSparepartDetailRepository.AttachNavigation(wdEntity.ModifyUser);
                _specialSparepartDetailRepository.Update(wdEntity);
                _unitOfWork.SaveChanges();

                Sparepart spEntity = _sparepartRepository.GetById(wdEntity.SparepartId);
                spEntity.ModifyDate   = serverTime;
                spEntity.ModifyUserId = userId;
                spEntity.StockQty     = spEntity.StockQty - 1;

                _sparepartRepository.AttachNavigation(spEntity.UnitReference);
                _sparepartRepository.AttachNavigation(spEntity.CategoryReference);
                _sparepartRepository.AttachNavigation(spEntity.CreateUser);
                _sparepartRepository.AttachNavigation(spEntity.ModifyUser);
                _sparepartRepository.Update(spEntity);
                _unitOfWork.SaveChanges();

                SparepartStockCard stockCard = new SparepartStockCard();
                Reference          transactionReferenceTable = _referenceRepository.GetMany(r => r.Code == DbConstant.REF_TRANSTBL_VEHICLE).FirstOrDefault();

                stockCard.CreateUserId     = userId;
                stockCard.PurchaseDate     = serverTime;
                stockCard.PrimaryKeyValue  = wdEntity.Id;
                stockCard.ReferenceTableId = transactionReferenceTable.Id;
                stockCard.SparepartId      = spEntity.Id;
                stockCard.Description      = "Vehicle Update";
                stockCard.QtyOut           = 1;
                stockCard.QtyOutPrice      = Convert.ToDouble(wdEntity.PurchasingDetail != null ? wdEntity.PurchasingDetail.Price : wdEntity.SparepartManualTransaction != null ? wdEntity.SparepartManualTransaction.Price : 0);

                SparepartStockCard lastStockCard  = _sparepartStokCardRepository.RetrieveLastCard(spEntity.Id);
                double             lastStock      = 0;
                double             lastStockPrice = 0;
                if (lastStockCard != null)
                {
                    lastStock      = lastStockCard.QtyLast;
                    lastStockPrice = lastStockCard.QtyLastPrice;
                }

                stockCard.QtyFirst      = lastStock;
                stockCard.QtyFirstPrice = lastStockPrice;
                stockCard.QtyLast       = lastStock - stockCard.QtyOut;
                stockCard.QtyLastPrice  = lastStockPrice - stockCard.QtyOutPrice;
                _sparepartStokCardRepository.AttachNavigation(stockCard.CreateUser);
                _sparepartStokCardRepository.AttachNavigation(stockCard.Sparepart);
                _sparepartStokCardRepository.AttachNavigation(stockCard.ReferenceTable);
                stockCard = _sparepartStokCardRepository.Add(stockCard);
                _unitOfWork.SaveChanges();

                if (wdEntity.PurchasingDetail != null)
                {
                    SparepartStockCardDetail stockCardDtail = new SparepartStockCardDetail();
                    stockCardDtail.ParentStockCard = stockCard;
                    stockCardDtail.PricePerItem    = Convert.ToDouble(wdEntity.PurchasingDetail.Price);
                    stockCardDtail.QtyOut          = 1;
                    stockCardDtail.QtyOutPrice     = Convert.ToDouble(wdEntity.PurchasingDetail.Price);
                    SparepartStockCardDetail lastStockCardDetail = _sparepartStokCardDetailRepository.RetrieveLastCardDetailByPurchasingId(wdEntity.Sparepart.Id, wdEntity.PurchasingDetail.PurchasingId);
                    double lastStockDetail      = 0;
                    double lastStockDetailPrice = 0;
                    if (lastStockCardDetail != null)
                    {
                        lastStockDetail      = lastStockCardDetail.QtyLast;
                        lastStockDetailPrice = lastStockCardDetail.QtyLastPrice;
                    }
                    stockCardDtail.QtyFirst      = lastStockDetail;
                    stockCardDtail.QtyFirstPrice = lastStockDetailPrice;
                    stockCardDtail.QtyLast       = lastStockDetail - stockCardDtail.QtyOut;
                    stockCardDtail.QtyLastPrice  = lastStockDetailPrice - stockCardDtail.QtyOutPrice;
                    stockCardDtail.PurchasingId  = wdEntity.PurchasingDetail.PurchasingId;

                    _sparepartStokCardDetailRepository.AttachNavigation(stockCardDtail.ParentStockCard);
                    _sparepartStokCardDetailRepository.Add(stockCardDtail);
                    _unitOfWork.SaveChanges();
                }

                if (wdEntity.SparepartManualTransaction != null)
                {
                    SparepartStockCardDetail stockCardDtail = new SparepartStockCardDetail();
                    stockCardDtail.ParentStockCard = stockCard;
                    stockCardDtail.PricePerItem    = Convert.ToDouble(wdEntity.SparepartManualTransaction.Price);
                    stockCardDtail.QtyOut          = 1;
                    stockCardDtail.QtyOutPrice     = Convert.ToDouble(1 * wdEntity.SparepartManualTransaction.Price);
                    SparepartStockCardDetail lastStockCardDetail = _sparepartStokCardDetailRepository.RetrieveLastCardDetailByTransactionManualId(wdEntity.Sparepart.Id, wdEntity.SparepartManualTransactionId.Value);
                    double lastStockDetail      = 0;
                    double lastStockDetailPrice = 0;
                    if (lastStockCardDetail != null)
                    {
                        lastStockDetail      = lastStockCardDetail.QtyLast;
                        lastStockDetailPrice = lastStockCardDetail.QtyLastPrice;
                    }
                    stockCardDtail.QtyFirst      = lastStockDetail;
                    stockCardDtail.QtyFirstPrice = lastStockDetailPrice;
                    stockCardDtail.QtyLast       = lastStockDetail - stockCardDtail.QtyOut;
                    stockCardDtail.QtyLastPrice  = lastStockDetailPrice - stockCardDtail.QtyOutPrice;
                    stockCardDtail.SparepartManualTransactionId = wdEntity.SparepartManualTransactionId;

                    _sparepartStokCardDetailRepository.AttachNavigation(stockCardDtail.ParentStockCard);
                    _sparepartStokCardDetailRepository.Add(stockCardDtail);
                    _unitOfWork.SaveChanges();
                }

                _unitOfWork.SaveChanges();
            }

            return(result);
        }
示例#11
0
        public void SetWheelAsDeleted(int vehicleWheelId, int userId)
        {
            using (var trans = _unitOfWork.BeginTransaction())
            {
                try
                {
                    DateTime serverTime = DateTime.Now;

                    VehicleWheel vwEntity = _vehicleWheelRepository.GetById(vehicleWheelId);

                    _vehicleWheelRepository.AttachNavigation(vwEntity.Vehicle);
                    _vehicleWheelRepository.AttachNavigation(vwEntity.WheelDetail);
                    _vehicleWheelRepository.AttachNavigation(vwEntity.CreateUser);
                    _vehicleWheelRepository.AttachNavigation(vwEntity.ModifyUser);
                    _vehicleWheelRepository.Delete(vwEntity);
                    _unitOfWork.SaveChanges();

                    SpecialSparepartDetail wdEntity = _specialSparepartDetailRepository.GetById(vwEntity.WheelDetailId);
                    wdEntity.ModifyDate   = serverTime;
                    wdEntity.ModifyUserId = userId;
                    wdEntity.Status       = (int)DbConstant.WheelDetailStatus.Deleted;

                    _specialSparepartDetailRepository.AttachNavigation(wdEntity.Sparepart);
                    _specialSparepartDetailRepository.AttachNavigation(wdEntity.CreateUser);
                    _specialSparepartDetailRepository.AttachNavigation(wdEntity.ModifyUser);
                    _specialSparepartDetailRepository.Update(wdEntity);
                    _unitOfWork.SaveChanges();

                    SparepartStockCard stockCard = new SparepartStockCard();
                    Reference          transactionReferenceTable = _referenceRepository.GetMany(r => r.Code == DbConstant.REF_TRANSTBL_VEHICLE).FirstOrDefault();

                    stockCard.CreateUserId     = userId;
                    stockCard.PurchaseDate     = serverTime;
                    stockCard.PrimaryKeyValue  = wdEntity.Id;
                    stockCard.ReferenceTableId = transactionReferenceTable.Id;
                    stockCard.SparepartId      = wdEntity.SparepartId;
                    stockCard.Description      = "Hapus Ban Kendaraan Dari Stok";
                    stockCard.QtyOut           = 1;
                    stockCard.QtyOutPrice      = Convert.ToDouble(wdEntity.PurchasingDetail != null ? wdEntity.PurchasingDetail.Price : wdEntity.SparepartManualTransaction != null ? wdEntity.SparepartManualTransaction.Price : 0);

                    SparepartStockCard lastStockCard  = _sparepartStokCardRepository.RetrieveLastCard(wdEntity.SparepartId);
                    double             lastStock      = 0;
                    double             lastStockPrice = 0;
                    if (lastStockCard != null)
                    {
                        lastStock      = lastStockCard.QtyLast;
                        lastStockPrice = lastStockCard.QtyLastPrice;
                    }
                    stockCard.QtyFirst      = lastStock;
                    stockCard.QtyFirstPrice = lastStockPrice;
                    stockCard.QtyLast       = lastStock + stockCard.QtyOut;
                    stockCard.QtyLastPrice  = lastStockPrice + stockCard.QtyOutPrice;
                    _sparepartStokCardRepository.AttachNavigation(stockCard.CreateUser);
                    _sparepartStokCardRepository.AttachNavigation(stockCard.Sparepart);
                    _sparepartStokCardRepository.AttachNavigation(stockCard.ReferenceTable);
                    stockCard = _sparepartStokCardRepository.Add(stockCard);
                    _unitOfWork.SaveChanges();

                    if (wdEntity.PurchasingDetail != null)
                    {
                        SparepartStockCardDetail stockCardDtail = new SparepartStockCardDetail();
                        stockCardDtail.ParentStockCard = stockCard;
                        stockCardDtail.PricePerItem    = Convert.ToDouble(wdEntity.PurchasingDetail.Price);
                        stockCardDtail.QtyIn           = 1;
                        stockCardDtail.QtyInPrice      = Convert.ToDouble(wdEntity.PurchasingDetail.Price);
                        SparepartStockCardDetail lastStockCardDetail = _sparepartStokCardDetailRepository.RetrieveLastCardDetailByPurchasingId(wdEntity.Sparepart.Id, wdEntity.PurchasingDetail.PurchasingId);
                        double lastStockDetail      = 0;
                        double lastStockDetailPrice = 0;
                        if (lastStockCardDetail != null)
                        {
                            lastStockDetail      = lastStockCardDetail.QtyLast;
                            lastStockDetailPrice = lastStockCardDetail.QtyLastPrice;
                        }
                        stockCardDtail.QtyFirst      = lastStockDetail;
                        stockCardDtail.QtyFirstPrice = lastStockDetailPrice;
                        stockCardDtail.QtyLast       = lastStockDetail + stockCardDtail.QtyOut;
                        stockCardDtail.QtyLastPrice  = lastStockDetailPrice + stockCardDtail.QtyOutPrice;
                        stockCardDtail.PurchasingId  = wdEntity.PurchasingDetail.PurchasingId;

                        _sparepartStokCardDetailRepository.AttachNavigation(stockCardDtail.ParentStockCard);
                        _sparepartStokCardDetailRepository.Add(stockCardDtail);
                        _unitOfWork.SaveChanges();
                    }

                    if (wdEntity.SparepartManualTransaction != null)
                    {
                        SparepartStockCardDetail stockCardDtail = new SparepartStockCardDetail();
                        stockCardDtail.ParentStockCard = stockCard;
                        stockCardDtail.PricePerItem    = Convert.ToDouble(wdEntity.SparepartManualTransaction.Price);
                        stockCardDtail.QtyOut          = 1;
                        stockCardDtail.QtyOutPrice     = Convert.ToDouble(1 * wdEntity.SparepartManualTransaction.Price);
                        SparepartStockCardDetail lastStockCardDetail = _sparepartStokCardDetailRepository.RetrieveLastCardDetailByTransactionManualId(wdEntity.Sparepart.Id, wdEntity.SparepartManualTransactionId.Value);
                        double lastStockDetail      = 0;
                        double lastStockDetailPrice = 0;
                        if (lastStockCardDetail != null)
                        {
                            lastStockDetail      = lastStockCardDetail.QtyLast;
                            lastStockDetailPrice = lastStockCardDetail.QtyLastPrice;
                        }
                        stockCardDtail.QtyFirst      = lastStockDetail;
                        stockCardDtail.QtyFirstPrice = lastStockDetailPrice;
                        stockCardDtail.QtyLast       = lastStockDetail + stockCardDtail.QtyOut;
                        stockCardDtail.QtyLastPrice  = lastStockDetailPrice + stockCardDtail.QtyOutPrice;
                        stockCardDtail.SparepartManualTransactionId = wdEntity.SparepartManualTransactionId;

                        _sparepartStokCardDetailRepository.AttachNavigation(stockCardDtail.ParentStockCard);
                        _sparepartStokCardDetailRepository.Add(stockCardDtail);
                        _unitOfWork.SaveChanges();
                    }
                    trans.Commit();
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw;
                }
            }
        }
示例#12
0
        public int GetCurrentWheelDetailId(int vehicleWheelId)
        {
            VehicleWheel result = _vehicleWheelRepository.GetById(vehicleWheelId);

            return(result.WheelDetailId);
        }
 public VehicleWheelStateChangedArgs(Vehicle vehicle, VehicleWheel wheel, VehicleWheelState state)
 {
     this.Vehicle = vehicle;
     this.Wheel   = wheel;
     this.State   = state;
 }
示例#14
0
 /// <summary>
 /// Sets <paramref name="vehicleWheel"/> at given <paramref name="height"/>.
 /// </summary>
 /// <param name="vehicleWheel">Instance of a <see cref="VehicleWheel"/>.</param>
 /// <param name="height">Height of the wheel.</param>
 public static void LiftUpWheel(this VehicleWheel vehicleWheel, float height)
 {
     Function.Call(Hash._SET_HYDRAULIC_WHEEL_VALUE, vehicleWheel.Vehicle, vehicleWheel.Index, height);
 }