public async Task <HttpResponseMessage> Create(CarSaveModel model)
        {
            if (model != null)
            {
                await carService.CreateAsync(model);

                return(Success());
            }

            return(Failure("Невозможно добавить пустой элемент"));
        }
Example #2
0
        public void Update(long id, CarSaveModel carModel)
        {
            var car = dataStore.Get <Car>(id);

            if (car == null)
            {
                throw new EntityNotFoundException($"Запись типа {typeof(Car).Name} c идентификатором {id} не существует");
            }

            carModel.ApplyToEntity(car, dataStore, positionService);

            dataStore.SaveChanges();
        }
        public ActionResult Edit(long id, CarSaveModel updateModel)
        {
            carService.Update(id, updateModel);

            return(RedirectToAction("Edit", new { id = id }));
        }
        /// <summary>
        /// Частичное представление - открытие окна создания
        /// </summary>
        public ActionResult Create()
        {
            var model = new CarSaveModel();

            return(PartialView("Partial/Create", model));
        }
Example #5
0
        public static void SaveProgress(GameManager gameManager, bool toCloud = false)
        {
            ObscuredPrefs.SetInt(WorldConsts.Currency, CurrencyManager.CurrentCurrency);
            MainSaveModel.Instanse.CurrentCurrency = CurrencyManager.CurrentCurrency;
            MainSaveModel.Instanse.LogoutTs        = DateTime.Now;

            MainSaveModel.Instanse.Stats = new Dictionary <string, float>();
            MainSaveModel.Instanse.Stats[WorldConsts.Health] = gameManager.PlayerModel.Health;
            MainSaveModel.Instanse.Stats[WorldConsts.Hunger] = gameManager.PlayerModel.Hunger;
            MainSaveModel.Instanse.Stats[WorldConsts.Thirst] = gameManager.PlayerModel.Thirst;
            MainSaveModel.Instanse.Stats[WorldConsts.Energy] = gameManager.PlayerModel.Energy;

            MainSaveModel.Instanse.CurrentTime = TOD_Sky.Instance.Cycle.Hour;

            MainSaveModel.Instanse.IsBuyStarterPack = gameManager.IapManager.IsBuyStarterPack;
            MainSaveModel.Instanse.IsBuyFirst30000  = gameManager.IapManager.IsBuyFirst30000;
            MainSaveModel.Instanse.IsBuyNoAds       = gameManager.IapManager.IsBuyNoAds;

            MainSaveModel.Instanse.InCar = gameManager.Player.InCar;

            MainSaveModel.Instanse.CurrentBackpack = (int)gameManager.PlayerModel.CurrentBackpack;
            var playerPosition = gameManager.Player.transform.localPosition;

            MainSaveModel.Instanse.PlayerPosition = new List <float>
            {
                playerPosition.x,
                playerPosition.y,
                playerPosition.z
            };
            var playerRotation = gameManager.Player.transform.localEulerAngles;

            MainSaveModel.Instanse.PlayerRotation = playerRotation.y;

            #region Inventory
            MainSaveModel.Instanse.PlayerInventory = new InventorySaveModel();

            for (int i = 0; i < gameManager.PlayerModel.Inventory.MaxSlots; i++)
            {
                var slot = gameManager.PlayerModel.Inventory.Slots[i];
                if (slot != null)
                {
                    MainSaveModel.Instanse.PlayerInventory.ItemInSlots[i.ToString()]           = slot.Item.GetType().Name;
                    MainSaveModel.Instanse.PlayerInventory.ItemAmountInSlots[i.ToString()]     = slot.Amount;
                    MainSaveModel.Instanse.PlayerInventory.ItemDurabilityInSlots[i.ToString()] = slot.CurrentDurability;
                }
            }
            for (int i = 0; i < WorldConsts.QuickSlotsAmount; i++)
            {
                var slot = gameManager.PlayerModel.Inventory.QuickSlots[i];
                if (slot != null)
                {
                    MainSaveModel.Instanse.PlayerInventory.ItemInQuickSlots[i.ToString()]           = slot.Item.GetType().Name;
                    MainSaveModel.Instanse.PlayerInventory.ItemAmountInQuickSlots[i.ToString()]     = slot.Amount;
                    MainSaveModel.Instanse.PlayerInventory.ItemDurabilityInQuickSlots[i.ToString()] = slot.CurrentDurability;
                }
            }
            for (int i = 0; i < WorldConsts.EquipSlotsAmount; i++)
            {
                var slot = gameManager.PlayerModel.Inventory.EquipSlots[i];
                if (slot != null)
                {
                    MainSaveModel.Instanse.PlayerInventory.ItemInEquipSlots[i.ToString()]           = slot.Item.GetType().Name;
                    MainSaveModel.Instanse.PlayerInventory.ItemAmountInEquipSlots[i.ToString()]     = slot.Amount;
                    MainSaveModel.Instanse.PlayerInventory.ItemDurabilityInEquipSlots[i.ToString()] = slot.CurrentDurability;
                }
            }
            #endregion

            MainSaveModel.Instanse.GroundItems = gameManager.PlacementItemsController.GetItemsToSerialize();

            if (gameManager.CarInteractive != null)
            {
                var carModel     = new CarSaveModel();
                var carTransfrom = gameManager.CarInteractive.transform;
                carModel.PosX = carTransfrom.position.x;
                carModel.PosY = carTransfrom.position.y;
                carModel.PosZ = carTransfrom.position.z;

                var carRotation = carTransfrom.eulerAngles;
                carModel.RotX = carRotation.x;
                carModel.RotY = carRotation.y;
                carModel.RotZ = carRotation.z;

                carModel.Petrol = gameManager.CarInteractive.Petrol;
                MainSaveModel.Instanse.CarModel = carModel;
            }

            MainSaveModel.Instanse.CurrentTerratinId = gameManager.CurrentTerain == gameManager.Terrain2 ? 1 : 0;

            var jsString = JsonWriter.Serialize(MainSaveModel.Instanse);
            var saveData = AES.Encrypt(jsString, WorldConsts.CryptKey);
            ObscuredPrefs.SetString(WorldConsts.Save0, saveData);

            if (toCloud)
            {
                GooglePlayServicesController.SaveGame(GetBytes(saveData));
            }

            //Debug.Log("Save Progress " + jsString);
        }