From 018bfb9c78088d9cd7b9371edcd2102abd594b4d Mon Sep 17 00:00:00 2001
From: ningshuxia <ningshuxia0927@outlook.com>
Date: 星期一, 21 四月 2025 15:21:59 +0800
Subject: [PATCH] 水力计算曲线 报错修复

---
 WinFrmUI/PBS.WinFrmUI/03-elecPrice/ElecPriceMgr.cs |   32 +++++++++++++++++++++++++++-----
 1 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/WinFrmUI/PBS.WinFrmUI/03-elecPrice/ElecPriceMgr.cs b/WinFrmUI/PBS.WinFrmUI/03-elecPrice/ElecPriceMgr.cs
index a616d57..835daab 100644
--- a/WinFrmUI/PBS.WinFrmUI/03-elecPrice/ElecPriceMgr.cs
+++ b/WinFrmUI/PBS.WinFrmUI/03-elecPrice/ElecPriceMgr.cs
@@ -60,11 +60,12 @@
                         }
                     }
                 }
-                else
-                {
-                    _elecPrice.Settings = new Vmo.ElecPriceSetting();
-                    _elecPrice.Settings.MonthList = new List<Vmo.ElecPriceMonthSetting> { new Vmo.ElecPriceMonthSetting() };
-                }
+            }
+            else
+            {
+                _elecPrice = new Vmo.ElecPriceVmo();
+                _elecPrice.Settings = new Vmo.ElecPriceSetting();
+                _elecPrice.Settings.MonthList = new List<Vmo.ElecPriceMonthSetting>();
             }
             this.elecPriceViewModelBindingSource.DataSource = _allBindingList;
             this.elecPriceViewModelBindingSource.ResetBindings(false);
@@ -80,6 +81,27 @@
             {
                 var bll = new BLL.ElecPrice();
                 _elecPrice.Settings.MonthList.Add(price);
+                if (_elecPrice.ID == 0)
+                {
+                    var id = await bll.Insert(_elecPrice);
+                    if (id > 0)
+                    {
+                        _elecPrice.ID = id;
+                        foreach (var item in price.HourList)
+                        {
+                            this._allBindingList.Add(new ElecPriceViewModel
+                            {
+                                BelongName = $"{price.StartMonth}~{price.EndMonth}(鏈�)",
+                                StartHour = item.StartHour,
+                                EndHour = item.EndHour,
+                                Price = item.Price
+                            });
+                        }
+                        this.elecPriceViewModelBindingSource.ResetBindings(false);
+                        return true;
+                    }
+                    return false;
+                }
                 var bol = await bll.Update(_elecPrice);
                 if (bol)
                 {

--
Gitblit v1.9.3