From df8d4ab0ef17a7fab5dea9c47bbd9f4d4a2a40b0 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 15 三月 2021 14:55:49 +0800
Subject: [PATCH] 合并前上传一个版本
---
HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs | 228 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 213 insertions(+), 15 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
index 0012064..d00e469 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
@@ -1,18 +1,74 @@
锘縰sing System;
+using HDL_ON.DriverLayer;
using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Shared;
+
namespace HDL_ON.UI
{
public partial class ACPage
{
+ static DateTime updataTime = DateTime.MinValue;
+ public static void UpdataStates(AC uAc)
+ {
+ try
+ {
+ Application.RunOnMainThread((() =>
+ {
+ if (bodyView == null)
+ {
+ return;
+ }
+ if (updataTime.AddMilliseconds(300) > DateTime.Now)
+ {
+ return;
+ }
+ updataTime = DateTime.Now;
+ bodyView.btnTemp.Text = uAc.GetAttrState(FunctionAttributeKey.SetTemp);
+ bodyView.btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(uAc.GetAttrState((string)FunctionAttributeKey.IndoorTemp))) + "掳C";
+ bodyView.btnMode.UnSelectedImagePath = uAc.GetModeIconPath();
+ bodyView.btnWindSpeed.UnSelectedImagePath = uAc.GetFanIconPath();
+ bodyView.arcBar.Progress = Convert.ToInt32(Convert.ToDouble(uAc.GetAttrState(FunctionAttributeKey.SetTemp)));
+ if (uAc.trait_on_off.curValue.ToString() == "on")
+ {
+ bodyView.arcBar.IsOffline = false;
+ bodyView.btnSwitch.IsSelected = true;
+ bodyView.arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
+ if (uAc.GetAttrState((string)FunctionAttributeKey.Mode) == "fan")
+ {
+ bodyView.arcBar.IsClickable = false;
+ }
+ else
+ {
+ bodyView.arcBar.IsClickable = true;
+ }
+ }
+ else
+ {
+ bodyView.arcBar.IsOffline = true;
+ bodyView.btnSwitch.IsSelected = false;
+ bodyView.arcBar.IsClickable = false;
+ bodyView.arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
+ }
+
+ }));
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"acpage updata error {ex.Message}");
+ }
+ }
+
void LoadEventList()
{
LoadCollectionEvent();
- LoadEvent_ModeChange();
+ LoadEvent_AcStatesChange();
LoadEvent_TempChange();
//鍥為��鍒锋柊淇℃伅浜嬩欢
- actionRefresh = () => {
- btnFunctionName.Text = btnFunctionName_Out.Text = function.name;
- btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName();
+ actionRefresh = () =>
+ {
+ btnFunctionName.Text = btnFunctionName_Out.Text = aC.name;
+ btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = aC.GetRoomListName();
};
}
@@ -21,9 +77,10 @@
/// </summary>
void LoadCollectionEvent()
{
- btnCollection.MouseUpEventHandler += (sender, e) => {
- btnCollection.IsSelected = function.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
- DB_ResidenceData.residenceData.SaveResidenceData();
+ btnCollection.MouseUpEventHandler += (sender, e) =>
+ {
+ btnCollection.IsSelected = aC.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
+ aC.CollectFunction();
};
}
@@ -32,19 +89,160 @@
/// </summary>
void LoadEvent_TempChange()
{
- btnMinus.MouseUpEventHandler = (sender, e) => {
- //function as AC
+ btnMinus.MouseUpEventHandler = (sender, e) =>
+ {
+ if (aC.trait_on_off.curValue.ToString() == "off" || aC.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ return;
+ }
+ var temp = Convert.ToInt32(aC.GetAttrState(FunctionAttributeKey.SetTemp));
+ if (temp <= aC.GetAttribute(FunctionAttributeKey.Mode).min)
+ {
+ return;
+ }
+ temp--;
+ arcBar.Progress = temp;
+ btnTemp.Text = temp.ToString();
+ aC.SetAttrState(FunctionAttributeKey.SetTemp,temp.ToString());
+ //Control.Send(CommandType_A.write, aC);
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
+ Control.Ins.SendWriteCommand(aC, d);
+ };
+ btnPlus.MouseUpEventHandler = (sender, e) =>
+ {
+ if (aC.trait_on_off.curValue.ToString() == "off" || aC.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ return;
+ }
+ var temp = Convert.ToInt32(aC.GetAttrState(FunctionAttributeKey.SetTemp));
+ if (temp >= aC.GetAttribute(FunctionAttributeKey.SetTemp).max)
+ {
+ return;
+ }
+ temp++;
+ arcBar.Progress = temp;
+ btnTemp.Text = temp.ToString();
+ aC.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
+ Control.Ins.SendWriteCommand(aC, d);
+ //aC.GetSendJObject
+
+ };
+ arcBar.OnStopTrackingTouchEvent = (sender, e) =>
+ {
+ aC.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
+ btnTemp.Text = arcBar.Progress.ToString();
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
+ Control.Ins.SendWriteCommand(aC, d);
+ };
+ arcBar.OnProgressChangedEvent = (sender, e) =>
+ {
+ aC.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
+ btnTemp.Text = e.ToString();
+ };
+ }
+ /// <summary>
+ /// 鎺у埗妯″紡浜嬩欢
+ /// </summary>
+ void LoadEvent_AcStatesChange()
+ {
+ btnMode.MouseUpEventHandler = (sender, e) =>
+ {
+ if (aC.trait_on_off.curValue.ToString() == "off")
+ {
+ return;
+ }
+ LoadDiv_ChangeModeView();
+ };
+ btnWindSpeed.MouseUpEventHandler = (sender, e) =>
+ {
+ if (aC.trait_on_off.curValue.ToString() == "off")
+ {
+ return;
+ }
+ LoadDiv_ChangeFanView();
+ };
+
+ btnSwitch.MouseUpEventHandler = (sender, e) =>
+ {
+ btnSwitch.IsSelected = !btnSwitch.IsSelected;
+ aC.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
+ if (aC.trait_on_off.curValue.ToString() == "on")
+ {
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
+ btnSwitch.IsSelected = true;
+ arcBar.IsOffline = false;
+ }
+ else
+ {
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
+ btnSwitch.IsBold = false;
+ arcBar.IsOffline = true;
+ }
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.OnOff, aC.trait_on_off.curValue.ToString());
+ Control.Ins.SendWriteCommand(aC, d);
};
}
/// <summary>
- /// 鎺у埗妯″紡浜嬩欢
+ /// 鍔犺浇妯″紡鏀瑰彉浜嬩欢
/// </summary>
- void LoadEvent_ModeChange()
+ void LoadEvent_ChangeMode(Dialog dialog, FrameLayout dialogView, Button btnModeIcon, Button btnModeText, string curMode)
{
-
+ EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+ EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
+ {
+ btnModeIcon.IsSelected = btnModeText.IsSelected = true;
+ aC.SetAttrState(FunctionAttributeKey.Mode, curMode);
+ btnMode.UnSelectedImagePath = aC.GetModeIconPath();
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath;
+ d.Add(FunctionAttributeKey.Mode, curMode);
+ Control.Ins.SendWriteCommand(aC, d);
+ dialog.Close();
+ if (aC.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ bodyView.arcBar.IsClickable = false;
+ }
+ else
+ {
+ bodyView.arcBar.IsClickable = true;
+ }
+ };
+ btnModeIcon.MouseUpEventHandler = eventHandler1;
+ btnModeText.MouseUpEventHandler = eventHandler1;
+ dialogView.MouseUpEventHandler = eventHandler;
}
-
-
+ /// <summary>
+ /// 鍔犺浇椋庨�熸敼鍙樹簨浠�
+ /// </summary>
+ void LoadEvent_ChangeFan(Dialog dialog, FrameLayout dialogView, Button btnFanIcon, Button btnFanText, string curFan)
+ {
+ EventHandler<MouseEventArgs> closeDialogEvent = (sender, e) =>
+ {
+ dialog.Close();
+ };
+ EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
+ {
+ btnFanIcon.IsSelected = btnFanText.IsSelected = true;
+ aC.SetAttrState(FunctionAttributeKey.FanSpeed, curFan);
+ btnWindSpeed.UnSelectedImagePath = aC.GetFanIconPath();
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.FanSpeed, curFan);
+ Control.Ins.SendWriteCommand(aC, d);
+ btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath;
+ dialog.Close();
+ };
+ btnFanIcon.MouseUpEventHandler = eventHandler1;
+ btnFanText.MouseUpEventHandler = eventHandler1;
+ dialogView.MouseUpEventHandler = closeDialogEvent;
+ }
}
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0