Пример #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 UpdatePersonsButtonClick(object sender, RoutedEventArgs e)
        {
            if (ModifiedPersons.Count + DeletedPersons.Count == 0)
            {
                TaskDialog.ShowError("没有修改或删除的人员");
                return;
            }
            JObject json = await NetHelper.Send(new { Command = Admin_Update_Persons, Modified = ModifiedPersons, Deleted = DeletedPersons }) as JObject;

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