public override void AddTable() { LogicalBuilding.ProjectID = Project.ID; LogicalBuilding.ID = Guid.NewGuid(); LogicalBuilding.UpdateTime = DateTime.Now; LogicalBuildingDal.Add(LogicalBuilding); LogicalBuilding = null; // 发送通知,点击业务的导航页,也就是新增页,更新业务列表 EA.GetEvent <RefreshBusinessEvent>().Publish(ERealEstatePage.LogicalBuildingPage); }
public void Ongo() { try { TaskInfoDialog = TaskInfoDialogViewModel.getInstance(); String FileName = Path.GetFileName(FullPath); //TaskInfoDialog.Messages.Add("开始导入:" + FileName); TaskMessage taskMessage = new TaskMessage(); taskMessage.Title = "导入项目:" + FileName; taskMessage.Progress = 0.0; TaskInfoDialog.Messages.Insert(0, taskMessage); Task task = new Task(() => { ImportRealEstateBook import = new ImportRealEstateBook(); import.FileName = FullPath; import.Read(); bool canContinue = import.ReadInformation(); if (canContinue) { taskMessage.Progress = 50.00; //var naturalEffective = NaturalEffective(import.ZRZList); var isNaturalBuildingUnique = IsNaturalBuildingUnique(import.NaturalBuildings); var isHouseholdUnique = IsHouseholdUnique(import.Households); if (isNaturalBuildingUnique && isHouseholdUnique) { Project project = InitialProject(); ProjectDal projectDal = new ProjectDal(); NaturalBuildingDal naturalBuildingDal = new NaturalBuildingDal(); LogicalBuildingDal logicalBuildingDal = new LogicalBuildingDal(); FloorDal floorDal = new FloorDal(); HouseholdDal householdDal = new HouseholdDal(); ObligeeDal obligeeDal = new ObligeeDal(); try { foreach (var naturalBuilding in import.NaturalBuildings) { naturalBuilding.ID = Guid.NewGuid(); naturalBuilding.ProjectID = project.ID; naturalBuilding.UpdateTime = DateTime.Now; naturalBuildingDal.Add(naturalBuilding); } } catch (Exception ex) { ErrorMsg.Add("自然幢数据异常:" + ex.Message); } try { foreach (var logicalBuilding in import.LogicalBuildings) { logicalBuilding.ID = Guid.NewGuid(); logicalBuilding.ProjectID = project.ID; logicalBuilding.UpdateTime = DateTime.Now; logicalBuildingDal.Add(logicalBuilding); } } catch (Exception ex) { ErrorMsg.Add("逻辑幢数据异常:" + ex.Message); } try { foreach (var floor in import.Floors) { floor.ID = Guid.NewGuid(); floor.ProjectID = project.ID; floor.UpdateTime = DateTime.Now; floorDal.Add(floor); } } catch (Exception ex) { ErrorMsg.Add("层数据异常:" + ex.Message); } try { foreach (var household in import.Households) { household.ID = Guid.NewGuid(); household.ProjectID = project.ID; household.UpdateTime = DateTime.Now; householdDal.Add(household); } } catch (Exception ex) { ErrorMsg.Add("户数据异常:" + ex.Message); } try { foreach (var obligee in import.Obligees) { obligee.ID = Guid.NewGuid(); obligee.ProjectID = project.ID; obligee.UpdateTime = DateTime.Now; obligeeDal.Add(obligee); } } catch (Exception ex) { ErrorMsg.Add("权利人数据异常:" + ex.Message); } try { projectDal.Add(project); } catch (Exception ex) { ErrorMsg.Add("项目数据异常:" + ex.Message); } } } ErrorMsg.AddRange(import.ErrorMsg); }); task.Start(); task.ContinueWith(t => { ThreadPool.QueueUserWorkItem(delegate { SynchronizationContext.SetSynchronizationContext(new System.Windows.Threading.DispatcherSynchronizationContext(System.Windows.Application.Current.Dispatcher)); SynchronizationContext.Current.Post(pl => { foreach (var error in ErrorMsg) { taskMessage.DetailMessages.Add(error); } if (ErrorMsg != null && ErrorMsg.Count > 0) { taskMessage.DetailMessages.Add("导入失败"); } else { taskMessage.Progress = 100.00; taskMessage.DetailMessages.Add("导入成功"); // 刷新项目列表 } }, null); }); }); } catch (Exception ex) { throw ex; } }