|
@@ -573,9 +573,6 @@ namespace SAGA.MBI.WinView.Space
|
|
return Result.Succeeded;
|
|
return Result.Succeeded;
|
|
}, () => { return Result.Succeeded; });
|
|
}, () => { return Result.Succeeded; });
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 离开画布,改变鼠标样式
|
|
/// 离开画布,改变鼠标样式
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -585,7 +582,6 @@ namespace SAGA.MBI.WinView.Space
|
|
{
|
|
{
|
|
this.Cursor = Cursors.Arrow;
|
|
this.Cursor = Cursors.Arrow;
|
|
}
|
|
}
|
|
-
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 鼠标进入画布,改变鼠标样式
|
|
/// 鼠标进入画布,改变鼠标样式
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -716,7 +712,6 @@ namespace SAGA.MBI.WinView.Space
|
|
{
|
|
{
|
|
InitFloor(floor);
|
|
InitFloor(floor);
|
|
}
|
|
}
|
|
-
|
|
|
|
return Result.Succeeded;
|
|
return Result.Succeeded;
|
|
}, () => { return Result.Succeeded; });
|
|
}, () => { return Result.Succeeded; });
|
|
|
|
|
|
@@ -732,6 +727,8 @@ namespace SAGA.MBI.WinView.Space
|
|
{
|
|
{
|
|
try
|
|
try
|
|
{
|
|
{
|
|
|
|
+ //保存按钮不可用
|
|
|
|
+ this.btnSave.IsEnabled = false;
|
|
DeletedPolylines.Clear();
|
|
DeletedPolylines.Clear();
|
|
//关闭空间属性窗
|
|
//关闭空间属性窗
|
|
WinModeInfoMaintenance.GetWindow().Hide();
|
|
WinModeInfoMaintenance.GetWindow().Hide();
|
|
@@ -824,60 +821,16 @@ namespace SAGA.MBI.WinView.Space
|
|
//需要保存的分隔符数据
|
|
//需要保存的分隔符数据
|
|
List<PointPair> saveDatas = GetPoints();
|
|
List<PointPair> saveDatas = GetPoints();
|
|
bool flagExecuteSuccess = true; //本应在回调函数里传值,目前代码不支持
|
|
bool flagExecuteSuccess = true; //本应在回调函数里传值,目前代码不支持
|
|
- ExecuteCmd.ExecuteCommandOnce(() =>
|
|
|
|
- {
|
|
|
|
- #region 创建空间
|
|
|
|
- CurrentContext.UpdateSpaceSeqaration(saveDatas
|
|
|
|
- .Select(points => new SpaceSeparation(points.RPoint[0], points.RPoint[1])).ToList(),
|
|
|
|
- DeletedPolylines);
|
|
|
|
- DeletedPolylines.Clear();
|
|
|
|
- var createSuccess = CurrentContext.CreateSpaces();
|
|
|
|
- if (!createSuccess)
|
|
|
|
- {
|
|
|
|
- flagExecuteSuccess = false;
|
|
|
|
- MessageShow.Infomation("保存楼层空间失败");
|
|
|
|
- return Result.Succeeded;
|
|
|
|
- }
|
|
|
|
|
|
+ #region 扩展事件处理相关
|
|
|
|
|
|
- #endregion
|
|
|
|
-
|
|
|
|
- #region 初始化界面
|
|
|
|
- //this.canvas.IsEnabled = true;
|
|
|
|
- //btnOrigin_Click(null, null);
|
|
|
|
- //InitData();
|
|
|
|
- #endregion
|
|
|
|
-
|
|
|
|
- #region 上传模型选择
|
|
|
|
- Window confirm = GetUploadConfirm();
|
|
|
|
- var result = confirm.ShowDialog();
|
|
|
|
- //选择以后界面可用
|
|
|
|
- this.IsEnabled = true;
|
|
|
|
- if (result == true)
|
|
|
|
- {
|
|
|
|
- // 由于上传需要关闭所有模型,所以这里需要对所有数据进行清空
|
|
|
|
- this.canvas.Children.Clear();
|
|
|
|
- //添加默认提示
|
|
|
|
- CanvasDefaultTips();
|
|
|
|
- lbSpaces.ItemsSource = new ObservableCollection<MSpace>();
|
|
|
|
- WinModeInfoMaintenance.GetWindow().Hide();
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- flagExecuteSuccess = false;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- #endregion
|
|
|
|
-
|
|
|
|
- return Result.Succeeded;
|
|
|
|
- }, () =>
|
|
|
|
- {
|
|
|
|
|
|
+ EventCommand updateCommand = new EventCommand(new ExternalEventHandler((app) => {
|
|
try
|
|
try
|
|
{
|
|
{
|
|
var document = CurrentContext.Document;
|
|
var document = CurrentContext.Document;
|
|
document.Save();
|
|
document.Save();
|
|
if (!flagExecuteSuccess)
|
|
if (!flagExecuteSuccess)
|
|
{
|
|
{
|
|
- return Result.Succeeded;
|
|
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
SpaceManager.UploadModel(document);
|
|
SpaceManager.UploadModel(document);
|
|
}
|
|
}
|
|
@@ -885,7 +838,78 @@ namespace SAGA.MBI.WinView.Space
|
|
{
|
|
{
|
|
MessageShow.Show(ex);
|
|
MessageShow.Show(ex);
|
|
}
|
|
}
|
|
|
|
+ }));
|
|
|
|
+ #endregion
|
|
|
|
+ ExecuteCmd.ExecuteCommandOnce(() =>
|
|
|
|
+ {
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ updateCommand.Register();
|
|
|
|
+ #region 创建空间
|
|
|
|
+ using (TransactionGroup group = new TransactionGroup(CurrentContext.Document, "保存空间修改"))
|
|
|
|
+ {
|
|
|
|
+ group.Start();
|
|
|
|
+ CurrentContext.UpdateSpaceSeqaration(saveDatas
|
|
|
|
+ .Select(points => new SpaceSeparation(points.RPoint[0], points.RPoint[1])).ToList(),
|
|
|
|
+ DeletedPolylines);
|
|
|
|
+ DeletedPolylines.Clear();
|
|
|
|
+ var createSuccess = CurrentContext.CreateSpaces();
|
|
|
|
+ if (!createSuccess)
|
|
|
|
+ {
|
|
|
|
+ flagExecuteSuccess = false;
|
|
|
|
+ group.RollBack();
|
|
|
|
+ MessageShow.Infomation("保存楼层空间失败");
|
|
|
|
+ return Result.Succeeded;
|
|
|
|
+ }
|
|
|
|
+ group.Assimilate();
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
|
|
|
|
+ #region 上传模型选择
|
|
|
|
+ Window confirm = GetUploadConfirm();
|
|
|
|
+ var result = confirm.ShowDialog();
|
|
|
|
+ //选择以后界面可用
|
|
|
|
+ this.IsEnabled = true;
|
|
|
|
+ if (result == true)
|
|
|
|
+ {
|
|
|
|
+ // 由于上传需要关闭所有模型,所以这里需要对所有数据进行清空
|
|
|
|
+ this.canvas.Children.Clear();
|
|
|
|
+ //添加默认提示
|
|
|
|
+ CanvasDefaultTips();
|
|
|
|
+ lbSpaces.ItemsSource = new ObservableCollection<MSpace>();
|
|
|
|
+ WinModeInfoMaintenance.GetWindow().Hide();
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ flagExecuteSuccess = false;
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
+ }
|
|
|
|
+ finally
|
|
|
|
+ {
|
|
|
|
+ this.IsEnabled = true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return Result.Succeeded;
|
|
|
|
+ }, () =>
|
|
|
|
+ {
|
|
|
|
+ #region 代码中包含事务,不能再回调线程中使用
|
|
|
|
+ //try
|
|
|
|
+ //{
|
|
|
|
+ // var document = CurrentContext.Document;
|
|
|
|
+ // document.Save();
|
|
|
|
+ // if (!flagExecuteSuccess)
|
|
|
|
+ // {
|
|
|
|
+ // return Result.Succeeded;
|
|
|
|
+ // }
|
|
|
|
+ // SpaceManager.UploadModel(document);
|
|
|
|
+ //}
|
|
|
|
+ //catch (Exception ex)
|
|
|
|
+ //{
|
|
|
|
+ // MessageShow.Show(ex);
|
|
|
|
+ //}
|
|
|
|
+ #endregion
|
|
|
|
+ updateCommand.Raise();
|
|
return Result.Succeeded;
|
|
return Result.Succeeded;
|
|
});
|
|
});
|
|
}
|
|
}
|