private async void AddFavoriteButton_Click(object sender, System.Windows.RoutedEventArgs e) { await this.Window.RunAsyncOperation(async() => { if (this.AddFavoriteTypeComboBox.SelectedIndex >= 0) { string selection = (string)this.AddFavoriteTypeComboBox.SelectedItem; if (selection.Equals("Team")) { if (!string.IsNullOrEmpty(this.AddFavoriteTeamTextBox.Text)) { TeamModel team = await ChannelSession.Connection.GetTeam(this.AddFavoriteTeamTextBox.Text); if (team != null) { if (ChannelSession.Settings.FavoriteGroups.Any(t => t.Team != null && t.Team.id.Equals(team.id))) { await MessageBoxHelper.ShowMessageDialog("You have already favorited this team."); return; } ChannelSession.Settings.FavoriteGroups.Add(new FavoriteGroupModel(team)); await ChannelSession.SaveSettings(); await this.RefreshFavoriteGroups(); } else { await MessageBoxHelper.ShowMessageDialog("Could not find a team by that name."); } } } else if (selection.Equals("User")) { if (!string.IsNullOrEmpty(this.AddFavoriteUserTextBox.Text) && !string.IsNullOrEmpty(this.AddFavoriteUserGroupNameTextBox.Text)) { UserModel user = await ChannelSession.Connection.GetUser(this.AddFavoriteUserTextBox.Text); if (user != null) { FavoriteGroupModel group = ChannelSession.Settings.FavoriteGroups.FirstOrDefault(t => t.GroupName != null && t.GroupName.Equals(this.AddFavoriteUserGroupNameTextBox.Text)); if (group != null) { if (group.GroupUserIDs.Any(id => id.Equals(user.id))) { await MessageBoxHelper.ShowMessageDialog("This user already exists in this group."); return; } } if (group == null) { group = new FavoriteGroupModel(this.AddFavoriteUserGroupNameTextBox.Text); ChannelSession.Settings.FavoriteGroups.Add(group); } group.GroupUserIDs.Add(user.id); await ChannelSession.SaveSettings(); await this.RefreshFavoriteGroups(); } else { await MessageBoxHelper.ShowMessageDialog("Could not find a user by that name."); } } } } }); }
public FavoriteGroupViewModel(FavoriteGroupModel group) { this.Group = group; this.LastCheckUsers = new List <UserWithChannelModel>(); }