public async Task <Player> Delete(Guid id)
        {
            ListofPlayers List = await GetAll();

            foreach (Player p in List.players)
            {
                if (p.Id == id)
                {
                }
            }
            return(null);
        }
        public async Task <Player> Modify(Guid id, ModifiedPlayer player)
        {
            ListofPlayers List = await GetAll();

            foreach (Player p in List.players)
            {
                if (p.Id == id)
                {
                    p.Score = player.Score;
                }
            }
            return(null);
        }
        public async Task <Player> Create(Player player)
        {
            player.IsBanned     = false;
            player.CreationTime = DateTime.UtcNow;
            player.Level        = 0;
            player.Score        = 0;

            ListofPlayers allPlayers = await ReadFile();

            allPlayers.players.Add(player);

            await WriteFile(allPlayers);

            return(player);
        }
        public async Task <Player> WriteFile(ListofPlayers list)
        {
            string path = @"game-dev.txt";

            await using (FileStream stream = File.Open(path, FileMode.OpenOrCreate))
            {
                stream.SetLength(0);
                string result = JsonConvert.SerializeObject(list.players);
                Console.WriteLine("Input: " + result);
                using var sr = new StreamWriter(stream);
                sr.Write(result);
                Console.WriteLine("Serialized " + result);
                stream.Flush();
            }
            return(null);
        }
        public async Task <Player> Create(Player player)
        {
            string        path       = @"game-dev.txt";
            ListofPlayers allPlayers = await GetAll();

            allPlayers.players.Add(player);
            await using (FileStream stream = File.Open(path, FileMode.OpenOrCreate))
            {
                string result = JsonConvert.SerializeObject(allPlayers.players);
                Console.WriteLine("Input: " + result);
                using var sr = new StreamWriter(stream);
                sr.WriteLine(result);
                Console.WriteLine("Serialized");
            }
            return(player);
        }
        public async Task <ListofPlayers> ReadFile()
        {
            ListofPlayers playerlist = new ListofPlayers();
            string        path       = @"game-dev.txt";

            await using (FileStream stream = File.Open(path, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite))
            {
                string result = File.ReadAllText(path);
                Console.WriteLine("mitäs tääl on: " + result);
                if (result.Equals(""))
                {
                    return(playerlist);
                }
                else
                {
                    playerlist.players = JsonConvert.DeserializeObject <List <Player> >(result);
                }
            }
            return(playerlist);
        }
        public async Task <Item> DeleteItem(Guid playerId, Item item)
        {
            ListofPlayers listofplayers = await ReadFile();

            foreach (Player p in listofplayers.players)
            {
                if (p.Id == playerId)
                {
                    foreach (Item i in p.items)
                    {
                        if (i.id == item.id)
                        {
                            p.items.Remove(i);
                            await WriteFile(listofplayers);
                        }
                    }
                }
            }
            return(item);
        }
        public async Task <Player> DeletePlayer(Guid playerId)
        {
            ListofPlayers list = await ReadFile();

            Player[] loopList = list.players.ToArray();
            foreach (Player p in loopList)
            {
                if (p.Id == playerId)
                {
                    Console.WriteLine("Player " + p.Name + " removed");
                    list.players.Remove(p);
                }
            }
            Console.WriteLine(list.players.Count);
            for (int i = 0; i < list.players.Count; i++)
            {
                Console.WriteLine(list.players[i].Name);
            }
            await WriteFile(list);

            return(null);
        }
        public async Task <Item> UpdateItem(Guid playerId, Item item)
        {
            ListofPlayers listofplayers = await ReadFile();

            foreach (Player p in listofplayers.players)
            {
                if (p.Id == playerId)
                {
                    for (int i = 0; i < p.items.Count; i++)
                    {
                        if (p.items[i].id == item.id)
                        {
                            p.items[i] = item;
                            break;
                        }
                    }
                }
            }
            await WriteFile(listofplayers);

            return(null);
        }
Esempio n. 10
0
        public async Task <Player[]> GetAll()
        {
            ListofPlayers playerlist = await ReadFile();

            return(playerlist.players.ToArray());
        }