public CalculatorResults Calculate(EpicBossRequest request)
        {
            // validation
            string epicBossValidationMessage = GetEpicBossDataValidationMessage(request.EpicBoss);
            if (!string.IsNullOrEmpty(epicBossValidationMessage)) return new CalculatorResults(epicBossValidationMessage);
            string guildValidationMessage = GetGuildDataValidationMessage(request.Guild);
            if (!string.IsNullOrEmpty(guildValidationMessage)) return new CalculatorResults(guildValidationMessage);
            string playerValidationMessage = GetPlayerDataValidationMessage(request.Player);
            if (!string.IsNullOrEmpty(playerValidationMessage)) return new CalculatorResults(playerValidationMessage);

            EpicBossResults epicBoss = GetEpicBossResults(request.EpicBoss, request.Guild, request.Player);

            return new CalculatorResults(epicBoss);
        }
 private EpicBossRequest GetJackFrostGuardiansBattlegearRequest(int bossLevel, int bossAttack, int bossDefense, int knightCount, int armorLevel)
 {
     EpicBossRequest request = new EpicBossRequest();
     request.EpicBoss = GetJackFrostBoss(bossLevel, bossAttack, bossDefense);
     request.Guild = GetGuild();
     request.Player = GetPlayer(knightCount, GetGuardiansBattlegear(armorLevel));
     return request;
 }
 public CalculatorResults Calculate(EpicBossRequest request)
 {
     return GetCalculator().Calculate(request);
 }