namespace PBS.WinFrmUI.Hydro { /// /// /// public class QuickModelingHelper { /// /// 创建 /// public static async Task Create(QuickModelingViewModel vm, Action feedBackMsg, Action feedBackProgress) { //var place = vm.Place; //var facility = vm.Facility; //place.ID = await BLLFactory.Instance.Insert(place); //if (place.ID < 1) //{ // TipFormHelper.ShowError("新增场所失败!"); // return false; //} //facility.PlaceID = place.ID; //facility.ID = await BLLFactory.Instance.Insert(facility); //if (facility.ID < 1) //{ // TipFormHelper.ShowError("新增设施失败!"); // return false; //} //facility = await BLLFactory.Instance.GetByID(facility.ID); //var tempInpFile = facility.ModelPath; //var fullPath = Path.Combine(Directory.GetCurrentDirectory(), "Data\\Inp\\" + facility.ID + ".inp"); //File.Copy(tempInpFile, fullPath, true); //var bgFile = _vm.TempBackgroundImageUrl; //if (File.Exists(bgFile)) //{ // File.Copy(bgFile, fullPath.Replace(".inp", ".png"), true); // File.Delete(bgFile); //} //if (File.Exists(tempInpFile)) // File.Delete(tempInpFile); //_template.filePath = fullPath; //_template.BackGroundImg_FullPath = fullPath.Replace(".inp", ".png"); //facility.ModelInfo = Yw.JsonHelper.Object2Json(_template); //facility.ModelPath = fullPath; //if (!await BLLFactory.Instance.Update(facility)) //{ // TipFormHelper.ShowError("新增模型信息失败!"); // return false; //} //var msg = string.Empty; //if (vm == null) //{ // return false; //} //#region 第一步 复制水力信息 //feedBackMsg?.Invoke("正在创建水力信息副本...", Color.Black); //var hydroInfoId = await BLLFactory.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.Instance.GetByID(hydroInfoId); //#endregion //#region 第二步 创建方案 //feedBackMsg?.Invoke("正在创建水力方案...", Color.Black); //var schemeId = await BLLFactory.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.Instance.GetByID(schemeId); //#endregion //#region 第三步 建立水力关联 //feedBackMsg?.Invoke("正在建立水力关联...", 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.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("正在更新水力信息...", Color.Black); //if (vm.allChangeRecordList != null && vm.allChangeRecordList.Count > 0) //{ // var allParterChangeList = new List(); // 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.Instance.Update(vm.HydroInfo, null, allParterChangeList, null); // if (!bol) // { // feedBackMsg?.Invoke("水力信息更新失败!!!", Color.Red); // } //} //feedBackMsg?.Invoke("水力信息更新成功。。。", Color.Green); //feedBackProgress?.Invoke(100, 100); return true; } } }