コード例 #1
0
 private void CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
     {
         foreach (object item in e.OldItems)
         {
             if (item is Person)
             {
                 DeletedPersons.Add(item as Person);
                 if ((item as Person).Role == "教师")
                 {
                     Courses.CollectionChanged -= CollectionChanged;
                     foreach (var course in Courses.Where(p => p.TeacherId == (item as Person).Id).ToArray())
                     {
                         Courses.Remove(course);
                     }
                     Courses.CollectionChanged += CollectionChanged;
                 }
             }
             else if (item is UICourse)
             {
                 DeletedCourses.Add(item as UICourse);
             }
         }
     }
 }
コード例 #2
0
        /// <summary>
        /// 更新课程信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void UpdateCourseButtonClick(object sender, RoutedEventArgs e)
        {
            if (ModifiedCourses.Count + DeletedCourses.Count == 0)
            {
                TaskDialog.ShowError("没有修改或删除的课程");
                return;
            }
            JObject json = await NetHelper.Send(new { Command = Admin_Update_Courses, Modified = ModifiedCourses.Select(p => p.ToCourse()), Deleted = DeletedCourses.Select(p => p.ToCourse()) }) as JObject;

            if (json[OK].Value <bool>())
            {
                TaskDialog.Show(json[Message].Value <string>());
                ModifiedCourses.Clear();
                DeletedCourses.Clear();
            }
            else
            {
                TaskDialog.ShowError(json[Message].Value <string>());
            }
        }