예제 #1
0
 /// <summary>
 /// Возвращает следующий апгрейд для улья или возвращает null, если уровень апгерйда максимален
 /// </summary>
 /// <returns></returns>
 public HiveType GetNextHiveUpgrade(Hive hive)
 {
     if (hive.HiveType.Level == 12)
     {
         return null;
     }
     return DataContext.HiveTypes.FirstOrDefault(ht => ht.Level == hive.HiveType.Level + 1);
 }
예제 #2
0
		private void detach_Hives(Hive entity)
		{
			this.SendPropertyChanging();
			entity.User = null;
		}
예제 #3
0
		private void attach_Hives(Hive entity)
		{
			this.SendPropertyChanging();
			entity.User = this;
		}
예제 #4
0
        public ActionResult BuyHive()
        {
            // Проверяем что пользователь авторизован
            if (!IsAuthentificated)
            {
                return RedirectToAction("Register");
            }

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

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

            // Доабвляем пользователю новый склад
            var newHive = new Hive()
                {
                    Status = 1,
                    CurrentHoney = 0,
                    DateCreated = DateTime.Now,
                    HasAutoCollector = false,
                    HiveTypeId = 1,
                    User = CurrentUser,
                    Notes = "Улей"
                };
            CurrentUser.Hives.Add(newHive);
            UsersManager.SubmitChanges();

            // перенаправляем на список ульев
            return RedirectToAction("Hives", "Apiary");
        }
예제 #5
0
 /// <summary>
 /// Возвращает тип автоматического сборщика, который необходим для указанного улья
 /// </summary>
 /// <param name="hive">Улей</param>
 /// <returns></returns>
 public AutoCollectorType GetAutoCollectorForHive(Hive hive)
 {
     return DataContext.AutoCollectorTypes.FirstOrDefault(ht => ht.Level == hive.HiveType.Level);
 }