/// <summary> /// 新增申请人 /// </summary> private void AddApplicant() { if (Project == null) { MessageBox.Show("请选择项目", "提示"); return; } if (!canExecute()) { MessageBox.Show("验证失败", "提示"); return; } try { Applicant.ProjectID = Project.ID; Applicant.ID = Guid.NewGuid(); Applicant.UpdateTime = DateTime.Now; ApplicantDal.Add(Applicant); Applicant = null; // 重新加载页面 OnNavigatedTo(NavigationContext); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
public ImportRealEstateDialogViewModel() { ChooseFileCommand = new DelegateCommand(() => { var openFileDialog = new Microsoft.Win32.OpenFileDialog() { Filter = "Excel Files (*.xls,*.xlsx)|*.xls;*.xlsx" }; var result = openFileDialog.ShowDialog(); if (result == true) { FilePath = openFileDialog.FileName; } }); ImportRealEstateCommand = new DelegateCommand(() => { //FinishInteraction?.Invoke(); ImportRealEstateTask task = new ImportRealEstateTask(); try { task.FullPath = FilePath; task.Ongo(); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }); }
/// <summary> /// 页面加载 /// </summary> /// <param name="navigationContext"></param> public void OnNavigatedTo(NavigationContext navigationContext) { NavigationContext = navigationContext; try { // 获取选中项目 Project project = navigationContext.Parameters["Project"] as Project; if (project != null) { Project = project; } // 初始化登记项目 //Project = ProjectDal.InitialRegistrationProject(Project); // 获取申请人集合 Applicants = new ObservableCollection <Applicant>(Project.Applicants); // 初始申请人与转移信息 Applicant = new Applicant(); Transfer = Project.Transfer; // 按钮为新增状态 ApplicantButtonContent = "确认新增"; } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
/// <summary> /// 修改申请人 /// </summary> private void EditApplicant() { if (Applicant == null) { MessageBox.Show("请选择申请人", "提示"); return; } if (!canExecute()) { MessageBox.Show("验证失败", "提示"); return; } try { Applicant.UpdateTime = DateTime.Now; ApplicantDal.Modify(Applicant); // 重新加载页面 OnNavigatedTo(NavigationContext); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
/// <summary> /// 点击按钮,确认/取消 /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> private void ConfirSaveServerHandler(object sender, DialogClosingEventArgs eventArgs) { if ("False".Equals(eventArgs.Parameter.ToString())) { return; } // cancel the close eventArgs.Cancel(); var IPTextBox = eventArgs.Parameter as System.Windows.Controls.TextBox; String ServerIP = IPTextBox.Text; try { //string cfgINI = AppDomain.CurrentDomain.BaseDirectory + LocalConfiguration.INI_CFG; //IniFileHelper ini = new IniFileHelper(cfgINI); //ini.IniWriteValue("OAUS", "UpdateIP", UpdateIP); //ini.IniWriteValue("OAUS", "UpdatePort", "4540"); ConfigUtil.SaveConfig("ServerIP", ServerIP); // 显示加载1s eventArgs.Session.UpdateContent(new SampleProgressDialog()); Task.Delay(TimeSpan.FromSeconds(0.3)) .ContinueWith((t, _) => eventArgs.Session.Close(false), null, TaskScheduler.FromCurrentSynchronizationContext()); } catch (Exception ex) { ErrorDialogViewModel.getInstance().updateShow(ex, eventArgs.Session); return; } }
/// <summary> /// Task线程内未捕获异常处理事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e) { //task线程内未处理捕获 //MessageBox.Show("捕获线程内未处理异常:" + e.Exception.Message); ErrorDialogViewModel.getInstance().show("捕获线程内未处理异常:" + e.Exception.Message, e.Exception.StackTrace); e.SetObserved();//设置该异常已察觉(这样处理后就不会引起程序崩溃) }
private void QualityControl() { Project = Application.Current.Properties["SelectedProject"] as Project; if (Project == null || !"1".Equals(Project.Type)) { MessageBox.Show("请选择楼盘项目", "提示"); return; } var view = new TaskInfoDialog(); TaskInfoDialogViewModel TaskInfoDialog = TaskInfoDialogViewModel.getInstance(); var result = DialogHost.Show(view, "RootDialog"); QualityControlTask task = new QualityControlTask(); try { task.Project = Project; task.Ongo(); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
private void DelBusiness() { try { switch (NavigatePath) { case ERealEstatePage.NaturalBuildingPage: NaturalBuilding naturalBuilding = Business.NaturalBuilding; NaturalBuildingDal naturalBuildingDal = new NaturalBuildingDal(); naturalBuildingDal.Del(naturalBuilding); break; case ERealEstatePage.LogicalBuildingPage: LogicalBuilding logicalBuilding = Business.LogicalBuilding; LogicalBuildingDal logicalBuildingDal = new LogicalBuildingDal(); logicalBuildingDal.Del(logicalBuilding); break; case ERealEstatePage.FloorPage: Floor floor = Business.Floor; FloorDal floorDal = new FloorDal(); floorDal.Del(floor); break; case ERealEstatePage.HouseholdPage: Household household = Business.Household; HouseholdDal householdDal = new HouseholdDal(); householdDal.Del(household); break; case ERealEstatePage.ObligeePage: Obligee obligee = Business.Obligee; ObligeeDal obligeeDal = new ObligeeDal(); obligeeDal.Del(obligee); break; case ERealEstatePage.MortgagePage: Mortgage mortgage = Business.Mortgage; MortgageDal mortgageDal = new MortgageDal(); mortgageDal.Del(mortgage); break; case ERealEstatePage.SequestrationPage: Sequestration sequestration = Business.Sequestration; SequestrationDal sequestrationDal = new SequestrationDal(); sequestrationDal.Del(sequestration); break; default: break; } BusinessNavCommand.Execute(NavigatePath); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
/// <summary> /// UI线程未捕获异常处理事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) { try { e.Handled = true; //把 Handled 属性设为true,表示此异常已处理,程序可以继续运行,不会强制退出 //MessageBox.Show("捕获未处理异常:" + e.Exception.Message); ErrorDialogViewModel.getInstance().show("捕获未处理异常:" + e.Exception.Message, e.Exception.StackTrace); } catch (Exception) { //此时程序出现严重异常,将强制结束退出 MessageBox.Show("程序发生致命错误,将终止,请联系管理员!"); } }
/// <summary> /// 打开服务器IP设置框 /// </summary> private async void ExecuteServerDialog() { try { var view = new ServerDialog(); ServerDialogViewModel = new ServerDialogViewModel(); //show the dialog await DialogHost.Show(view, "RootDialog", ConfirSaveServerHandler); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
private void DelFile(object obj) { try { DataGrid dataGrid = obj as DataGrid; FileInfo = dataGrid.SelectedItem as FileInfo; FileHelper.DelFile(fileInfo); FileInfoList.Remove(FileInfo); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
/// <summary> /// 编辑用户 /// </summary> private void EditUser() { try { user.Password = CEncoder.Encode(user.Password); UserInfoDal.Modify(user); App.Current.Properties["User"] = user; IsPopupOpen = false; } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); } }
private void ConfirAddOrEditProjectEventHandler(object sender, DialogClosingEventArgs eventArgs) { if ((bool)eventArgs.Parameter == false) { return; } //cancel the close... eventArgs.Cancel(); DialogTitle = AddOrEditProjectDialog.DialogTitle; Project = AddOrEditProjectDialog.Project; try { bool IsSuccess = false; switch (DialogTitle) { case "新增项目": IsSuccess = AddProject(); break; case "编辑项目": IsSuccess = UpdProject(); break; default: break; } if (IsSuccess) { // 显示加载1s eventArgs.Session.UpdateContent(new SampleProgressDialog()); Task.Delay(TimeSpan.FromSeconds(0.3)) .ContinueWith((t, _) => eventArgs.Session.Close(false), null, TaskScheduler.FromCurrentSynchronizationContext()); } } catch (Exception ex) { ErrorDialogViewModel.getInstance().updateShow(ex, eventArgs.Session); return; } ToggleOwnershipTypeCommand = new DelegateCommand(ToggleOwnershipType); ToggleMappingTypeCommand = new DelegateCommand(ToggleMappingType); }
/// <summary> /// 选择申请人列表中的一项 /// </summary> /// <param name="obj"></param> private void SelectApplicant(object obj) { try { // 加载申请人数据 ListView listView = obj as ListView; Applicant = listView.SelectedItem as Applicant; // 按钮为修改状态 ApplicantButtonContent = "确认修改"; } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
/// <summary> /// 删除项目 /// </summary> private void DelProject() { if (Project == null) { MessageBox.Show("请选择一个项目", "提示"); return; } try { if ("1".Equals(Project.Type)) // 楼盘表项目 { NaturalBuildingDal naturalBuildingDal = new NaturalBuildingDal(); LogicalBuildingDal logicalBuildingDal = new LogicalBuildingDal(); FloorDal floorDal = new FloorDal(); HouseholdDal householdDal = new HouseholdDal(); ObligeeDal obligeeDal = new ObligeeDal(); MortgageDal mortgageDal = new MortgageDal(); SequestrationDal sequestrationDal = new SequestrationDal(); naturalBuildingDal.DelBy(t => t.ProjectID == Project.ID); logicalBuildingDal.DelBy(t => t.ProjectID == Project.ID); floorDal.DelBy(t => t.ProjectID == Project.ID); householdDal.DelBy(t => t.ProjectID == Project.ID); obligeeDal.DelBy(t => t.ProjectID == Project.ID); mortgageDal.DelBy(t => t.ProjectID == Project.ID); sequestrationDal.DelBy(t => t.ProjectID == Project.ID); } else if ("2".Equals(Project.Type)) // 登记业务项目 { TransferDal transferDal = new TransferDal(); ApplicantDal applicantDal = new ApplicantDal(); transferDal.DelBy(t => t.ProjectID == Project.ID); applicantDal.DelBy(t => t.ProjectID == Project.ID); FileHelper.DelDir(Project); } projectDal.Del(Project); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } RefreshProjectList(); }
public void EditTableAOP() { if (!canExecute()) { MessageBox.Show("验证失败", "提示"); return; } try { EditTable(); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
public UserInfoPageViewModel(IRegionManager regionManager) { RegionManager = regionManager; try { user = (UserInfo)App.Current.Properties["User"]; user.Password = CEncoder.Decode(user.Password); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); } EditUserCommand = new DelegateCommand(EditUser); LogoutCommand = new DelegateCommand(Logout); }
/// <summary> /// 修改转移信息 /// </summary> private void EditTransfer() { if (Project == null) { MessageBox.Show("请选择项目", "提示"); return; } try { Transfer.UpdateTime = DateTime.Now; ProjectDal.Modify(Project); TransferDal.Modify(Transfer); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
/// <summary> /// 选中业务列表中的一项 /// </summary> /// <param name="obj"></param> public void SelectBusinessAOP(object obj) { try { // 加载自业务数据 ListView listView = obj as ListView; Business business = new Business(); business = listView.SelectedItem as Business; SelectBusiness(business); // 按钮为修改状态 ButtonContent = "确认修改"; } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
private void DelApplicant() { if (Applicant == null) { MessageBox.Show("请选择申请人", "提示"); return; } try { ApplicantDal.Del(Applicant); // 重新加载页面 OnNavigatedTo(NavigationContext); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
public ExportRegistrationDialogViewModel() { ChooseFileCommand = new DelegateCommand(() => { //创建一个保存文件式的对话框 SaveFileDialog sfd = new SaveFileDialog(); // 默认文件名 Project = Application.Current.Properties["SelectedProject"] as Project; sfd.FileName = Project.ProjectName; //保存对话框是否记忆上次打开的目录 sfd.RestoreDirectory = true; //调用ShowDialog()方法显示该对话框,该方法的返回值代表用户是否点击了确定按钮 if (sfd.ShowDialog() == true) { if (sfd.CheckPathExists) { FilePath = sfd.FileName; } else { MessageBox.Show("文件夹路径不能为空", "提示"); return; } } }); ExportRegistrationCommand = new DelegateCommand(() => { ExportRegistrationTask task = new ExportRegistrationTask(); try { task.SaveFileName = FilePath; task.Project = Project; task.Ongo(); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }); }
public void AddTableAOP() { if (Project == null) { MessageBox.Show("请选择项目", "提示"); return; } if (!canExecute()) { MessageBox.Show("验证失败", "提示"); return; } try { AddTable(); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
/// <summary> /// 点击按钮,确认/取消 /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> private void ConfirSaveProjectPathHandler(object sender, DialogClosingEventArgs eventArgs) { if ("False".Equals(eventArgs.Parameter.ToString())) { return; } // cancel the close eventArgs.Cancel(); var FileTextBox = eventArgs.Parameter as System.Windows.Controls.TextBox; String FullPath = FileTextBox.Text; if (string.IsNullOrEmpty(FullPath)) { MessageBox.Show("请选择文件", "提示"); return; } try { string cfgINI = AppDomain.CurrentDomain.BaseDirectory + LocalConfiguration.INI_CFG; IniFileHelper ini = new IniFileHelper(cfgINI); ini.IniWriteValue("Project", "FilePath", FullPath); // 显示加载1s eventArgs.Session.UpdateContent(new SampleProgressDialog()); Task.Delay(TimeSpan.FromSeconds(0.3)) .ContinueWith((t, _) => eventArgs.Session.Close(false), null, TaskScheduler.FromCurrentSynchronizationContext()); } catch (Exception ex) { ErrorDialogViewModel.getInstance().updateShow(ex, eventArgs.Session); return; } }
public ErrorDialog() { InitializeComponent(); DataContext = ErrorDialogViewModel.getInstance(); }
private void Navigate(ERealEstatePage?navigatePath) { if (Project == null) { return; } // 若不是楼盘项目,返回 if (!"1".Equals(Project.Type)) { return; } // 点击业务的导航页后发送通知 NavigatePath = (ERealEstatePage)navigatePath; EA.GetEvent <NavBusinessEvent>().Publish(NavigatePath); Businesses = new ObservableCollection <Business>(); try { switch (NavigatePath) { case ERealEstatePage.NaturalBuildingPage: Project.NaturalBuildings = ProjectDal.InitialNaturalBuildings(Project); // 加载数据列表 foreach (NaturalBuilding naturalBuilding in Project.NaturalBuildings) { Business business = new Business(); business.Name = naturalBuilding.ZRZH; business.NaturalBuilding = naturalBuilding; Businesses.Add(business); } break; case ERealEstatePage.LogicalBuildingPage: Project.LogicalBuildings = ProjectDal.InitialLogicalBuildings(Project); foreach (LogicalBuilding logicalBuilding in Project.LogicalBuildings) { Business business = new Business(); business.Name = logicalBuilding.LJZH; business.LogicalBuilding = logicalBuilding; Businesses.Add(business); } break; case ERealEstatePage.FloorPage: Project.Floors = ProjectDal.InitialFloors(Project); foreach (Floor floor in Project.Floors) { Business business = new Business(); business.Name = floor.CH; business.Floor = floor; Businesses.Add(business); } break; case ERealEstatePage.HouseholdPage: Project.Households = ProjectDal.InitialHouseholds(Project); foreach (Household household in Project.Households) { Business business = new Business(); business.Name = household.HBSM; business.Household = household; Businesses.Add(business); } break; case ERealEstatePage.ObligeePage: Project.Obligees = ProjectDal.InitialObligees(Project); foreach (Obligee obligee in Project.Obligees) { Business business = new Business(); business.Name = obligee.QLRMC; business.Obligee = obligee; Businesses.Add(business); } break; case ERealEstatePage.MortgagePage: Project.Mortgages = ProjectDal.InitialMortgages(Project); foreach (Mortgage mortgage in Project.Mortgages) { Business business = new Business(); business.Name = mortgage.QLRMC; business.Mortgage = mortgage; Businesses.Add(business); } break; case ERealEstatePage.SequestrationPage: Project.Sequestrations = ProjectDal.InitialSequestrations(Project); foreach (Sequestration sequestration in Project.Sequestrations) { Business business = new Business(); business.Name = sequestration.DBR; business.Sequestration = sequestration; Businesses.Add(business); } break; default: break; } // 页面跳转 var parameters = new NavigationParameters(); parameters.Add("Project", Project); RegionManager.RequestNavigate("BusinessContentRegion", NavigatePath.ToString(), NavigationComplete, parameters); // 统计页面跳转 RegionManager.RequestNavigate("BusinessStatisticsRegion", NavigatePath.ToString() + "Statistics", NavigationComplete, parameters); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
public ExportRealEstateDialogViewModel() { ChooseFileCommand = new DelegateCommand(() => { //创建一个保存文件式的对话框 SaveFileDialog sfd = new SaveFileDialog(); //设置这个对话框的起始保存路径 //sfd.InitialDirectory = @"D:\"; //设置保存的文件的类型,注意过滤器的语法 //sfd.Filter = "BPF文件|*.bpf"; sfd.Filter = "Excel文件|*.xls"; // 默认文件名 try { Project = Application.Current.Properties["SelectedProject"] as Project; string mappingType = Project.MappingType.Equals("1") ? "预测绘" : "实测绘"; sfd.FileName = Project.ProjectName + "-" + mappingType; } catch (Exception) { } //调用ShowDialog()方法显示该对话框,该方法的返回值代表用户是否点击了确定按钮 if (sfd.ShowDialog() == true) { if (sfd.CheckPathExists) { FilePath = sfd.FileName; } else { MessageBox.Show("文件夹路径不能为空", "提示"); return; } } }); ExportRealEstateCommand = new DelegateCommand(() => { ExportRealEstateTask task = new ExportRealEstateTask(); try { task.SaveFileName = FilePath; task.book = new ExportRealEstateBook(); task.Project = Project; if ("1".Equals(Project.OwnershipType)) { task.TemplateFileName = System.AppDomain.CurrentDomain.BaseDirectory + @"Templates\调查-批量导入户数据模板.xlt"; } else if ("2".Equals(Project.OwnershipType)) { task.TemplateFileName = System.AppDomain.CurrentDomain.BaseDirectory + @"Templates\补录-批量导入户数据模板.xlt"; } else { throw new Exception("请检查项目的调查类型。"); } task.Ongo(); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }); }