public void deleteCharacter(object sender, System.EventArgs e) { using (var context = new PlayerContext()) { CharactersToPlayers rel = context.CharactersToPlayers.Where(x => x.CharacterId == currentCharacter.CharacterID && x.PlayerName.Equals(Context.User.Identity.Name)).First <CharactersToPlayers>(); IQueryable <Campaign> campaigns = master.GetCampaigns(currentCharacter.CharacterID); List <CampaignsToPlayers> campRels = new List <CampaignsToPlayers>(); if (campaigns != null && campaigns.Count() > 0) { foreach (Campaign cam in campaigns) { campRels.AddRange(context.CampaignsToPlayers.Where(x => x.CharacterID == currentCharacter.CharacterID && cam.CampaignId == x.CampaignId)); } } context.Characters.Attach(currentCharacter); context.Characters.Remove(currentCharacter); context.CharactersToPlayers.Attach(rel); context.CharactersToPlayers.Remove(rel); for (int i = 0; i < campRels.Count; i++) { context.CampaignsToPlayers.Attach(campRels[i]); context.CampaignsToPlayers.Remove(campRels[i]); } context.SaveChanges(); } Response.Redirect(master.getURL("../Account/UserPage.aspx", playerPage.PlayerId, playerPage.PlayerName)); }
public void createCharacter() { Message.Visible = true; int health; if (String.IsNullOrWhiteSpace(CharacterName.Text)) { Message.Text = "Please enter a name!"; } else if (String.IsNullOrWhiteSpace(CharacterClass.Text)) { Message.Text = "Please enter a class!"; } else if (String.IsNullOrWhiteSpace(CharacterSpecie.Text)) { Message.Text = "Please enter a specie!"; } else if (String.IsNullOrWhiteSpace(CharacterHealth.Text) || !Int32.TryParse(CharacterHealth.Text, out health)) { Message.Text = "Please enter your health!"; } else { using (var context = new PlayerContext()) { Player creator = master.GetPlayer(Context.User.Identity.Name); Character chara = new Character(); chara.PlayerID = creator.PlayerId; chara.CharacterName = CharacterName.Text; chara.MaxHealth = health; chara.CurrentHealth = health; chara.Specie = CharacterSpecie.Text; chara.Class = CharacterClass.Text; chara.Alive = true; chara.Level = 1; chara.Status = "Normal"; chara.BaseStrength = Int32.Parse(CBaseAttack.Text); chara.StrengthModifier = Int32.Parse(CAttackModifier.Text); chara.BaseIntelligence = Int32.Parse(CBaseIntelligence.Text); chara.IntelligenceModifier = Int32.Parse(CIntelligenceModifier.Text); chara.BaseDexterity = Int32.Parse(CBaseDexterity.Text); chara.DexterityModifier = Int32.Parse(CDexterityModifier.Text); chara.BaseWisdom = Int32.Parse(CBaseWisdom.Text); chara.WisdomModifier = Int32.Parse(CWisdomModifier.Text); chara.BaseCharisma = Int32.Parse(CBaseCharisma.Text); chara.CharismaModifier = Int32.Parse(CCharismaModifier.Text); chara.BaseConstitution = Int32.Parse(CBaseConstitution.Text); chara.ConstitutionModifier = Int32.Parse(CConstitutionModifier.Text); chara.assignInitialAlignmentVals(ge.SelectedValue, cl.SelectedValue); context.Characters.Add(chara); context.SaveChanges(); CharactersToPlayers rel = new CharactersToPlayers(); rel.CharacterId = chara.CharacterID; rel.CharacterName = chara.CharacterName; rel.PlayerId = creator.PlayerId; rel.PlayerName = creator.PlayerName; context.CharactersToPlayers.Add(rel); context.SaveChanges(); Server.Transfer(master.getURL("../Account/UserPage.aspx", creator.PlayerId, creator.PlayerName)); } } }