| | |
| | | |
| | | #endregion 第一步 临时文件处理(进度5%) |
| | | |
| | | #region 第二步 压缩文件解析 (进度10%) |
| | | #region 第二步 创建项目(进度 10%) |
| | | |
| | | feedBackMsg?.Invoke("正在创建项目..."); |
| | | |
| | | var bllXhsProjectExtensions = new Lazy<BLL.XhsProjectExtensions>(() => new BLL.XhsProjectExtensions()); |
| | | |
| | | var project = new Vmo.Xhs.XhsProjectExtensions(); |
| | | project.NO = vm.NO; |
| | | project.Name = vm.Name; |
| | | project.Address = vm.Address; |
| | | project.Customer = vm.Customer; |
| | | project.Flags = vm.Flags; |
| | | project.TagName = vm.TagName; |
| | | project.Description = vm.Description; |
| | | |
| | | project.SiteList = new List<Vmo.Xhs.XhsProjectSite>() { |
| | | new Vmo.Xhs.XhsProjectSite(){ |
| | | Name=vm.Name, |
| | | Description=vm.Description |
| | | } |
| | | }; |
| | | |
| | | var projectId = await bllXhsProjectExtensions.Value.Insert(project); |
| | | if (projectId < 1) |
| | | { |
| | | feedBackMsg?.Invoke("项目创建失败!!!"); |
| | | return false; |
| | | } |
| | | |
| | | feedBackMsg?.Invoke("项目创建成功。。。"); |
| | | |
| | | vm.ProjectID = projectId; |
| | | |
| | | feedBackProgress?.Invoke(100, 10); |
| | | |
| | | #endregion 第二步 创建项目(进度 10%) |
| | | |
| | | #region 第三步 设置地图位置(进度 20%) |
| | | |
| | | feedBackMsg?.Invoke("正在设置地图位置..."); |
| | | |
| | | if (vm.Location != null) |
| | | { |
| | | var mapInfo = new Yw.Vmo.Map.MapInfo(); |
| | | mapInfo.ObjectType = HStation.Xhs.DataType.XhsProject; |
| | | mapInfo.ObjectID = projectId; |
| | | mapInfo.ObjectName = project.Name; |
| | | mapInfo.Purpose = Yw.Map.Purpose.Location; |
| | | mapInfo.Kind = Yw.Map.Kind.Gaodei; |
| | | mapInfo.Shape = Yw.Map.Shape.Marker; |
| | | mapInfo.Position = vm.Location.ToJson(); |
| | | |
| | | var mapInfoId = await new Yw.BLL.MapInfo().Insert(mapInfo); |
| | | if (mapInfoId < 1) |
| | | { |
| | | feedBackMsg?.Invoke("设置地图位置失败!!!"); |
| | | } |
| | | else |
| | | { |
| | | vm.MapInfoID = mapInfoId; |
| | | feedBackMsg?.Invoke("设置地图位置成功。。。"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | feedBackMsg?.Invoke("未设置地图位置信息!!!"); |
| | | } |
| | | |
| | | feedBackProgress?.Invoke(100, 20); |
| | | |
| | | #endregion 第三步 设置地图位置(进度 20%) |
| | | |
| | | #region 第四步 压缩文件解析 (进度25%) |
| | | |
| | | msg = "正在解析模型文件..."; |
| | | feedBackMsg?.Invoke(msg); |
| | |
| | | |
| | | feedBackMsg?.Invoke("模型文件解析成功。。。"); |
| | | |
| | | feedBackProgress?.Invoke(100, 10); |
| | | feedBackProgress?.Invoke(100, 25); |
| | | |
| | | #endregion 第二步 压缩文件解析 (进度10%) |
| | | #endregion 第四步 压缩文件解析 (进度25%) |
| | | |
| | | #region 第三步 解析水力结构文件 (进度15%) |
| | | #region 第五步 解析水力结构文件 (进度30%) |
| | | |
| | | feedBackMsg?.Invoke("正在解析水力结构文件..."); |
| | | var jsonFileInfo = allFileInfoList.Where(x => x.Extension == ".json").FirstOrDefault(); |
| | |
| | | |
| | | feedBackMsg?.Invoke("水力结构文件解析成功。。。"); |
| | | |
| | | feedBackProgress?.Invoke(100, 15); |
| | | feedBackProgress?.Invoke(100, 30); |
| | | |
| | | vm.HydroID = hydroId; |
| | | |
| | | #endregion 第三步 解析水力结构文件 (进度15%) |
| | | #endregion 第五步 解析水力结构文件 (进度30%) |
| | | |
| | | #region 第四步 创建项目(进度 20%) |
| | | |
| | | feedBackMsg?.Invoke("正在创建项目..."); |
| | | |
| | | var bllXhsProjectExtensions = new Lazy<BLL.XhsProjectExtensions>(() => new BLL.XhsProjectExtensions()); |
| | | |
| | | var project = new Vmo.Xhs.XhsProjectExtensions(); |
| | | project.NO = vm.NO; |
| | | project.Name = vm.Name; |
| | | project.Address = vm.Address; |
| | | project.Customer = vm.Customer; |
| | | project.Flags = vm.Flags; |
| | | project.TagName = vm.TagName; |
| | | project.Description = vm.Description; |
| | | |
| | | project.SiteList = new List<Vmo.Xhs.XhsProjectSite>() { |
| | | new Vmo.Xhs.XhsProjectSite(){ |
| | | Name=vm.Name, |
| | | Description=vm.Description |
| | | } |
| | | }; |
| | | |
| | | var projectId = await bllXhsProjectExtensions.Value.Insert(project); |
| | | if (projectId < 1) |
| | | { |
| | | feedBackMsg?.Invoke("项目创建失败!!!"); |
| | | return false; |
| | | } |
| | | |
| | | feedBackMsg?.Invoke("项目创建成功。。。"); |
| | | |
| | | vm.ProjectID = projectId; |
| | | |
| | | feedBackProgress?.Invoke(100, 20); |
| | | |
| | | #endregion 第四步 创建项目(进度 20%) |
| | | |
| | | #region 第五步 关联水力结构模型(进度 25%) |
| | | #region 第六步 关联水力结构模型(进度 40%) |
| | | |
| | | var bllXhsProjectSite = new BLL.XhsProjectSiteStd(); |
| | | var projectSite = await bllXhsProjectSite.GetDefaultByProjectID(projectId); |
| | |
| | | |
| | | feedBackMsg?.Invoke("关联水力结构模型成功。。。"); |
| | | |
| | | feedBackProgress?.Invoke(100, 25); |
| | | feedBackProgress?.Invoke(100, 40); |
| | | |
| | | #endregion 第五步 关联水力结构模型(进度 25%) |
| | | |
| | | #region 第六步 设置地图位置(进度 30%) |
| | | |
| | | feedBackMsg?.Invoke("正在设置地图位置..."); |
| | | |
| | | if (vm.Location != null) |
| | | { |
| | | var mapInfo = new Yw.Vmo.Map.MapInfo(); |
| | | mapInfo.ObjectType = HStation.Xhs.DataType.XhsProject; |
| | | mapInfo.ObjectID = projectId; |
| | | mapInfo.ObjectName = project.Name; |
| | | mapInfo.Purpose = Yw.Map.Purpose.Location; |
| | | mapInfo.Kind = Yw.Map.Kind.Gaodei; |
| | | mapInfo.Shape = Yw.Map.Shape.Marker; |
| | | mapInfo.Position = vm.Location.ToJson(); |
| | | |
| | | var mapInfoId = await new Yw.BLL.MapInfo().Insert(mapInfo); |
| | | if (mapInfoId < 1) |
| | | { |
| | | feedBackMsg?.Invoke("设置地图位置失败!!!"); |
| | | } |
| | | else |
| | | { |
| | | vm.MapInfoID = mapInfoId; |
| | | feedBackMsg?.Invoke("设置地图位置成功。。。"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | feedBackMsg?.Invoke("未设置地图位置信息!!!"); |
| | | } |
| | | |
| | | feedBackProgress?.Invoke(100, 30); |
| | | |
| | | #endregion 第六步 设置地图位置(进度 30%) |
| | | #endregion 第六步 关联水力结构模型(进度 40%) |
| | | |
| | | #region 第七步 上传Revit模型文件(进度 45%) |
| | | |
| | |
| | | |
| | | #endregion 第九步 关联Bimface文件(进度 55%) |
| | | |
| | | #region 第九步 发起bimface转换(进度 80%) |
| | | #region 第十步 发起bimface转换(进度 80%) |
| | | |
| | | feedBackMsg?.Invoke("正在进行Bimface模型轻量化..."); |
| | | // var bimfaceTranslateStatus = await Yw.WinFrmUI.BimfaceHelper.TranslateRvtFile(bimfaceId);//发起转换 |
| | |
| | | |
| | | feedBackProgress?.Invoke(100, 80); |
| | | |
| | | #endregion 第九步 发起bimface转换(进度 80%) |
| | | #endregion 第十步 发起bimface转换(进度 80%) |
| | | |
| | | #region 第十步 更新Bimface文件状态(进度 90%) |
| | | #region 第十一步 更新Bimface文件状态(进度 100%) |
| | | |
| | | feedBackMsg?.Invoke("正在更新Bimface文件状态..."); |
| | | bol = await bllBimfaceFile.UpdateFileStatus(bimfaceFileId, (int)Yw.Bimface.eFileStatus.ConvertSucceed); |
| | |
| | | return true; |
| | | } |
| | | |
| | | feedBackProgress?.Invoke(100, 90); |
| | | |
| | | #endregion 第十步 更新Bimface文件状态(进度 90%) |
| | | |
| | | #region 第十一步 项目发布(进度 100%) |
| | | |
| | | feedBackMsg?.Invoke("正在发布项目..."); |
| | | var bllXhsProject = new BLL.XhsProject(); |
| | | bol = await bllXhsProject.Publish(projectId); |
| | | if (!bol) |
| | | { |
| | | feedBackMsg?.Invoke("项目发布失败..."); |
| | | } |
| | | else |
| | | { |
| | | vm.IsPublished = true; |
| | | feedBackMsg?.Invoke("项目发布成功..."); |
| | | } |
| | | |
| | | feedBackProgress?.Invoke(100, 100); |
| | | feedBackMsg?.Invoke("项目导入结束。。。"); |
| | | |
| | | #endregion 第十一步 更新Bimface文件状态(进度 100%) |
| | | |
| | | #region 弃用 第十二步 项目发布(进度 100%) |
| | | |
| | | /* feedBackMsg?.Invoke("正在发布项目..."); |
| | | var bllXhsProject = new BLL.XhsProject(); |
| | | bol = await bllXhsProject.Publish(projectId); |
| | | if (!bol) |
| | | { |
| | | feedBackMsg?.Invoke("项目发布失败..."); |
| | | } |
| | | else |
| | | { |
| | | vm.IsPublished = true; |
| | | feedBackMsg?.Invoke("项目发布成功..."); |
| | | } |
| | | |
| | | feedBackProgress?.Invoke(100, 100); |
| | | feedBackMsg?.Invoke("项目导入结束。。。");*/ |
| | | return true; |
| | | |
| | | #endregion 第十一步 项目发布(进度 100%) |
| | | #endregion 弃用 第十二步 项目发布(进度 100%) |
| | | } |
| | | } |
| | | } |