Exemple #1
0
 /// <summary>
 /// Возвращает следующий апгрейд для склада или возвращает null, если уровень апгерйда максимален
 /// </summary>
 /// <returns></returns>
 public WarehouseType GetNextWarehouseUpgrade(Warehouse warehouse)
 {
     if (warehouse.WarehouseType.Level == 12)
     {
         return null;
     }
     return DataContext.WarehouseTypes.FirstOrDefault(ht => ht.Level == warehouse.WarehouseType.Level + 1);
 }
Exemple #2
0
		private void detach_Warehouses(Warehouse entity)
		{
			this.SendPropertyChanging();
			entity.WarehouseType = null;
		}
Exemple #3
0
		private void attach_Warehouses(Warehouse entity)
		{
			this.SendPropertyChanging();
			entity.WarehouseType = this;
		}
        public ActionResult BuyWarehouse()
        {
            // Проверяем что пользователь авторизован
            if (!IsAuthentificated)
            {
                return RedirectToAction("Register");
            }

            // Проверяем что на счету пользователя есть указанная сумма
            if (CurrentUser.GetGoldCoins() < 500)
            {
                return View("NotEnoughMoney");
            }

            // Выполняем списание и добавляем новый склад
            CurrentUser.ChargeGoldCoins(500, "Покупка нового склада");

            // Доабвляем пользователю новый склад
            var newWarehouse = new Warehouse()
                {
                    Status = 1,
                    CurrentHoney = 0,
                    DateCreated = DateTime.Now,
                    User = CurrentUser,
                    WarehouseTypeId = 1,
                    Notes = "Склад"
                };
            CurrentUser.Warehouses.Add(newWarehouse);
            UsersManager.SubmitChanges();

            // перенаправляем на список ульев
            return RedirectToAction("Warehouses", "Apiary");
        }