Exemplo n.º 1
0
        private static void addUserToGames(XmlNode user, int userId, string username, DiabloContext context)
        {
            XmlNodeList userGames = user.SelectNodes("games/game");

            foreach (XmlNode userGame in userGames)
            {
                string   gameName      = userGame["game-name"].InnerText;
                XmlNode  character     = userGame.SelectSingleNode("character");
                string   characterName = character.Attributes["name"].InnerText;
                decimal  cash          = decimal.Parse(character.Attributes["cash"].InnerText);
                int      level         = int.Parse(character.Attributes["level"].InnerText);
                DateTime joinedOn      = DateTime.Parse(userGame["joined-on"].InnerText);

                int gameId      = context.Games.FirstOrDefault(g => g.Name == gameName).Id;
                int characterId = context.Characters.FirstOrDefault(c => c.Name == characterName).Id;

                UsersGame currentUsersGame = new UsersGame
                {
                    GameId      = gameId,
                    UserId      = userId,
                    CharacterId = characterId,
                    Level       = level,
                    JoinedOn    = joinedOn,
                    Cash        = cash
                };

                context.UsersGames.Add(currentUsersGame);

                Console.WriteLine($"User {username} successfully added to game {gameName}");
            }

            context.SaveChanges();
        }
Exemplo n.º 2
0
        public static User createUser(DiabloContext context, XmlNode user, string username)
        {
            string   firstName        = null;
            string   lastName         = null;
            string   email            = null;
            DateTime registrationDate = DateTime.Parse(user.Attributes["registration-date"].InnerText);
            bool     isDeleted        = int.Parse(user.Attributes["is-deleted"].InnerText) != 0;
            string   ipAddress        = user.Attributes["ip-address"].InnerText;

            if (user.Attributes["first-name"] != null)
            {
                firstName = user.Attributes["first-name"].InnerText;
            }

            if (user.Attributes["last-name"] != null)
            {
                lastName = user.Attributes["last-name"].InnerText;
            }

            if (user.Attributes["email"] != null)
            {
                email = user.Attributes["email"].InnerText;
            }

            User currentUser = new User
            {
                Username         = username,
                FirstName        = firstName,
                LastName         = lastName,
                Email            = email,
                RegistrationDate = registrationDate,
                IsDeleted        = isDeleted,
                IpAddress        = ipAddress
            };

            context.Users.Add(currentUser);
            context.SaveChanges();

            Console.WriteLine($"Successfully added user {currentUser.Username}");
            return(currentUser);
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            Console.BufferHeight = Int16.MaxValue - 1;
            var         db  = new DiabloContext();
            XmlDocument doc = new XmlDocument();

            doc.Load("../../users-and-games.xml");

            var root = doc.DocumentElement;

            foreach (XmlNode user in root)
            {
                try
                {
                    var userFirstName = user.Attributes["first-name"] == null ? null : user.Attributes["first-name"].Value;
                    var userLastName  = user.Attributes["last-name"] == null ? null : user.Attributes["last-name"].Value;
                    var userEmail     = user.Attributes["email"] == null ? null : user.Attributes["email"].Value;
                    var userUserName  = user.Attributes["username"] == null ? null : user.Attributes["username"].Value;

                    bool     userIsDeleted        = user.Attributes["is-deleted"].Value == "0" ? true : false;
                    var      userIpAddress        = user.Attributes["ip-address"] == null ? null : user.Attributes["ip-address"].Value;
                    DateTime userRegistracionDate = DateTime.ParseExact(user.Attributes["registration-date"].Value, "dd/MM/yyyy", null);

                    User userDb = null;

                    if (db.Users.Any(u => u.Username == userUserName))
                    {
                        Console.WriteLine("User {0} already exists", userUserName);
                    }
                    else
                    {
                        userDb = new User()
                        {
                            Username         = userUserName,
                            Email            = userEmail,
                            FirstName        = userFirstName,
                            IpAddress        = userIpAddress,
                            IsDeleted        = userIsDeleted,
                            LastName         = userLastName,
                            RegistrationDate = userRegistracionDate
                        };
                        db.Users.Add(userDb);

                        Console.WriteLine("Successfully added user {0}", userUserName);

                        foreach (XmlNode games in user.ChildNodes)
                        {
                            foreach (XmlNode game in games)
                            {
                                var gameName       = game["game-name"].InnerText;
                                var CharacterName  = game["character"].Attributes["name"].Value;
                                var CharacterCash  = game["character"].Attributes["cash"].Value;
                                var CharacterLevel = game["character"].Attributes["level"].Value;
                                var joinedOn       = game["joined-on"].InnerText;

                                var dbGame = db.Games.Where(g => g.Name == gameName).FirstOrDefault();



                                UsersGame ug = new UsersGame()
                                {
                                    Game      = db.Games.Where(g => g.Name == gameName).FirstOrDefault(),
                                    User      = userDb,
                                    Cash      = Convert.ToDecimal(CharacterCash),
                                    Level     = Convert.ToInt32(CharacterLevel),
                                    JoinedOn  = DateTime.ParseExact(joinedOn, "dd/MM/yyyy", null),
                                    Character = new Character()
                                    {
                                        Name = CharacterName
                                    }
                                };
                                db.UsersGames.Add(ug);
                                db.SaveChanges();
                                Console.WriteLine("User {0} successfully added to game {1}", userDb.Username, gameName);
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                }
            }
        }