using 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_AcStatesChange();
|
LoadEvent_TempChange();
|
//回退刷新信息事件
|
actionRefresh = () =>
|
{
|
btnFunctionName.Text = btnFunctionName_Out.Text = aC.name;
|
btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = aC.GetRoomListName();
|
};
|
}
|
|
/// <summary>
|
/// 收藏功能按钮事件
|
/// </summary>
|
void LoadCollectionEvent()
|
{
|
btnCollection.MouseUpEventHandler += (sender, e) =>
|
{
|
btnCollection.IsSelected = aC.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
|
aC.CollectFunction();
|
};
|
}
|
|
/// <summary>
|
/// 温度改变模式
|
/// </summary>
|
void LoadEvent_TempChange()
|
{
|
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_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;
|
}
|
}
|
}
|