public DealWithConflict(Project p, List <Volunteer> fulllist, InputWindow window)//list为完整list { InitializeComponent(); project = p; fatherWindow = window; fullList = fulllist; database = DatabaseContext.GetInstance(); itemList = new List <csvItemViewModel>(); foreach (Volunteer item in fullList) { if (database.Volunteers.Where(v => v.StudentNum == item.StudentNum).ToList().Count() != 0) { conflictList.Add(item); } else { if (vhelper.FindVolunteer(item.StudentNum) == null) { normalList.Add(item); } else { normalList.Add(vhelper.FindVolunteer(item.StudentNum)); } } } if (conflictList.Count() == 0) { List <csvItemViewModel> finalList = new List <csvItemViewModel>(); foreach (Volunteer v in normalList) { finalList.Add(new csvItemViewModel(v)); } MessageBox.Show("导入信息成功!", "", MessageBoxButton.OK); Csvviewer viewer = new Csvviewer(project, finalList, fatherWindow); fatherWindow.Content = viewer; //this.Visibility=Visibility.Collapsed; } else { foreach (Volunteer v in conflictList) { Volunteer old = vhelper.FindVolunteer(v.StudentNum); csvItemViewModel vmNew = new csvItemViewModel(v); csvItemViewModel vmOld = new csvItemViewModel(old); vmOld.IsOld = true; vmNew.IsOld = false; vmNew.Pair = vmOld; vmOld.Pair = vmNew; itemList.Add(vmNew); itemList.Add(vmOld); } /* List<Volunteer> theOldAndNew = new List<Volunteer>(); * Volunteer theOld; * foreach (Volunteer theNew in conflictList) * { * theOldAndNew.Add(theNew); * theOld = vhelper.FindVolunteer(theNew.StudentNum); * theOldAndNew.Add(theOld); * } * isOld = false; * conflictList = theOldAndNew; * csvGrid.ItemsSource = conflictList;*/ ShowCnfGrid(); } }
private void Confirm_Click(object sender, RoutedEventArgs e) { List <csvItemViewModel> finalList = new List <csvItemViewModel>(); bool succeeded = true; string error = "记录选择有误,请检查选择."; foreach (csvItemViewModel item in itemList) { if (item.Selected) { if (item.Pair.Selected) { succeeded = false; error = "每一个志愿者只能保存一条记录,请检查选择是否有错."; break; } else { if (!finalList.Contains(item)) { finalList.Add(item); } } } else { if (!item.Pair.Selected) { finalList.Add(item.IsOld ? item : item.Pair); if (item.IsOld) { item.Selected = true; } else { item.Pair.Selected = true; } } } } if (!succeeded) { MessageBox.Show(error); succeeded = true; } else { foreach (Volunteer v in normalList) { finalList.Add(new csvItemViewModel(v)); } foreach (csvItemViewModel v in finalList) { if (vhelper.FindVolunteer(v.StudentNum) != null)//挂上评分 { v.Volunteer = vhelper.FindVolunteer(v.Volunteer.StudentNum); } } MessageBox.Show("完成了对志愿者库信息的更新.\n请确认最终要导入的志愿者."); Csvviewer viewer = new Csvviewer(project, finalList, fatherWindow); fatherWindow.Content = viewer; } /* * for(int i=1;i<=theOldAndNewRows.Count();i++) * { * DataGridRow item = theOldAndNewRows[i - 1]; * CheckBox cbox = GetCheckBox(item); * if((cbox.IsChecked==null || cbox.IsChecked==false) && position%2==1)//单数为新 * { * flag = false; * CheckedList.Add((item.DataContext as Volunteer)); * } * if(position%2==1 && cbox.IsChecked==true) * { * flag = true;//老项不能选了 * CheckedList.Add((item.DataContext as Volunteer)); * } * if(position%2 == 0 && flag == true && cbox.IsChecked==true) * { * ModernDialog.ShowMessage("每一个志愿者只能保存一条记录,请检查选择是否有错.","错误提示",MessageBoxButton.OK); * isValid = false; * break; * } * if(position%2==0 && flag == false && cbox.IsChecked ==false) * { * ModernDialog.ShowMessage("每一个志愿者必须选择至少一条记录,请检查是否有遗漏.","错误提示",MessageBoxButton.OK); * isValid = false; * break; * } * else * { * CheckedList.Add((item.DataContext as Volunteer)); * } * } * if(!isValid) * { * CheckedList.Clear(); * } * else * { * MessageBox.Show("处理信息冲突完成!","操作成功",MessageBoxButton.OK); * normalList.AddRange(CheckedList); * Csvviewer viewer = new Csvviewer(project,normalList,fatherWindow); * fatherWindow.Content = viewer; * //window.Show(); * }*/ }