public static User CreateNewUser(DungeonsAndDragonsContext _context, string username, string password) { _context.users.Add(new User { username = username, password = password }); _context.SaveChanges(); return(_context.users.SingleOrDefault(u => u.username == username)); }
public static NonPlayableCharacter CreateNonPlayableCharacter(DungeonsAndDragonsContext _context, int gameid, string chracterName, int speciesId, int maxHp, int attack, string imagePath, int currentHp) { var character = new NonPlayableCharacter() { gameid = gameid, name = chracterName, species_id = speciesId, maxHp = maxHp, attack = attack, imagePath = imagePath, currentHp = currentHp }; _context.nonplayablecharacters.Add(character); _context.SaveChanges(); return(character); }
public static GameUser AssignCharacterToGamePlayer(DungeonsAndDragonsContext _context, int gameUserId, int characterId) { var gamePlayer = GetGameUserByID(_context, gameUserId); if (gameUserId != 0) { gamePlayer.playablecharacterid = characterId; _context.SaveChanges(); } return(gamePlayer); }
public static PlayableCharacter CreateNewCharacter(DungeonsAndDragonsContext _context, int userId, string characterName, int speciesId, int baseHP, int baseAttack, string imagePath, int currentHp) { PlayableCharacter character = new PlayableCharacter() { userid = userId, name = characterName, species_id = speciesId, maxHp = baseHP, attack = baseAttack, imagePath = imagePath, currentHp = currentHp }; _context.playablecharacters.Add(character); _context.SaveChanges(); return(character); }
public static List <Inventory> getPlayersInventory(DungeonsAndDragonsContext _context, int chracterId) { List <Inventory> playersInventory = new List <Inventory>(); var inventoryQuery = _context.inventory.Where(i => i.chracterid == chracterId); foreach (var item in inventoryQuery) { playersInventory.Add(item); } return(playersInventory); }
public static List <InventoryMapping> GetPlayersInventoryForDisplay(DungeonsAndDragonsContext _context, int characterId) { IQueryable join = InventoryMapping.InventoryAndIventoryItemJoin(_context, characterId); List <InventoryMapping> userInventory = new List <InventoryMapping>(); foreach (InventoryMapping item in join) { userInventory.Add(item); } return(userInventory); }
public static bool ValidateAndSendInvite(DungeonsAndDragonsContext _context, int gameId, string inviteeUsername, string signedInUsername) { User invitedUser = _context.users.SingleOrDefault(x => x.username == inviteeUsername); if (ValidateInvite(_context, gameId, invitedUser.username, signedInUsername)) { SendInvite(_context, gameId, invitedUser); return(true); } else { return(false); } }
public static GameUser GenerateCharacter(DungeonsAndDragonsContext _context, int gamesUsersId, int userId, int speciesId, string characterName) { Species species = Models.Species.GetSpeciesByID(_context, speciesId); PlayableCharacter newCharacter = Models.PlayableCharacter.CreateNewCharacter(_context, userId, characterName, speciesId, species.base_hp, species.base_attack, species.image_path, species.base_hp); GameUser AssignedCharacter = Models.GameUser.AssignCharacterToGamePlayer(_context, gamesUsersId, newCharacter.id); Inventory Coins = Models.Inventory.addItemToInventory(_context, newCharacter.id, 6, 100); Inventory Potion = Models.Inventory.addItemToInventory(_context, newCharacter.id, 1, 1); return(AssignedCharacter); }
public static Mapping GetStatsForNpcCharacter(DungeonsAndDragonsContext _context, int characterId) { IQueryable SpeciesandNPCJoin = Mapping.SpeciesAndNpcJoin(_context); Mapping characterStats = new Mapping(); foreach (Mapping character in SpeciesandNPCJoin) { if (character.nonplayablecharacterid == characterId) { characterStats = character; } } return(characterStats); }
public static Mapping GetStatsForUserGeneratedCharacter(DungeonsAndDragonsContext _context, int characterId) { IQueryable speciesAndCharacterJoin = Mapping.SpeciesAndCharacterJoin(_context); Mapping characterStats = new Mapping(); foreach (Mapping character in speciesAndCharacterJoin) { if (character.playablecharacterid == characterId) { characterStats = character; } } return(characterStats); }
public static void UseHealingItem(DungeonsAndDragonsContext _context, int playerInventoryItemId, int playableCharacterId) { var playerInventory = Inventory.GetPlayersInventoryForDisplay(_context, playableCharacterId); Inventory.RemoveHealingItemFromInventory(_context, playableCharacterId, playerInventoryItemId, 1); var healingFactor = playerInventory.Find(i => i.id == playerInventoryItemId); var playableCharacter = GetPlayableCharacterById(_context, playableCharacterId); playableCharacter.currentHp += healingFactor.healingFactor; if (playableCharacter.currentHp > playableCharacter.maxHp) { playableCharacter.currentHp = playableCharacter.maxHp; } ; _context.SaveChanges(); }
public static bool IsUserInGame(DungeonsAndDragonsContext _context, int loggedInUserId, int gameId) { GameUser check = _context.gamesusers.SingleOrDefault(x => x.gameid == gameId & x.userid == loggedInUserId); var dmcheck = _context.games.Find(gameId); if (check != null) { return(true); } else if (dmcheck.dm == loggedInUserId) { return(true); } else { return(false); } }
public static IQueryable SpeciesAndNpcJoin(DungeonsAndDragonsContext _context) { return (from species in _context.species join character in _context.nonplayablecharacters on species.id equals character.species_id select new Mapping { speciesid = species.id, speciestype = species.species_type, speciesimage = species.image_path, speciesbasehp = species.base_hp, speciesbaseattack = species.base_attack, nonplayablecharacterid = character.id, nonplayablecharactername = character.name, nonplayablecharacterhp = character.maxHp, nonplayablecharacterattack = character.attack }); }
public static Merchant StartMerchant(DungeonsAndDragonsContext _context, int gameId) { int dmId = _context.games.SingleOrDefault(x => x.id == gameId).dm; List <GameUser> gameUserResults = _context.gamesusers.Where(x => x.gameid == gameId & x.playablecharacterid != null).ToList(); List <PlayableCharacter> players = new List <PlayableCharacter> { }; foreach (var result in gameUserResults) { var player = _context.playablecharacters.SingleOrDefault(x => x.id == result.playablecharacterid); players.Add(player); } var merchant = new Merchant() { gameId = gameId, dmId = dmId, players = players }; return(merchant); }
public static string GetInvalidInviteString(DungeonsAndDragonsContext _context, int gameId, string inviteeUsername, string signedInUsername) { var inviteduser = _context.users.SingleOrDefault(x => x.username == inviteeUsername); if (inviteduser == null) { return("Player does not exist."); } else if (inviteeUsername == signedInUsername) { return("Cannot invite yourself to a game."); } else if (_context.gamesusers.SingleOrDefault(x => x.userid == inviteduser.id & x.gameid == gameId) != null) { return("Player has already been invited."); } else { return("Invite failed."); } }
public static IQueryable InventoryAndIventoryItemJoin(DungeonsAndDragonsContext _context, int charcterId) { IQueryable UsersInventory = from inventory in _context.inventory join InventoryItem in _context.inventoryitems on inventory.inventoryItemId equals InventoryItem.id where inventory.chracterid == charcterId select new InventoryMapping { id = inventory.id, itemName = InventoryItem.itemName, itemType = InventoryItem.itemType, imagePath = InventoryItem.imagePath, healingFactor = InventoryItem.healingFactor, attack = InventoryItem.attack, quantity = inventory.quantity, monetaryValue = InventoryItem.monetaryValue }; return(UsersInventory); }
public static IQueryable GameUserAndPlayableCharacterJoin(DungeonsAndDragonsContext _context, int gameId) { IQueryable gameLobbyAcceptedAndPendingPlayers = from gameuser in _context.gamesusers join user in _context.users on gameuser.userid equals user.id join character in _context.playablecharacters on gameuser.playablecharacterid equals character.id into leftjoin from character in leftjoin.DefaultIfEmpty() where gameuser.gameid == gameId select new Mapping { userid = user.id, userusername = user.username, gameid = gameuser.gameid, playablecharacterid = gameuser.playablecharacterid, playablecharactername = character.name }; return(gameLobbyAcceptedAndPendingPlayers); }
public static Inventory RemoveHealingItemFromInventory(DungeonsAndDragonsContext _context, int chracterId, int itemId, int quantity) { List <Inventory> playersCurrentInventory = getPlayersInventory(_context, chracterId); Inventory itemToUpdate = playersCurrentInventory.FirstOrDefault(i => i.id == itemId); if (itemToUpdate != null) { if (itemToUpdate.quantity <= quantity) { itemToUpdate.quantity = 0; } else { itemToUpdate.quantity = itemToUpdate.quantity - quantity; } _context.SaveChanges(); } return(itemToUpdate); }
public static bool ValidateInvite(DungeonsAndDragonsContext _context, int gameId, string inviteeUsername, string signedInUsername) { var inviteduser = _context.users.SingleOrDefault(x => x.username == inviteeUsername); if (inviteduser == null) { return(false); } else if (inviteeUsername == signedInUsername) { return(false); } else if (_context.gamesusers.SingleOrDefault(x => x.userid == inviteduser.id & x.gameid == gameId) != null) { return(false); } else { return(true); } }
public static IQueryable GameAndUserJoin(DungeonsAndDragonsContext _context, int loggedinuserid) { IQueryable useracceptedandpendinggames = from gameuser in _context.gamesusers join game in _context.games on gameuser.gameid equals game.id join user in _context.users on game.dm equals user.id where gameuser.userid == loggedinuserid select new Mapping { id = gameuser.id, gameid = game.id, gamename = game.name, gamedm = game.dm, playablecharacterid = gameuser.playablecharacterid, userid = user.id, userusername = user.username }; return(useracceptedandpendinggames); }
public static Inventory addItemToInventory(DungeonsAndDragonsContext _context, int chracterId, int itemId, int quantity) { List <Inventory> playersCurrentInventory = getPlayersInventory(_context, chracterId); Inventory itemToUpdate = playersCurrentInventory.FirstOrDefault(i => i.inventoryItemId == itemId); if (itemToUpdate == null) { itemToUpdate = new Inventory { chracterid = chracterId, inventoryItemId = itemId, quantity = quantity }; _context.inventory.Add(itemToUpdate); } else { itemToUpdate.quantity = itemToUpdate.quantity + quantity; } _context.SaveChanges(); return(itemToUpdate); }
public static PlayableCharacter GetPlayableCharacterById(DungeonsAndDragonsContext _context, int playableCharacterId) { return(_context.playablecharacters.SingleOrDefault(p => p.id == playableCharacterId)); }
public static IQueryable <Game> GetDMGames(DungeonsAndDragonsContext _context, int loggedinuserid) { return(_context.games.Where(x => x.dm == loggedinuserid)); }
public static Game getGameById(DungeonsAndDragonsContext _context, int gameId) { return(_context.games.SingleOrDefault(x => x.id == gameId)); }
public static GameUser GetGameUserByID(DungeonsAndDragonsContext _context, int gameUserId) { return(_context.gamesusers.Find(gameUserId)); }
public static NonPlayableCharacter GenerateNPC(DungeonsAndDragonsContext _context, int gameId, int species_id, string characterName) { Species species = Species.GetSpeciesByID(_context, species_id); return(CreateNonPlayableCharacter(_context, gameId, characterName, species_id, species.base_hp, species.base_attack, species.image_path, species.base_hp)); }
public static User GetUserByUserName(DungeonsAndDragonsContext _context, string username) { return(_context.users.SingleOrDefault(c => c.username == username)); }
public static Species GetSpeciesByID(DungeonsAndDragonsContext _context, int speciesId) { return(_context.species.SingleOrDefault(s => s.id == speciesId)); }
public static InventoryItem GetInventoryItemById(DungeonsAndDragonsContext _context, int itemId) { return(_context.inventoryitems.Single(i => i.id == itemId)); }