public async Task <IActionResult> Edit(int id, [Bind("PlayerId,CampaignId")] CampaignPlayer campaignPlayer) { if (id != campaignPlayer.PlayerId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(campaignPlayer); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CampaignPlayerExists(campaignPlayer.PlayerId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["CampaignId"] = new SelectList(_context.Campaigns, "Id", "Id", campaignPlayer.CampaignId); ViewData["PlayerId"] = new SelectList(_context.Players, "Id", "Id", campaignPlayer.PlayerId); return(View(campaignPlayer)); }
public Message GetMessage(LobbyPlayer player, DatabaseObject progressTable) { var m = Message.Create("getCampaigns"); if (player.IsGuest) { return(m); } foreach (var campaign in campaigns) { if ((!campaign.Visible && !player.IsAdmin && !player.IsModerator) || (campaign.BetaOnly && !player.HasBeta)) { continue; } var arch = player.Achievements.Get(campaign.Badge); if (arch == null) { continue; } m.Add(campaign.Id); m.Add(campaign.Title); m.Add(campaign.Description); m.Add(campaign.Difficulty); var campaignPlayer = new CampaignPlayer(progressTable, campaign.Id); m.Add(campaignPlayer.CurrentTier == campaign.Tiers); var levels = campaign.Levels; m.Add(levels.Count); foreach (var level in levels) { m.Add(level.Id); m.Add(level.Name); m.Add(level.Creators); m.Add(level.Difficulty); m.Add(level.Tier + 1); m.Add((int)campaignPlayer.GetStatus(level.Tier)); var rewards = level.Rewards; m.Add(rewards.Count); foreach (var reward in rewards) { m.Add(reward.Key); m.Add(reward.Value); } } } return(m); }
public async Task <IActionResult> Create([Bind("PlayerId,CampaignId")] CampaignPlayer campaignPlayer) { if (ModelState.IsValid) { _context.Add(campaignPlayer); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["CampaignId"] = new SelectList(_context.Campaigns, "Id", "Id", campaignPlayer.CampaignId); ViewData["PlayerId"] = new SelectList(_context.Players, "Id", "Id", campaignPlayer.PlayerId); return(View(campaignPlayer)); }