Esempio n. 1
0
        public void Save(CarInstance carInstance, string userName, ApplicationUser user = null)
        {
            if (user == null)
            {
                user = GetUser(userName);
            }
            if (carInstance.Id != 0 &&
                user.CarInstances.Any(ci => ci.Id == carInstance.Id))
            {
                return;
            }

            user.CarInstances.Add(carInstance);
            appDbContext.CarInstances.Add(carInstance);
            appDbContext.CarModSelections.AddRange(carInstance.SelectedCarMods);

            appDbContext.CarMods
            .AttachRange(
                carInstance.SelectedCarMods
                .Select(scm => scm.CarMod));
            appDbContext.Products
            .AttachRange(
                carInstance.SelectedCarMods
                .Select(scm => scm.CarMod.Product));
            appDbContext.Styles.Attach(carInstance.Style);

            appDbContext.SaveChanges();
        }
Esempio n. 2
0
        public void Overwrite(CarInstance carInstance, string userName)
        {
            var user = GetUser(userName);
            var selectedCarInstance = user.CarInstances
                                      .Where(ci => ci.Id == carInstance.Id)
                                      .FirstOrDefault();

            if (selectedCarInstance == null)
            {
                return;
            }

            var ids = carInstance.SelectedCarMods
                      .Select(scm => scm.CarMod.Id)
                      .ToList();

            var dbCarMods = (
                from cm in appDbContext.CarMods
                where ids.Contains(cm.Id)
                select cm)
                            .Select(cm => new CarModSelection {
                CarMod = cm
            })
                            .ToList();

            selectedCarInstance = (
                from ci in appDbContext.CarInstances
                where ci.Id == selectedCarInstance.Id
                select ci)
                                  .Include(ci => ci.SelectedCarMods).First();

            selectedCarInstance.SelectedCarMods.RemoveAll(scm => true);
            selectedCarInstance.SelectedCarMods = dbCarMods;
            appDbContext.SaveChanges();
        }
Esempio n. 3
0
 public void NotifyBayEntered(Bay bay, CarInstance carInstance)
 {
     if (bay == null)
     {
         return;
     }
     bay.carStatus = Bay.CarStatus.FULL;
 }
Esempio n. 4
0
    void SpawnCar(int bay)
    {
        GameObject  pref    = carPrefabs[Random.Range(0, carPrefabs.Length)];
        GameObject  car     = Instantiate(pref);
        CarInstance carInst = car.GetComponent <CarInstance>();

        bayController.AllocateBay(bay, carInst);
        carInst.thisBay = bayController.bays[bay];
    }
Esempio n. 5
0
    public void AllocateBay(Bay bay, CarInstance carInstance)
    {
        bay.carStatus       = Bay.CarStatus.WAITING;
        bay.currentCar      = carInstance;
        bay.currentProgress = 1f;

        carInstance.SetAnimationBay(bay.bayNum);
        carInstance.thisBay = bay;
    }
 public void DisplayNewCarCell(CarInstance carInstance)
 {
     GarageItemsList.Add(new CarInstance
     {
         ItemType     = carInstance.ItemType,
         Manufacturer = carInstance.Manufacturer,
         Model        = carInstance.Model,
         VIN          = carInstance.VIN,
         Year         = carInstance.Year
     });
 }
        async void OnTapEventAsyncCar(object sender, ItemTappedEventArgs e)
        {
            if (e.Item == null)
            {
                return;
            }
            carInstanceItem = e.Item as CarInstance;
            CarDetailsPopup itemToUpdate = new CarDetailsPopup(carInstanceItem);
            //itemToUpdate.UpdateItem += new EventHandler(UpdatingItem);

            await PopupNavigation.Instance.PushAsync(itemToUpdate);
        }
Esempio n. 8
0
        public void SaveItem()
        {
            CarInstance carInstance = new CarInstance
            {
                ItemType      = ItemType.SelectedItem.ToString(),
                VIN           = VINNumber.Text,
                Manufacturer  = Manufacturer.SelectedItem.ToString(),
                Model         = Model.Text,
                Year          = Year.Text,
                DatePurchaced = DatePurchased.Date
            };

            NewCarDet = carInstance;
        }
Esempio n. 9
0
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Mouse0))
     {
         GetComponent <Animator>().SetBool("Brushing", true);
         RaycastHit rh;
         if (Physics.Raycast(playerCamera.ScreenToWorldPoint(Input.mousePosition), playerCamera.transform.forward, out rh))
         {
             if (rh.collider.name == "MainBody")
             {
                 if (Vector3.Distance(rh.collider.ClosestPoint(transform.position), transform.position) > 5)
                 {
                     return;
                 }
                 Material    dirtMat     = rh.collider.gameObject.GetComponent <MeshRenderer>().materials[1];
                 float       currentDirt = Mathf.Clamp01(dirtMat.GetFloat("_BlendAmount") - (1 / cleaningSpeed));
                 CarInstance carTarget   = rh.collider.GetComponentInParent <CarInstance>();
                 lastCarCleaned       = carTarget;
                 carTarget.isCleaning = true;
                 carTarget.cleaningParticles.Emit(5);
                 if (currentDirt <= 0)
                 {
                     if (carTarget.thisBay == null)
                     {
                         return;
                     }
                     //Car is completely clean
                     BayController.bc.NotifyBayCleaned(carTarget.thisBay);
                 }
                 dirtMat.SetFloat("_BlendAmount", currentDirt);
                 BayController.bc.currentCleaningBay = carTarget.thisBay;
             }
             else
             {
                 BayController.bc.currentCleaningBay = null;
             }
         }
     }
     else
     {
         GetComponent <Animator>().SetBool("Brushing", false);
         if (lastCarCleaned != null)
         {
             lastCarCleaned.isCleaning = false;
         }
         BayController.bc.currentCleaningBay = null;
     }
 }
Esempio n. 10
0
 public CarDetailsPopup(CarInstance carInstance)
 {
     InitializeComponent();
 }
 public void OverwriteCarInstance([FromBody] CarInstance carInstance)
 {
     carInstancesService.Overwrite(carInstance, User.Identity.Name);
 }
 public void SaveCarInstance([FromBody] CarInstance carInstance)
 {
     carInstancesService.Save(carInstance, User.Identity.Name);
 }
Esempio n. 13
0
 //Allows a bay to be entered, by setting it to empty.
 public void AllocateBay(int bayNum, CarInstance carInstance)
 {
     AllocateBay(bays[bayNum], carInstance);
 }