Exemple #1
0
        /// <summary>
        /// Liste amaçlı Load
        /// </summary>
        /// <returns></returns>
        public static bool Load(ciFramework frameW, ref csGames ret)
        {
            ret = new csGames();
            XDocument docGames = null;
            if (!King.Utils.LoadDb(frameW, ref docGames, "Games")) return false;
            foreach (XElement lcNode in docGames.Element("games").Descendants("game"))
            {
                var lcRec = new csGameList
                {
                    Key = Convert.ToInt16(lcNode.Attribute("key").Value),
                    Date = Convert.ToString(lcNode.Attribute("date").Value)
                };
                if (lcNode.Attribute("played") != null) lcRec.PlayedTurn = Convert.ToByte(lcNode.Attribute("played").Value);
                if (lcNode.Attribute("king") != null) lcRec.IsKing = lcNode.Attribute("king").Value=="1";
                ret.Add(lcRec);
                if (lcRec.PlayedTurn == 20 || lcRec.IsKing)
                {
                    lcRec.Ups = lcNode.Attribute("ups").Value;
                    lcRec.Downs = lcNode.Attribute("downs").Value;
                }

            }
            return true;
        }
Exemple #2
0
        public static bool Add(ciFramework frameW, csGameList game)
        {
            if (game.Players == null || game.Players.Count != 4)
            {
                return frameW.ErrorAdd("4 oyuncu olmalı");
            }
            //
            var unks = new HashSet<int>();
            foreach (var player in game.Players)
            {
                if (player.Key == 0)
                {
                    return frameW.ErrorAdd("Bütün oyuncular seçilmeli");
                }
                unks.Add(player.Key);
            }
            if (unks.Count != 4) return frameW.ErrorAdd("Bir Oyuncu 2 defa seçilemez");
            csGames games = null;
            if (!Load(frameW, ref games)) return false;

            game.Key = Convert.ToInt16(games.Count + 1);
            XDocument docGames = null;
            if (!King.Utils.LoadDb(frameW, ref docGames, "Games")) return false;
            var nodeGames = docGames.Element("games");
            var nodeGame = new XElement("game");

            nodeGames.Add(nodeGame);
            game.Date = DateTime.Now.ToString("dd/MM/yy HH:mm");
            nodeGame.Add(new XAttribute("key", game.Key));
            nodeGame.Add(new XAttribute("date", game.Date));
            var nodePlayers = new XElement("players");
            nodeGame.Add(nodePlayers);
            foreach (var player in game.Players)
            {
                var nodePlayer = new XElement("player");
                nodePlayer.Add(new XAttribute("key", player.Key));
                //turnleri şimdi açmaya gerek yok(zaten yok da)
                nodePlayers.Add(nodePlayer);
            }
            King.Utils.SaveDb(docGames, "Games");
            return true;
        }