void IUserSaver.InsertUser(Guid userId, long facebookUserId, string name, Guid startingLocation, int baseAttackPower, int baseEnergy)
        {
            if(facebookUserId == 0)
            {
                throw new InvalidOperationException("Facebook UserId cannot be 0.");
            }

            using (UndeadEarthDataContext dataContext = new UndeadEarthDataContext(_connectionString))
            {
                UserDto userDto = dataContext.GetUserByFacebookUserId(facebookUserId);
                if(userDto != null)
                {
                    throw new InvalidOperationException("User already exists.");
                }

                userDto = new UserDto
                {
                    Id = userId,
                    FacebookUserId = facebookUserId,
                    ZoneId = startingLocation,
                    CurrentBaseAttack = baseAttackPower,
                    CurrentBaseEnergy = baseEnergy,
                    LastVisitedHotZoneId = startingLocation,
                    BaseLineAttackPower = baseAttackPower,
                    BaseLineEnergy = baseEnergy,
                    DisplayName = name,
                    Level = 1,
                    Email = string.Empty,
                    LocationId = startingLocation,
                    Money = 0,
                    PossibleItemAmount = 5
                };

                dataContext.UserDtos.InsertOnSubmit(userDto);
                dataContext.SubmitChanges();
            }
        }
        bool IUserRetriever.FacebookUserExists(long facebookUserId)
        {
            if (facebookUserId == 0)
            {
                throw new InvalidOperationException("Facebook UserId cannot be 0.");
            }

            using (UndeadEarthDataContext dataContext = new UndeadEarthDataContext(_connectionString))
            {
                UserDto userDto = dataContext.GetUserByFacebookUserId(facebookUserId);  
                return userDto != null;
            }
        }