using System;
|
using System.Collections.Generic;
|
using Shared;
|
namespace HDL_ON.UI.UI2.Intelligence.Automation
|
{
|
public class Time3:FrameLayout
|
{
|
|
public Time3()
|
{
|
Tag = "Logic";
|
}
|
|
public void Show(string titelText, bool edit, int index)
|
{
|
#region 界面布局
|
LogicView.TopView topView = new LogicView.TopView();
|
topView.frameLayout.Height = Application.GetRealHeight(64 + 20);
|
this.AddChidren(topView.FLayoutView());
|
topView.topNameBtn.Text = titelText;
|
topView.Location();
|
topView.clickBackBtn.MouseUpEventHandler += (e, sen) =>
|
{
|
RemoveFromParent();
|
};
|
|
FrameLayout viewLayout = new FrameLayout
|
{
|
Y = Application.GetRealHeight(64 + 20),
|
Width = Application.GetRealWidth(LogicView.TextSize.view375),
|
Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64 - 20),
|
BackgroundColor = CSS.CSS_Color.viewMiddle,
|
};
|
this.AddChidren(viewLayout);
|
#endregion
|
|
//(日出时,日落时,正午时)
|
string str1 = "";
|
//(提前,延时)
|
string str2 = "";
|
//(提前,延时多少分钟)
|
string value = "";
|
if (edit)
|
{
|
new SpeciaTime().GetText(index, (s1, s2, s3) =>
|
{
|
str1 = s1;
|
str2 = s2;
|
value = s3;
|
});
|
|
|
}
|
var list = new List<string> {
|
Language.StringByID(StringId.punctually),
|
Language.StringByID(StringId.advanced),
|
Language.StringByID(StringId.delayLogic),
|
};
|
|
for (int i = 0; i < list.Count; i++)
|
{
|
LogicView.SelectTypeView timeView = new LogicView.SelectTypeView();
|
timeView.frameLayout.Y = Application.GetRealHeight(i * 50);
|
timeView.btnIcon.Visible = false;
|
timeView.btnText.X = Application.GetRealWidth(16);
|
timeView.btnLine.X = Application.GetRealWidth(16);
|
timeView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16);
|
timeView.btnText.Text = list[i];
|
timeView.btnClick.Tag = list[i];
|
if (i == 0)
|
{
|
timeView.btnNextIcon.Visible = false;
|
}
|
//判断是(日出,日落,正午)
|
if (str1 == titelText)
|
{
|
//判断是(提前,延时)
|
if (str2 == list[i])
|
{
|
string s = "";
|
if (value != "0")
|
{
|
if (value == "30")
|
{
|
s = value + Language.StringByID(StringId.s);
|
}
|
else
|
{
|
s =value + Language.StringByID(StringId.minute);
|
}
|
}
|
timeView.btnState.Visible = true;
|
timeView.btnState.Text = s;
|
}
|
|
}
|
viewLayout.AddChidren(timeView.FLayoutView());
|
timeView.btnClick.MouseUpEventHandler += (sen, e) =>
|
{
|
string clickText = timeView.btnClick.Tag.ToString();
|
string keyValue = GetKeyValue(clickText, titelText);
|
if (clickText == Language.StringByID(StringId.punctually))
|
{
|
//正点
|
AddDic(keyValue, "0", edit, index);
|
}
|
else
|
{
|
//定义一个局部变量
|
string stateValue = "";
|
//判断是(日出,日落,正午)
|
if (str1 == titelText)
|
{
|
//判断是(提前,延时)
|
if (str2 == clickText)
|
{
|
string s = "";
|
if (value != "0")
|
{
|
if (value == "30")
|
{
|
s = value + " s";
|
}
|
else
|
{
|
s = value + " min";
|
}
|
}
|
//更新值stateValue
|
//为了显示之前的状态
|
stateValue = s;
|
}
|
|
}
|
|
PublicInterface timePublicInterface = new PublicInterface();
|
var timelist = timePublicInterface.GetViewList("time");
|
timePublicInterface.SingleSelectionShow(this, timelist, clickText, stateValue
|
, (value1) =>
|
{
|
string timeValue = value1.Split(" ")[0];
|
AddDic(keyValue, timeValue, edit, index);
|
|
});
|
}
|
|
};
|
}
|
|
|
}
|
/// <summary>
|
/// 获取键值
|
/// </summary>
|
/// <param name="clickText">当前选中文本</param>
|
/// <param name="titelText">标题文本</param>
|
/// <returns></returns>
|
private string GetKeyValue(string clickText, string titelText)
|
{
|
|
string keyValue = "";
|
if (titelText == Language.StringByID(StringId.sunrise) + Language.StringByID(StringId.h))
|
{
|
if (clickText == Language.StringByID(StringId.advanced))
|
{
|
keyValue = "before_sunrise";
|
|
}
|
else if (clickText == Language.StringByID(StringId.delayLogic))
|
{
|
keyValue = "after_sunrise";
|
}
|
else
|
{
|
keyValue = "after_sunrise";
|
}
|
}
|
else if (titelText == Language.StringByID(StringId.sunset) + Language.StringByID(StringId.h))
|
{
|
|
|
if (clickText == Language.StringByID(StringId.advanced))
|
{
|
keyValue = "before_sunset";
|
|
}
|
else if (clickText == Language.StringByID(StringId.delayLogic))
|
{
|
keyValue = "after_sunset";
|
}
|
else
|
{
|
keyValue = "after_sunset";
|
}
|
}
|
else
|
{
|
if (clickText == Language.StringByID(StringId.advanced))
|
{
|
keyValue = "before_noon";
|
|
}
|
else if (clickText == Language.StringByID(StringId.delayLogic))
|
{
|
keyValue = "after_noon";
|
}
|
else
|
{
|
keyValue = "after_noon";
|
}
|
|
}
|
return keyValue;
|
}
|
/// <summary>
|
/// 封装数据
|
/// </summary>
|
/// <param name="keyValue"></param>
|
/// <param name="value"></param>
|
/// <param name="edit"></param>
|
/// <param name="index"></param>
|
private void AddDic(string keyValue, string value, bool edit, int index)
|
{
|
Input inputTime = new Input();
|
inputTime.sid = LogicMethod.NewSid();
|
inputTime.condition_type = "1";
|
Dictionary<string, string> dic = new Dictionary<string, string>();
|
LogicMethod.dictionary(dic, "key", keyValue);
|
LogicMethod.dictionary(dic, "comparator", "=");
|
LogicMethod.dictionary(dic, "data_type", "string");
|
LogicMethod.dictionary(dic, "value", value);
|
inputTime.condition.Add(dic);
|
AddCondition(inputTime, edit, index);
|
}
|
/// <summary>
|
/// 添加条件
|
/// </summary>
|
/// <param name="input"></param>
|
private void AddCondition(Input input, bool edit, int index)
|
{
|
if (edit)
|
{
|
//移除旧数据
|
Logic.currlogic.input.RemoveAt(index);
|
//新数据插入旧数据的位置
|
Logic.currlogic.input.Insert(index, input);
|
}
|
else
|
{
|
//添加一个新的时间条件
|
Logic.currlogic.input.Add(input);
|
}
|
LogicMethod.RemoveAllView();
|
AddLogic addLogic = new AddLogic();
|
MainPage.BasePageView.AddChidren(addLogic);
|
addLogic.Show();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
|
}
|
}
|
}
|