private void Apply()
        {
            if (_forumListView.FocusedItem != null)
            {
                _forumListView.FocusedItem.SubItems[(int)Column.Priority].Text =
                    _priority.Value.ToString();
            }

            var subscriptionRequests = new List <ForumSubscriptionRequest>();

            foreach (ListViewItem item in _forumListView.Items)
            {
                var forum = _forumList[(int)item.Tag];

                if (forum.Subscribed != item.Checked)
                {
                    subscriptionRequests.Add(new ForumSubscriptionRequest(forum.ID, item.Checked));
                }

                var newPriority = int.Parse(item.SubItems[0].Text);

                if (item.Checked && forum.Priority != newPriority)
                {
                    ForumsSubscriptionHelper.UpdateForumPriority(_provider, forum.ID, newPriority);
                }
            }

            if (subscriptionRequests.Count > 0)
            {
                ForumsSubscriptionHelper.UpdateForumsSubscriptions(_provider, subscriptionRequests, true);
            }

            //без рефреша возникало исключение если нажать "применить" потом "ок"
            RefreshForm();
        }
예제 #2
0
 public void ExecuteSubscribeOrUnsubscribeForum(
     ICommandContext context, int?forumId)
 {
     forumId = GetForumId(context, forumId);
     ForumsSubscriptionHelper.UpdateForumsSubscriptions(
         context,
         new[]
     {
         new ForumSubscriptionRequest(
             forumId.Value,
             !context.GetRequiredService <IRsdnForumService>().IsForumSubscribed(forumId.Value))
     },
         true);
 }