public async Task AssignOnePortrait_PlayerDoesNotHave_CaseInsensitiveTag_Success()
        {
            var personalSettingsRepository = new PersonalSettingsRepository(MongoClient);
            var playerRepo             = new PlayerRepository(MongoClient);
            var portraitRepo           = new PortraitRepository(MongoClient);
            var portraitCommandHandler = new PortraitCommandHandler(personalSettingsRepository, playerRepo, portraitRepo);

            int[] validPortraits = { 5 };
            await portraitCommandHandler.AddPortraitDefinition(CreatePortraitsDefinitionCommand(validPortraits.ToList(), new List <string>()));

            var playerTagA       = "CePhEiD#1467";
            var playerTagB       = "cEpHeId#1467";
            var personalSettings = new PersonalSetting(playerTagB);
            await personalSettingsRepository.Save(personalSettings);

            var portraitsCommand = new PortraitsCommand();

            portraitsCommand.Portraits.Add(5);
            portraitsCommand.BnetTags.Add(playerTagA);
            portraitsCommand.Tooltip = "testTooltip";

            await portraitCommandHandler.UpsertSpecialPortraits(portraitsCommand);

            var settings = await personalSettingsRepository.Load(playerTagA);

            Assert.AreEqual(1, settings.SpecialPictures.Count());
            Assert.AreEqual(5, settings.SpecialPictures.First().PictureId);
            Assert.AreEqual("testTooltip", settings.SpecialPictures.First().Description);
        }
Esempio n. 2
0
        public void Execute(object parameter)
        {
            var values  = (object[])parameter;
            var content = values[0] as string;
            var window  = values[1] as Window;

            if (content.Equals("특성 고르기!"))
            {
                PersonalSetting personal = new PersonalSetting();
                window.Close();
                personal.ShowDialog();
            }
            else if (content.Equals("옷 고르기!"))
            {
                ClothesSetting clothes = new ClothesSetting();
                window.Close();
                clothes.ShowDialog();
            }
            else if (content.Equals("위치 선택!"))
            {
                LocationSetting location = new LocationSetting();
                window.Close();
                location.ShowDialog();
            }
        }
        public async Task <IActionResult> PutPersonalSetting([FromRoute] int id, [FromBody] PersonalSetting personalSetting)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != personalSetting.ID)
            {
                return(BadRequest());
            }

            _context.Entry(personalSetting).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PersonalSettingExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public void SetProfilePicture_TooFewWins()
        {
            var personalSetting = new PersonalSetting("peter#123");

            var player = PlayerOverallStats.Create("peter#123");

            for (int i = 0; i < 19; i++)
            {
                player.RecordWin(Race.HU, 1, true);
            }

            personalSetting.Players = new List <PlayerOverallStats> {
                player
            };
            SetPictureCommand cmd1 = new SetPictureCommand()
            {
                avatarCategory = AvatarCategory.HU,
                pictureId      = 1
            };

            personalSetting.SetProfilePicture(cmd1);

            SetPictureCommand cmd2 = new SetPictureCommand()
            {
                avatarCategory = AvatarCategory.HU,
                pictureId      = 2
            };
            var profilePicture = personalSetting.SetProfilePicture(cmd2);

            Assert.IsFalse(profilePicture);
            Assert.AreEqual(AvatarCategory.HU, personalSetting.ProfilePicture.Race);
            Assert.AreEqual(1, personalSetting.ProfilePicture.PictureId);
        }
        public async Task AssignOnePortrait_PlayerAlreadyHas_TooltipUpdated()
        {
            var personalSettingsRepository = new PersonalSettingsRepository(MongoClient);
            var playerRepo             = new PlayerRepository(MongoClient);
            var portraitRepo           = new PortraitRepository(MongoClient);
            var portraitCommandHandler = new PortraitCommandHandler(personalSettingsRepository, playerRepo, portraitRepo);

            int[] validPortraits = { 3 };
            await portraitCommandHandler.AddPortraitDefinition(CreatePortraitsDefinitionCommand(validPortraits.ToList(), new List <string>()));

            var playerTag        = "cepheid#1467";
            var personalSettings = new PersonalSetting(playerTag);

            personalSettings.SpecialPictures.Append(new SpecialPicture(3, "initialTestDescription"));
            await personalSettingsRepository.Save(personalSettings);

            var portraitsCommand = new PortraitsCommand();

            portraitsCommand.Portraits.Add(3);
            portraitsCommand.BnetTags.Add(playerTag);
            portraitsCommand.Tooltip = "testTooltip";

            await portraitCommandHandler.UpsertSpecialPortraits(portraitsCommand);

            var settings = await personalSettingsRepository.Load(playerTag);

            Assert.AreEqual(1, settings.SpecialPictures.Count());
            Assert.AreEqual(3, settings.SpecialPictures.First().PictureId);
            Assert.AreEqual("testTooltip", settings.SpecialPictures.First().Description);
        }
Esempio n. 6
0
 private void btnUser_Click(object sender, EventArgs e)
 {
     using (PersonalSetting f = new PersonalSetting())
     {
         f.ShowDialog();
     }
 }
        public Player GetAkaDataByPreferences(string battletag, PersonalSetting settings)
        {
            var playerAkaData = GetPlayerAkaData(battletag.ToLower());

            if (settings != null && settings.AliasSettings != null)  // Strip the data if the player doesn't want it shown.
            {
                var modifiedAka = new Player();

                if (settings.AliasSettings.showAka)
                {
                    modifiedAka.name      = playerAkaData.name;
                    modifiedAka.main_race = playerAkaData.main_race;
                    modifiedAka.country   = playerAkaData.country;
                }

                if (settings.AliasSettings.showW3info)
                {
                    modifiedAka.id = playerAkaData.id;
                }

                if (settings.AliasSettings.showLiquipedia)
                {
                    modifiedAka.liquipedia = playerAkaData.liquipedia;
                }

                return(modifiedAka);
            }

            return(playerAkaData);
        }
 public IActionResult Index(PersonalSetting personal)
 {
     if (ModelState.IsValid)
     {
         _personalSettingRepository.SavePersonalSetting(personal);
         return(RedirectToAction("Index"));
     }
     return(View(personal));
 }
        public async Task LoadProfileSince_LastUpdateDateReturnsNothing()
        {
            var personalSettingsRepository = new PersonalSettingsRepository(MongoClient);
            var personalSetting            = new PersonalSetting("peter#123");
            await personalSettingsRepository.Save(personalSetting);

            var result = await personalSettingsRepository.LoadSince(personalSetting.LastUpdated);

            Assert.AreEqual(0, result.Count);
        }
        public async Task <IActionResult> PostPersonalSetting([FromBody] PersonalSetting personalSetting)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.PersonalSetting.Add(personalSetting);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPersonalSetting", new { id = personalSetting.ID }, personalSetting));
        }
        public async Task LoadProfileSince_LastUpdateDateMinusAMsReturnsSomething()
        {
            var personalSettingsRepository = new PersonalSettingsRepository(MongoClient);
            var personalSetting            = new PersonalSetting("peter#123");
            await personalSettingsRepository.Save(personalSetting);

            var personalSettingLastUpdated = personalSetting.LastUpdated.Subtract(TimeSpan.FromMilliseconds(1));
            var result = await personalSettingsRepository.LoadSince(personalSettingLastUpdated);

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("peter#123", result[0].Id);
        }
Esempio n. 12
0
        public async Task ReturnRanks_WhenPlayersHavePersonalSettingsConfigured_MustHaveCorrectPersonalSettings()
        {
            // Arrange
            var rankRepository             = new RankRepository(MongoClient, personalSettingsProvider);
            var playerRepository           = new PlayerRepository(MongoClient);
            var personalSettingsRepository = new PersonalSettingsRepository(MongoClient);
            var clanRepository             = new ClanRepository(MongoClient);
            var queryHandler = new RankQueryHandler(rankRepository, playerRepository, clanRepository);

            var ranks = new List <Rank> {
                new Rank(new List <string> {
                    "peter#123"
                }, 1, 12, 1456, null, GateWay.America, GameMode.GM_1v1, 1)
            };
            await rankRepository.InsertRanks(ranks);

            var player = PlayerOverview.Create(new List <PlayerId> {
                PlayerId.Create("peter#123")
            }, GateWay.America, GameMode.GM_1v1, 1, null);

            player.RecordWin(true, 1234);
            await playerRepository.UpsertPlayerOverview(player);

            var playerStats = new PlayerOverallStats()
            {
                BattleTag = "peter#123",
            };
            await playerRepository.UpsertPlayer(playerStats);

            var settings = new PersonalSetting("peter#123")
            {
                ProfilePicture = new ProfilePicture()
                {
                    Race = AvatarCategory.HU, PictureId = 5
                },
                Country = "BG"
            };
            await personalSettingsRepository.Save(settings);

            // Act
            var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 1, GateWay.America, GameMode.GM_1v1);

            // Assert
            Assert.AreEqual(1, playerLoaded.Count);

            var playerRank = playerLoaded[0];

            Assert.AreEqual("1_peter#123@10_GM_1v1", playerRank.Players.First().Id);
            Assert.AreEqual(playerRank.PlayersInfo[0].SelectedRace, AvatarCategory.HU);
            Assert.AreEqual(playerRank.PlayersInfo[0].PictureId, 5);
            Assert.AreEqual(playerRank.PlayersInfo[0].Country, "BG");
        }
Esempio n. 13
0
        public void SetProfilePicture_AllowedPictures()
        {
            var personalSetting = new PersonalSetting("peter#123");

            var player = PlayerOverallStats.Create("peter#123");

            for (int i = 0; i < 20; i++)
            {
                player.RecordWin(Race.HU, 1, true);
            }

            personalSetting.Players = new List <PlayerOverallStats> {
                player
            };
            Assert.AreEqual(2, personalSetting.PickablePictures.Single(r => r.Race == Race.HU).Max);
        }
Esempio n. 14
0
        public async Task RepoLoadWithJoin_NotFoundPlayer()
        {
            var settingsRepo    = new PersonalSettingsRepository(MongoClient);
            var playerRepo      = new PlayerRepository(MongoClient);
            var personalSetting = new PersonalSetting("peter#123@10");

            var player = PlayerOverallStats.Create("peter#123");

            await playerRepo.UpsertPlayer(player);

            await settingsRepo.Save(personalSetting);

            var loaded = await settingsRepo.Load("peter#123@10");

            Assert.AreEqual(0, loaded.RaceWins.GetWinsPerRace(Race.HU));
        }
        public UserDto(
            string name,
            string battleTag,
            string clanTag,
            PersonalSetting personalSettings)
        {
            Name           = name;
            BattleTag      = battleTag;
            ClanTag        = clanTag;
            ProfilePicture = personalSettings?.ProfilePicture ?? ProfilePicture.Default();

            if (personalSettings != null)
            {
                Alias = personalSettings.ChatAlias;
                Color = personalSettings.ChatColor;
            }
        }
Esempio n. 16
0
        public void SetProfilePicture()
        {
            var personalSetting = new PersonalSetting("peter#123");

            var player = PlayerOverallStats.Create("peter#123");

            for (int i = 0; i < 20; i++)
            {
                player.RecordWin(Race.HU, 1, true);
            }

            personalSetting.Players = new List <PlayerOverallStats> {
                player
            };
            var profilePicture = personalSetting.SetProfilePicture(Race.HU, 2);

            Assert.IsTrue(profilePicture);
            Assert.AreEqual(Race.HU, personalSetting.ProfilePicture.Race);
            Assert.AreEqual(2, personalSetting.ProfilePicture.PictureId);
        }
        public void UpdateSpecialPicture_Success()
        {
            var personalSettingsRepository = new PersonalSettingsRepository(MongoClient);
            var playerRepo = new PlayerRepository(MongoClient);

            var playerTag        = "cepheid#1467";
            var personalSettings = new PersonalSetting(playerTag);

            List <SpecialPicture> specialPictures = new List <SpecialPicture>();

            specialPictures.Add(new SpecialPicture(1, "one"));
            personalSettings.UpdateSpecialPictures(specialPictures.ToArray());

            Assert.AreEqual(1, personalSettings.SpecialPictures.Count());
            Assert.AreEqual(specialPictures.First().PictureId, personalSettings.SpecialPictures.First().PictureId);

            specialPictures.RemoveAll(x => x.PictureId == 1);
            personalSettings.UpdateSpecialPictures(specialPictures.ToArray());

            Assert.AreEqual(0, personalSettings.SpecialPictures.Count());
        }
Esempio n. 18
0
        public async Task RepoLoadWithJoin()
        {
            var settingsRepo    = new PersonalSettingsRepository(MongoClient);
            var playerRepo      = new PlayerRepository(MongoClient);
            var personalSetting = new PersonalSetting("peter#123");

            var player = PlayerOverallStats.Create("peter#123");

            for (int i = 0; i < 20; i++)
            {
                player.RecordWin(Race.HU, 1, true);
            }

            await playerRepo.UpsertPlayer(player);

            await settingsRepo.Save(personalSetting);

            var loaded = await settingsRepo.Load("peter#123");

            Assert.AreEqual(20, loaded.RaceWins.GetWinsPerRace(Race.HU));
        }
Esempio n. 19
0
 public void SavePersonalSetting(PersonalSetting personalSetting)
 {
     if (personalSetting.PSId == 0)
     {
         _context.PersonalSettings.Add(personalSetting);
     }
     else
     {
         var data = GetById(personalSetting.PSId);
         if (data != null)
         {
             data.Name    = personalSetting.Name;
             data.Degree  = personalSetting.Degree;
             data.Email   = personalSetting.Email;
             data.Phone   = personalSetting.Phone;
             data.Address = personalSetting.Address;
             data.Image   = personalSetting.Image;
             data.Status  = personalSetting.Status;
         }
     }
     _context.SaveChanges();
 }
        public async Task <bool> UpdatePicture(string battleTag, SetPictureCommand command)
        {
            var setting = await _personalSettingsRepository.Load(battleTag);

            if (setting == null)
            {
                var playerProfile = await _playerRepository.LoadPlayerProfile(battleTag);

                setting = new PersonalSetting(battleTag, new List <PlayerOverallStats> {
                    playerProfile
                });
            }

            var result = setting.SetProfilePicture(command);

            if (!result)
            {
                return(false);
            }

            await _personalSettingsRepository.Save(setting);

            return(true);
        }
Esempio n. 21
0
 public void AddPersonalSetting(PersonalSetting personalSetting)
 {
     _context.PersonalSettings.Add(personalSetting);
 }