コード例 #1
0
        /// <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;
            }
        }
コード例 #2
0
        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;
                }
            });
        }
コード例 #3
0
        /// <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;
            }
        }
コード例 #4
0
        /// <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;
            }
        }
コード例 #5
0
        /// <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;
            }
        }
コード例 #6
0
 /// <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();//设置该异常已察觉(这样处理后就不会引起程序崩溃)
 }
コード例 #7
0
        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;
            }
        }
コード例 #8
0
        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;
            }
        }
コード例 #9
0
 /// <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("程序发生致命错误,将终止,请联系管理员!");
     }
 }
コード例 #10
0
 /// <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;
     }
 }
コード例 #11
0
 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;
     }
 }
コード例 #12
0
        /// <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);
            }

        }
コード例 #13
0
        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);
        }
コード例 #14
0
        /// <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;
            }
        }
コード例 #15
0
        /// <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();
        }
コード例 #16
0
 public void EditTableAOP()
 {
     if (!canExecute())
     {
         MessageBox.Show("验证失败", "提示");
         return;
     }
     try
     {
         EditTable();
     }
     catch (Exception ex)
     {
         ErrorDialogViewModel.getInstance().show(ex);
         return;
     }
 }
コード例 #17
0
        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);
        }
コード例 #18
0
 /// <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;
     }
 }
コード例 #19
0
        /// <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;
            }
        }
コード例 #20
0
        private void DelApplicant()
        {
            if (Applicant == null)
            {
                MessageBox.Show("请选择申请人", "提示");
                return;
            }

            try
            {
                ApplicantDal.Del(Applicant);
                // 重新加载页面
                OnNavigatedTo(NavigationContext);
            }
            catch (Exception ex)
            {
                ErrorDialogViewModel.getInstance().show(ex);
                return;
            }
        }
コード例 #21
0
        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;
                }
            });
        }
コード例 #22
0
 public void AddTableAOP()
 {
     if (Project == null)
     {
         MessageBox.Show("请选择项目", "提示");
         return;
     }
     if (!canExecute())
     {
         MessageBox.Show("验证失败", "提示");
         return;
     }
     try
     {
         AddTable();
     }
     catch (Exception ex)
     {
         ErrorDialogViewModel.getInstance().show(ex);
         return;
     }
 }
コード例 #23
0
        /// <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;
            }
        }
コード例 #24
0
 public ErrorDialog()
 {
     InitializeComponent();
     DataContext = ErrorDialogViewModel.getInstance();
 }
コード例 #25
0
        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;
            }
        }
コード例 #26
0
        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;
                }
            });
        }