protected override Task OnLoaded()
        {
            CurrencyRequirementViewModel requirement = this.GetCurrencyRequirement();

            if (ChannelSession.Settings != null)
            {
                IEnumerable <UserCurrencyViewModel> ranks = ChannelSession.Settings.Currencies.Values.Where(c => c.IsRank);
                this.IsEnabled = (ranks.Count() > 0);
                this.RankTypeComboBox.ItemsSource = ranks;
            }

            this.SetCurrencyRequirement(requirement);

            return(Task.FromResult(0));
        }
        protected override Task OnLoaded()
        {
            CurrencyRequirementViewModel requirement = this.GetCurrencyRequirement();

            if (ChannelSession.Settings != null)
            {
                IEnumerable <CurrencyModel> currencies = ChannelSession.Settings.Currency.Values;
                this.IsEnabled = (currencies.Count() > 0);
                this.CurrencyTypeComboBox.ItemsSource = currencies;
            }

            this.SetCurrencyRequirement(requirement);

            return(Task.FromResult(0));
        }
        public void SetCurrencyRequirement(CurrencyRequirementViewModel currencyRequirement)
        {
            if (currencyRequirement != null && ChannelSession.Settings.Currency.ContainsKey(currencyRequirement.CurrencyID))
            {
                this.EnableDisableToggleSwitch.IsChecked = true;

                this.CurrencyTypeComboBox.ItemsSource  = ChannelSession.Settings.Currency.Values;
                this.CurrencyTypeComboBox.SelectedItem = ChannelSession.Settings.Currency[currencyRequirement.CurrencyID];

                this.CurrencyCostTextBox.IsEnabled = true;
                if (currencyRequirement.RequiredAmount >= 0)
                {
                    this.CurrencyCostTextBox.Text = currencyRequirement.RequiredAmount.ToString();
                }
            }
        }
        public void SetCurrencyRequirement(CurrencyRequirementViewModel currencyRequirement)
        {
            if (currencyRequirement != null && ChannelSession.Settings.Currencies.ContainsKey(currencyRequirement.CurrencyID))
            {
                this.EnableDisableToggleSwitch.IsChecked = true;

                this.RankTypeComboBox.ItemsSource  = ChannelSession.Settings.Currencies.Values.Where(c => c.IsRank);
                this.RankTypeComboBox.SelectedItem = ChannelSession.Settings.Currencies[currencyRequirement.CurrencyID];

                this.RankMustEqualComboBox.IsEnabled     = true;
                this.RankMustEqualComboBox.SelectedIndex = (currencyRequirement.MustEqual) ? 1 : 0;

                this.RankMinimumComboBox.IsEnabled    = true;
                this.RankMinimumComboBox.ItemsSource  = ChannelSession.Settings.Currencies[currencyRequirement.CurrencyID].Ranks;
                this.RankMinimumComboBox.SelectedItem = currencyRequirement.RequiredRank;
            }
        }
        public async Task <GameOutcomeGroup> GetOutcomeGroup()
        {
            GameOutcomeGroup group     = null;
            string           groupName = null;

            if (this.RankGroupGrid.Visibility != Visibility.Visible)
            {
                MixerRoleEnum role = EnumHelper.GetEnumValueFromString <MixerRoleEnum>((string)this.PreDefinedGroupNameTextBlock.Text);
                groupName = EnumHelper.GetEnumName(role);
                group     = new GameOutcomeGroup(role);
            }
            else if (this.RankTypeComboBox.SelectedIndex >= 0 && this.RankMinimumComboBox.SelectedIndex >= 0)
            {
                CurrencyRequirementViewModel rankRequirement = new CurrencyRequirementViewModel((UserCurrencyViewModel)this.RankTypeComboBox.SelectedItem, (UserRankViewModel)this.RankMinimumComboBox.SelectedItem);
                groupName = rankRequirement.GetCurrency().Name + " - " + rankRequirement.RankName;
                group     = new GameOutcomeGroup(rankRequirement);
            }
            else
            {
                await MessageBoxHelper.ShowMessageDialog("A group is missing the Rank Type & Rank Name");

                return(null);
            }

            if (group != null && !string.IsNullOrEmpty(groupName))
            {
                foreach (GameOutcomeProbabilityControl probabilityControl in this.outcomeProbabilityControls)
                {
                    group.Probabilities.Add(probabilityControl.GetOutcomeProbability());
                }

                if (group.Probabilities.Sum(p => p.Probability) > 100)
                {
                    await MessageBoxHelper.ShowMessageDialog("The group " + groupName + " can not have a combined probability of more than 100%");

                    return(null);
                }
            }

            return(group);
        }
Exemplo n.º 6
0
 public GameOutcomeGroup(CurrencyRequirementViewModel rankRequirement) : this()
 {
     this.RankRequirement = rankRequirement;
 }