Example #1
0
        public void NewRecord(Record r)
        {
            if (r == null)
            {
                return;
            }
            if (App.Server.GetProblemRelatedContest(r.ProblemID) != contestID)
            {
                return;
            }
            var item = new StatusListViewItem
            {
                ID             = r.ID,
                Language       = r.Language,
                MemoryUsage    = r.MemoryUsage,
                TimeUsage      = r.TimeUsage,
                ProblemTitle   = r.ProblemTitle,
                Status         = r.Status,
                SubmissionTime = r.SubmissionTime,
                UserNickName   = r.UserNickName,
                Code           = r.Code
            };

            Dispatcher.Invoke(new Action(() =>
            {
                StatusListViewItems.Insert(0, item);
                StatusListView.Items.Refresh();
            }));
        }
Example #2
0
 public void RecordUpdated(int record_id)
 {
     System.Threading.Tasks.Task.Factory.StartNew(() => {
         var r = App.Server.GetRecord(record_id);
         if (r == null)
         {
             return;
         }
         int recordindex = StatusListViewItems.FindIndex(x => x.ID == record_id);
         if (recordindex == -1)
         {
             return;
         }
         var item = new StatusListViewItem
         {
             ID             = r.ID,
             Language       = r.Language,
             MemoryUsage    = r.MemoryUsage,
             TimeUsage      = r.TimeUsage,
             ProblemTitle   = r.ProblemTitle,
             Status         = r.Status,
             SubmissionTime = r.SubmissionTime,
             UserNickName   = r.UserNickName,
             Code           = r.Code
         };
         Dispatcher.Invoke(new Action(() =>
         {
             StatusListViewItems[recordindex] = item;
             StatusListView.Items.Refresh();
         }));
         recordindex = QueryItems.FindIndex(x => x.ID == record_id);
         if (recordindex == -1)
         {
             return;
         }
         Dispatcher.Invoke(new Action(() =>
         {
             QueryItems[recordindex] = item;
             StatusListView.Items.Refresh();
         }));
     });
 }
Example #3
0
        private void btnRejudge_Click(object sender, RoutedEventArgs e)
        {
            var id  = (int)StatusListView.SelectedValue;
            var idx = StatusListView.SelectedIndex;

            App.Server.Rejudge(id);
            Record r = App.Server.GetRecord(id);

            StatusListViewItems[idx] = new StatusListViewItem
            {
                ID             = r.ID,
                Language       = r.Language,
                MemoryUsage    = r.MemoryUsage,
                TimeUsage      = r.TimeUsage,
                ProblemTitle   = r.ProblemTitle,
                Status         = r.Status,
                SubmissionTime = r.SubmissionTime,
                UserNickName   = r.UserNickName,
                Code           = r.Code
            };
            StatusListView.Items.Refresh();
        }