using System; using System.Collections.Generic; using HDL_ON.UI.UI2.Intelligence.Automation; using Shared; namespace HDL_ON.UI { public class PushConfigPage : FrameLayout { FrameLayout bodyView; public PushConfigPage() { bodyView = this; } public void Show(Entity.SecurityAlarm alarm) { new TopViewDiv(bodyView, Language.StringByID(StringId.fasongtongzhi)).LoadTopView(); this.BackgroundColor = CSS.CSS_Color.BackgroundColor; var viewLayout = new FrameLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(527), }; bodyView.AddChidren(viewLayout); #region 通知内容 UI2.Intelligence.Automation.LogicView.AddOutputInputTextView addInputTextView = new UI2.Intelligence.Automation.LogicView.AddOutputInputTextView(); addInputTextView.btnIf.TextID = StringId.tongzhineirong; viewLayout.AddChidren(addInputTextView.FLayoutView(46, 12)); ///输入推送文本 EditTextView textBox = new EditTextView//EditText { Y = Application.GetRealHeight(42), X = Application.GetRealWidth(16), Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(152), TextAlignment = TextAlignment.TopLeft, Radius = (uint)Application.GetRealHeight(12), Text = alarm.noticeConfig.noticeContent, TextSize = UI2.Intelligence.Automation.LogicView.TextSize.text14, TextColor = CSS.CSS_Color.textColor, PlaceholderText = Language.StringByID(StringId.xianzhichangdu),//"(100字以内)", PlaceholderTextColor = CSS.CSS_Color.textCancelColor, BackgroundColor = CSS.CSS_Color.textWhiteColor, }; viewLayout.AddChidren(textBox); textBox.TextChangeEventHandler += (sender, e) => { var leng = e.Length; if (leng > 100) { textBox.Text = e.Substring(0, 100); #if __Android__ textBox.SetSelectionEnd(); #endif } }; #endregion #region App推送 UI2.Intelligence.Automation.LogicView.LogicTypeTitleView appPush = new UI2.Intelligence.Automation.LogicView.LogicTypeTitleView(); appPush.frameLayout.Y = Application.GetRealHeight(206); appPush.frameLayout.Radius = (uint)Application.GetRealHeight(12); appPush.btnText.TextID = StringId.apptuisong; appPush.btnText.X = Application.GetRealWidth(12); viewLayout.AddChidren(appPush.FLayoutView(false)); //定义一个局部账号列表用来记录选中数据; List selectedAccountList = new List(); appPush.btnClick.MouseUpEventHandler += (sender, e) => { var userList = new List(); Loading loading = new Loading(); this.AddChidren(loading); loading.Start(); new System.Threading.Thread(() => { try { userList = Send.GetResidenceMemberAccount(); } catch { } finally { Application.RunOnMainThread(() => { loading.Hide(); userList.Add(new Entity.ResidenceMemberInfo { childAccountId = UserInfo.Current.ID, childAccountPhone = UserInfo.Current.userMobileInfo, childAccountEmail = UserInfo.Current.userEmailInfo }); //住宅子账号列表 List accountList = new List(); //之前状态列表 List stateList = new List(); for (int i = 0; i < userList.Count; i++) { var user = userList[i]; accountList.Add(user.Account); } if (alarm.pushConfigs.Count > 0) { var list = alarm.pushConfigs[0].pushTarget; for (int i = 0; i < userList.Count; i++) { var user = userList[i]; if (list.Contains(user.childAccountId)) { stateList.Add(user.Account); } } } PublicInterface view = new PublicInterface(); view.FrameOrVvList(this, accountList, stateList, StringId.zhanghaoxuanze , (list) => { //清空旧数据列表 selectedAccountList.Clear(); for (int i = 0; i < userList.Count; i++) { var user = userList[i]; if (list.Contains(user.Account)) { selectedAccountList.Add(user.childAccountId); } } }); }); } }) { IsBackground = true }.Start(); }; #endregion #region 确认 UI2.Intelligence.Automation.LogicView.SaveView saveView = new UI2.Intelligence.Automation.LogicView.SaveView(); saveView.btnSave.TextID = StringId.queren; saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); this.AddChidren(saveView.FLayoutView()); saveView.btnClick.MouseUpEventHandler += (e, sen) => { alarm.noticeConfig.noticeContent = textBox.Text.Trim(); if (selectedAccountList.Count > 0) { alarm.pushConfigs.Clear();//清空旧数据列表 alarm.pushConfigs.Add(new Entity.SecurityPushConfig { pushTarget = selectedAccountList }); } //账号列表为空默认推送当前账号 if (alarm.pushConfigs.Count == 0) { //初始化对象 Entity.SecurityPushConfig pushConfigs = new Entity.SecurityPushConfig(); //默认添加推送当前账号 pushConfigs.pushTarget.Add(UserInfo.Current.ID); alarm.pushConfigs.Add(pushConfigs); } this.RemoveFromParent(); }; #endregion } /// /// 手机账号为先,手机账号为空,其次到邮箱账号 /// private string Account { get { ///手机账号为先,手机账号为空,其次到邮箱账号; if (!string.IsNullOrEmpty(UserInfo.Current.userMobileInfo)) { //默认推送当前手机账号 return UserInfo.Current.userMobileInfo; } else { //默认推送当前邮箱账号 return UserInfo.Current.userEmailInfo; } } } } }