using System;
|
using HDL_ON.DriverLayer;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public partial class FloorHeatingPage
|
{
|
|
public static void UpdataStates(Function updateTemp)
|
{
|
try
|
{
|
Application.RunOnMainThread(() =>
|
{
|
if (bodyView == null)
|
{
|
return;
|
}
|
var outinTemp = Convert.ToInt32(Convert.ToDouble(updateTemp.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")));
|
bodyView.btnTemp.Text = outinTemp.ToString();
|
//bodyView.btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(updateTemp.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", "."))) + "°C";
|
bodyView.btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTempOutdoorTemp).Replace("{1}", Convert.ToInt32(Convert.ToDouble(updateTemp.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", "."))).ToString()).Replace("{0}", MainPage.cityInfo.temperature);
|
|
bodyView.btnMode.SelectedImagePath = bodyView.fhTemp.GetModeIconPath(updateTemp.GetAttrState(FunctionAttributeKey.Mode));
|
bodyView.btnMode.UnSelectedImagePath = bodyView.fhTemp.GetModeIconPath(updateTemp.GetAttrState(FunctionAttributeKey.Mode), false);
|
bodyView.arcBar.Progress = outinTemp;
|
//if (updateTemp.trait_on_off.curValue.ToString() == "on")
|
//{
|
// bodyView.arcBar.ThumbImagePath = "FunctionIcon/FloorHeating/DiyThumbIconOn.png";
|
// bodyView.btnSwitch.IsSelected = true;
|
// bodyView.arcBar.IsOffline = false;
|
//}
|
//else
|
//{
|
// bodyView.arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
|
// bodyView.btnSwitch.IsSelected = false;
|
// bodyView.arcBar.IsOffline = true;
|
//}
|
|
|
//app自己控制的不用更新,会造成跳动
|
if (bodyView.seltControlTemp.Contains(outinTemp.ToString()))
|
{
|
bodyView.seltControlTemp.Remove(outinTemp.ToString());
|
}
|
else
|
{
|
bodyView.arcBar.Progress = outinTemp;
|
}
|
|
|
if (updateTemp.trait_on_off.curValue.ToString() == "on")
|
{
|
bodyView.btnMode.IsSelected = true;
|
bodyView.arcBar.IsOffline = false;
|
bodyView.btnSwitch.IsSelected = true;
|
bodyView.arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
|
if (updateTemp.GetAttrState(FunctionAttributeKey.Mode) == "fan")
|
{
|
bodyView.arcBar.IsClickable = false;
|
}
|
else
|
{
|
bodyView.arcBar.IsClickable = true;
|
}
|
}
|
else
|
{
|
bodyView.btnMode.IsSelected = false;
|
bodyView.arcBar.IsOffline = true;
|
bodyView.btnSwitch.IsSelected = false;
|
bodyView.arcBar.IsClickable = false;
|
bodyView.arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
|
}
|
////自动模式不允许调温度 2021-10-27 09:41:35 wxr 陈琳反馈
|
//if (updateTemp.GetAttrState(FunctionAttributeKey.Mode) == "auto" || updateTemp.GetAttrState(FunctionAttributeKey.Mode) == "timer")
|
//{
|
// bodyView.btnPlus.Enable = false;
|
// bodyView.btnMinus.Enable = false;
|
// bodyView.arcBar.IsClickable = false;
|
// bodyView.arcBar.IsOffline = true;
|
//}
|
//更新不同界面状态 2022年06月09日19:22:55 wjc 修改
|
bodyView.updateStatusPage();
|
});
|
}
|
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();
|
//function.SaveFunctionData(true);
|
};
|
|
////自动模式不允许调温度 2021-10-27 09:41:35 wxr 陈琳反馈
|
//if (function.GetAttrState(FunctionAttributeKey.Mode) == "auto" || function.GetAttrState(FunctionAttributeKey.Mode) == "timer")
|
//{
|
// btnPlus.Enable = false;
|
// btnMinus.Enable = false;
|
// arcBar.IsClickable = false;
|
// arcBar.IsOffline = true;
|
//}
|
//初始化不同界面状态 2022年06月09日19:22:55 wjc 修改
|
this.updateStatusPage();
|
}
|
|
/// <summary>
|
/// 收藏功能按钮事件
|
/// </summary>
|
void LoadCollectionEvent()
|
{
|
btnCollection.MouseUpEventHandler += (sender, e) =>
|
{
|
btnCollection.IsSelected = function.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
|
function.CollectFunction();
|
};
|
}
|
|
/// <summary>
|
/// 温度改变模式
|
/// </summary>
|
void LoadEvent_TempChange()
|
{
|
if (!function.online)
|
{
|
new Tip()
|
{
|
CloseTime = 1,
|
Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
|
Direction = AMPopTipDirection.None,
|
}.Show(MainPage.BaseView);
|
return;
|
}
|
btnMinus.MouseUpEventHandler = (sender, e) =>
|
{
|
if (function.trait_on_off.curValue.ToString() == "off")
|
{
|
return;
|
}
|
|
var temp = (int)Convert.ToDouble(function.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."));
|
if (temp <= Convert.ToInt32(function.GetAttribute(FunctionAttributeKey.SetTemp).min))
|
{
|
return;
|
}
|
temp--;
|
seltControlTemp.Add(temp.ToString());
|
arcBar.Progress = temp;
|
function.SetAttrState(FunctionAttributeKey.SetTemp, temp);
|
btnTemp.Text = 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);
|
};
|
btnPlus.MouseUpEventHandler = (sender, e) =>
|
{
|
if (function.trait_on_off.curValue.ToString() == "off")
|
{
|
return;
|
}
|
var temp = (int)Convert.ToDouble(function.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."));
|
if (temp >= Convert.ToDouble(function.GetAttribute(FunctionAttributeKey.SetTemp).max))
|
{
|
return;
|
}
|
temp++;
|
seltControlTemp.Add(temp.ToString());
|
arcBar.Progress = temp;
|
btnTemp.Text = temp.ToString();
|
function.SetAttrState(FunctionAttributeKey.SetTemp, temp);
|
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);
|
};
|
arcBar.OnStopTrackingTouchEvent = (sender, e) =>
|
{
|
function.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress);
|
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);
|
btnTemp.Text = Convert.ToDouble(function.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")).ToString();
|
};
|
}
|
/// <summary>
|
/// 控制模式事件
|
/// </summary>
|
void LoadEvent_AcStatesChange()
|
{
|
btnMode.MouseUpEventHandler = (sender, e) =>
|
{
|
if (function.trait_on_off.curValue.ToString() == "off")
|
{
|
return;
|
}
|
LoadDiv_ChangeModeView();
|
};
|
|
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.ProgressBarColor = CSS_Color.MainColor;
|
arcBar.ThumbImagePath = "FunctionIcon/FloorHeating/DiyThumbIconOn.png";
|
btnSwitch.IsSelected = true;
|
arcBar.IsOffline = false;
|
}
|
else
|
{
|
//arcBar.ProgressBarColor = CSS_Color.PromptingColor2;
|
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 btn1, Button btn2, string curMode)
|
{
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
dialog.Close();
|
};
|
EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
|
{
|
btn1.IsSelected = btn2.IsSelected = true;
|
function.SetAttrState(FunctionAttributeKey.Mode, curMode);
|
btnMode.UnSelectedImagePath = btn1.SelectedImagePath;
|
//byte pro = 6;//不处理温度显示,等待回复数据再处理
|
//function.Fh_Mode_Temp.TryGetValue(curMode, out pro);
|
//arcBar.Progress = pro;
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add(FunctionAttributeKey.Mode, function.GetAttrState(FunctionAttributeKey.Mode));
|
Control.Ins.SendWriteCommand(function, d);
|
dialog.Close();
|
};
|
btn1.MouseUpEventHandler = eventHandler1;
|
btn2.MouseUpEventHandler = eventHandler1;
|
dialogView.MouseUpEventHandler = eventHandler;
|
}
|
|
/// <summary>
|
/// 更新不同界面状态
|
/// </summary>
|
private void updateStatusPage()
|
{
|
btnPlus.Enable = true;
|
btnMinus.Enable = true;
|
arcBar.IsClickable = true;
|
arcBar.IsOffline = false;
|
switch (getModeValue)
|
{
|
case "auto"://自动
|
case "timer"://
|
btnPlus.Enable = false;
|
btnMinus.Enable = false;
|
arcBar.IsClickable = false;
|
arcBar.IsOffline = true;
|
break;
|
|
}
|
}
|
/// <summary>
|
/// 获取模式value值
|
/// </summary>
|
private string getModeValue
|
{
|
get
|
{
|
return function.GetAttrState(FunctionAttributeKey.Mode);
|
}
|
}
|
}
|
}
|