Esempio n. 1
0
 /// <summary>
 /// Возвращает следующий апгрейд для склада или возвращает null, если уровень апгерйда максимален
 /// </summary>
 /// <returns></returns>
 public TransportType GetNextTransportUpgrade(Transport transport)
 {
     if (transport.TransportType.Level == 12)
     {
         return null;
     }
     return DataContext.TransportTypes.FirstOrDefault(ht => ht.Level == transport.TransportType.Level + 1);
 }
Esempio n. 2
0
		private void detach_Transports(Transport entity)
		{
			this.SendPropertyChanging();
			entity.User = null;
		}
Esempio n. 3
0
		private void attach_Transports(Transport entity)
		{
			this.SendPropertyChanging();
			entity.User = this;
		}
Esempio n. 4
0
        public ActionResult BuyTransport()
        {
            // Проверяем что пользователь авторизован
            if (!IsAuthentificated)
            {
                return RedirectToAction("Register");
            }

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

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

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

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