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(Function updateTemp)
|
{
|
try
|
{
|
Application.RunOnMainThread((() =>
|
{
|
if (bodyView == null)
|
{
|
return;
|
}
|
if (updataTime.AddMilliseconds(300) > DateTime.Now)
|
{
|
return;
|
}
|
AC temp = new AC();
|
updataTime = DateTime.Now;
|
bodyView.btnTemp.Text = Convert.ToDouble( updateTemp.GetAttrState(FunctionAttributeKey.SetTemp)).ToString();
|
bodyView.btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(updateTemp.GetAttrState((string)FunctionAttributeKey.RoomTemp))) + "°C";
|
bodyView.btnMode.UnSelectedImagePath = temp.GetModeIconPath(updateTemp.GetAttrState(FunctionAttributeKey.Mode));
|
bodyView.btnWindSpeed.UnSelectedImagePath = temp.GetFanIconPath(updateTemp.GetAttrState(FunctionAttributeKey.FanSpeed));
|
bodyView.arcBar.Progress = Convert.ToInt32(Convert.ToDouble(updateTemp.GetAttrState(FunctionAttributeKey.SetTemp)));
|
if (updateTemp.trait_on_off.curValue.ToString() == "on")
|
{
|
bodyView.arcBar.IsOffline = false;
|
bodyView.btnSwitch.IsSelected = true;
|
bodyView.arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
|
if (updateTemp.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 = function.name;
|
btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName();
|
};
|
}
|
|
/// <summary>
|
/// 收藏功能按钮事件
|
/// </summary>
|
void LoadCollectionEvent()
|
{
|
btnCollection.MouseUpEventHandler += (sender, e) =>
|
{
|
btnCollection.IsSelected = function.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
|
function.CollectFunction();
|
};
|
}
|
|
/// <summary>
|
/// 温度改变模式
|
/// </summary>
|
void LoadEvent_TempChange()
|
{
|
btnMinus.MouseUpEventHandler = (sender, e) =>
|
{
|
if (function.trait_on_off.curValue.ToString() == "off" || function.GetAttrState(FunctionAttributeKey.Mode) == "fan")
|
{
|
return;
|
}
|
var temp = (int)Convert.ToDouble(function.GetAttrState(FunctionAttributeKey.SetTemp));
|
if (temp <= function.GetAttribute(FunctionAttributeKey.Mode).min)
|
{
|
return;
|
}
|
temp--;
|
arcBar.Progress = temp;
|
btnTemp.Text = temp.ToString();
|
function.SetAttrState(FunctionAttributeKey.SetTemp,temp.ToString());
|
//Control.Send(CommandType_A.write, function);
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
|
Control.Ins.SendWriteCommand(function, d);
|
};
|
btnPlus.MouseUpEventHandler = (sender, e) =>
|
{
|
if (function.trait_on_off.curValue.ToString() == "off" || function.GetAttrState(FunctionAttributeKey.Mode) == "fan")
|
{
|
return;
|
}
|
var temp = (int)Convert.ToDouble(function.GetAttrState(FunctionAttributeKey.SetTemp));
|
if (temp >= function.GetAttribute(FunctionAttributeKey.SetTemp).max)
|
{
|
return;
|
}
|
temp++;
|
arcBar.Progress = temp;
|
btnTemp.Text = temp.ToString();
|
function.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(function, d);
|
//function.GetSendJObject
|
|
};
|
arcBar.OnStopTrackingTouchEvent = (sender, e) =>
|
{
|
function.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(function, d);
|
};
|
arcBar.OnProgressChangedEvent = (sender, e) =>
|
{
|
function.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
|
btnTemp.Text = e.ToString();
|
};
|
}
|
/// <summary>
|
/// 控制模式事件
|
/// </summary>
|
void LoadEvent_AcStatesChange()
|
{
|
btnMode.MouseUpEventHandler = (sender, e) =>
|
{
|
if (function.trait_on_off.curValue.ToString() == "off")
|
{
|
return;
|
}
|
LoadDiv_ChangeModeView();
|
};
|
btnWindSpeed.MouseUpEventHandler = (sender, e) =>
|
{
|
if (function.trait_on_off.curValue.ToString() == "off")
|
{
|
return;
|
}
|
LoadDiv_ChangeFanView();
|
};
|
|
btnSwitch.MouseUpEventHandler = (sender, e) =>
|
{
|
btnSwitch.IsSelected = !btnSwitch.IsSelected;
|
function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
|
if (function.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, function.trait_on_off.curValue.ToString());
|
Control.Ins.SendWriteCommand(function, 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;
|
function.SetAttrState(FunctionAttributeKey.Mode, curMode);
|
btnMode.UnSelectedImagePath = acTemp.GetModeIconPath(function.GetAttrState(FunctionAttributeKey.Mode));
|
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(function, d);
|
dialog.Close();
|
if (function.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;
|
function.SetAttrState(FunctionAttributeKey.FanSpeed, curFan);
|
btnWindSpeed.UnSelectedImagePath = acTemp.GetFanIconPath(function.GetAttrState(FunctionAttributeKey.FanSpeed));
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add(FunctionAttributeKey.FanSpeed, curFan);
|
Control.Ins.SendWriteCommand(function, d);
|
btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath;
|
dialog.Close();
|
};
|
btnFanIcon.MouseUpEventHandler = eventHandler1;
|
btnFanText.MouseUpEventHandler = eventHandler1;
|
dialogView.MouseUpEventHandler = closeDialogEvent;
|
}
|
}
|
}
|