From fd206ba4e3e792eb01898fea540d50c2fd92f364 Mon Sep 17 00:00:00 2001 From: qin <a@163.com> Date: 星期二, 18 三月 2025 13:46:34 +0800 Subject: [PATCH] IBox封装隐藏按钮 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/00-core/CreateXhsSchemeHelper.cs | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 100 insertions(+), 1 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/00-core/CreateXhsSchemeHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/00-core/CreateXhsSchemeHelper.cs index 60a7790..b436796 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/00-core/CreateXhsSchemeHelper.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/00-core/CreateXhsSchemeHelper.cs @@ -1,4 +1,6 @@ -锘縩amespace HStation.WinFrmUI +锘縰sing Yw.Model; + +namespace HStation.WinFrmUI { /// <summary> /// @@ -6,6 +8,103 @@ public class CreateXhsSchemeHelper { + /// <summary> + /// 鍒涘缓 + /// </summary> + /// <param name="vm">閫氱敤瑙嗗浘Model</param> + /// <param name="feedBackMsg">淇℃伅鍙嶉</param> + /// <param name="feedBackProgress">杩涘害鍙嶉</param> + /// <returns></returns> + public static async Task<bool> Create(CreateXhsSchemeViewModel vm, Action<string, Color> feedBackMsg, Action<int, int> feedBackProgress) + { + var msg = string.Empty; + if (vm == null) + { + return false; + } + + #region 绗竴姝� 澶嶅埗姘村姏淇℃伅 + + feedBackMsg?.Invoke("姝e湪鍒涘缓姘村姏淇℃伅鍓湰...", Color.Black); + var hydroInfoId = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Copy(vm.HydroInfo.ID); + if (hydroInfoId < 1) + { + feedBackMsg?.Invoke("姘村姏淇℃伅鍓湰鍒涘缓澶辫触锛侊紒锛�", Color.Red); + return false; + } + feedBackMsg?.Invoke("姘村姏淇℃伅鍓湰鍒涘缓鎴愬姛銆傘�傘��", Color.Green); + feedBackProgress?.Invoke(100, 30); + vm.HydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroInfoId); + + #endregion + + #region 绗簩姝� 鍒涘缓鏂规 + + feedBackMsg?.Invoke("姝e湪鍒涘缓姘村姏鏂规...", Color.Black); + var schemeId = await BLLFactory<HStation.BLL.XhsScheme>.Instance.Insert(vm.Scheme); + if (schemeId < 1) + { + feedBackMsg?.Invoke("姘村姏鏂规鍒涘缓澶辫触锛侊紒锛�", Color.Red); + return true; + } + feedBackMsg?.Invoke("姘村姏鏂规鍒涘缓鎴愬姛銆傘�傘��", Color.Green); + feedBackProgress?.Invoke(100, 40); + vm.Scheme = await BLLFactory<HStation.BLL.XhsScheme>.Instance.GetByID(schemeId); + + #endregion + + #region 绗笁姝� 寤虹珛姘村姏鍏宠仈 + + feedBackMsg?.Invoke("姝e湪寤虹珛姘村姏鍏宠仈...", Color.Black); + var relation = new Yw.Vmo.HydroModelRelationVmo(); + relation.ObjectType = HStation.Xhs.DataType.XhsScheme; + relation.ObjectID = vm.Scheme.ID; + relation.ModelID = vm.HydroInfo.ID; + relation.Purpose = Yw.Hydro.Purpose.Simulation; + relation.Content = null; + relation.SortCode = 1; + relation.Description = "鑷姩鐢熸垚"; + + relation.ID = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance.Insert(relation); + if (relation.ID < 1) + { + feedBackMsg?.Invoke("姘村姏鍏宠仈澶辫触锛侊紒锛�", Color.Red); + return true; + } + feedBackMsg?.Invoke("姘村姏鍏宠仈鎴愬姛銆傘�傘��", Color.Green); + feedBackProgress?.Invoke(100, 50); + + #endregion + + #region 绗洓姝� 鏇存柊姘村姏淇℃伅 + + feedBackMsg?.Invoke("姝e湪鏇存柊姘村姏淇℃伅...", Color.Black); + if (vm.allChangeRecordList != null && vm.allChangeRecordList.Count > 0) + { + var allParterChangeList = new List<HydroParterInfo>(); + foreach (var changeRecord in vm.allChangeRecordList) + { + var parter = changeRecord.ViewModel.Vmo; + if (!allParterChangeList.Exists(x => x.Code == parter.Code)) + { + allParterChangeList.Add(changeRecord.ViewModel.Vmo); + } + } + var bol = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Update(vm.HydroInfo, null, allParterChangeList, null); + if (!bol) + { + feedBackMsg?.Invoke("姘村姏淇℃伅鏇存柊澶辫触锛侊紒锛�", Color.Red); + } + } + feedBackMsg?.Invoke("姘村姏淇℃伅鏇存柊鎴愬姛銆傘�傘��", Color.Green); + feedBackProgress?.Invoke(100, 100); + return true; + + + #endregion + + } + } -- Gitblit v1.9.3