private void GetVehicleInfos() { VehicleInfo[] source = CO_IA.Client.Utility.GetVehicleInfos(new VehicleQueryCondition()); if (exitVehicle != null && exitVehicle.Count > 0) { source = source.Where(item => { if (string.IsNullOrEmpty(item.VehicleNo)) { return(true); } foreach (string s in exitVehicle) { if (s == item.VehicleNo) { return(false); } } return(true); }).ToArray(); } List <VehicleInfo> monitorsource = source.Where(r => r.IsMonitor).ToList(); this.VehicleItemsSource = new List <VehicleInfo>(); VehicleItemsSource.AddRange(monitorsource); VehicleItemsSource.AddRange(source.Except(monitorsource)); }
private void chkAll_Loaded(object sender, RoutedEventArgs e) { chkAll = sender as CheckBox; if (this.VehicleItemsSource != null) { chkAll.IsChecked = VehicleItemsSource.Any(item => item.IsChecked); } }
private void btnDelete_Click(object sender, RoutedEventArgs e) { int checkcount = VehicleItemsSource.Count(r => r.IsChecked == true); if (checkcount == 0) { MessageBox.Show("请勾选要删除的车辆"); } else { MessageBoxResult result = MessageBox.Show("确认要删除选中的车辆?", "提示", MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { try { List <string> vehiclenos = (VehicleItemsSource.Where(v => v.IsChecked == true)).Select(r => r.GUID).ToList(); PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA_PlanDatabase>(channel => { List <string> errorguid = channel.DeleteVehicleInfo(vehiclenos); if (errorguid.Count == 0) { GetVehicleInfos(); MessageBox.Show("删除成功", "提示", MessageBoxButton.OK); chkAll.IsChecked = false;//取消选中 } else { StringBuilder strmsg = new StringBuilder(); foreach (string item in errorguid) { VehicleInfo vehicle = VehicleItemsSource.FirstOrDefault(r => r.GUID == item); vehicle.IsChecked = true; if (vehicle != null) { strmsg.AppendLine(string.Format("车牌号码'{0}',已经有设备不能删除 ", vehicle.VehicleNo)); } } MessageBox.Show(strmsg.ToString(), "删除完成", MessageBoxButton.OK); GetVehicleInfos(); //未删除的监测车还是选中状态 VehicleItemsSource.Where(r => errorguid.Contains(r.GUID)).ToList().ForEach(v => v.IsChecked = true); } }); } catch (Exception ex) { if (ex.Message.Contains("违反完整约束条件")) { MessageBox.Show("车辆已经有使用,不能删除!"); } } } } }
private void chkCell_Click(object sender, RoutedEventArgs e) { if (VehicleItemsSource != null) { int checkcount = VehicleItemsSource.Count(r => r.IsChecked == true); if (checkcount == VehicleItemsSource.Length) { chkAll.IsChecked = true; } else if (checkcount == 0) { chkAll.IsChecked = false; } else { chkAll.IsChecked = null; } } }