public async Task <ActionResult> GetMessagesMonster(Guid qId) { var user = await UserFacade.GetUserAccordingToUsernameAsync(User.Identity.Name); var quest = await QuestFacade.GetQuestAsync(qId); var result = await CombatFacade.FightAsync(user.Character, quest.Monster, quest); //update character if won if (result.Item1) { var messageText = $"Congratulations you won the match and your reward is: {quest.Gold} gold, {quest.Experience} experience."; if (quest.Item != null) { var item = await EquipmentFacade.AddToInventoryAsync(user.Character.Inventory, quest.Item); if (item) { messageText += $"\nYou also receieved an item called {quest.Item.Name}, which is in your inventory."; } } await UserFacade.MessageCreateAsync(user, new MessageDto() { MessageText = messageText, Arrived = DateTime.Now }); } var list = result.Item2.Select(x => new { Message = x }).ToList(); return(Json(new { Winner = result.Item1, List = list }, JsonRequestBehavior.AllowGet)); }
// GET: Admin/Monster public async Task <ActionResult> Index(int page = 1) { var list = (await QuestFacade.GetAllQuestsAsync()).ToList(); var toShow = list.Skip((page - 1) * 10).Take(10); ViewBag.Count = list.Count; ViewBag.Current = page; return(View("~/Views/Admin/Quest/Index.cshtml", toShow)); }
// GET: DashBoard public async Task <ActionResult> Index() { var itemsList = (await EquipmentFacade.GetAllItemsAsync()).ToList(); ViewBag.Items = itemsList.Count(a => a.ShopId == null); ViewBag.ShopItems = itemsList.Count(a => a.ShopId != null); ViewBag.Monsters = (await MonsterFacade.GetAllMonstersAsync()).Count(); ViewBag.Quests = (await QuestFacade.GetAllQuestsAsync()).Count(); ViewBag.Mini = (await MiniLocationFacade.GetAllItemsAsync()).Count(); ViewBag.Locations = (await LocationFacade.GetAllAsync()).Count(); return(View()); }
public async Task <ActionResult> Create(QuestDto model) { var monster = new MonsterDto() { Id = model.MonsterId.GetValueOrDefault() }; var item = new ItemDto() { Id = model.ItemId.GetValueOrDefault() }; model.ItemId = null; model.MonsterId = null; model.Id = await QuestFacade.CreateQuest(new QuestDto() { Experience = model.Experience, Gold = model.Gold }); await QuestFacade.AssignAsync(model, monster, item); return(RedirectToAction("Index")); }
public async Task <ActionResult> Delete(Guid id) { await QuestFacade.DeleteQuestAsync(id); return(RedirectToAction("Index")); }