From cc0d80c7d86c6d0167269b3408c4b30c24ce84e9 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 23 三月 2020 16:55:37 +0800
Subject: [PATCH] ???????
---
ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs | 108 +++++++++++++++++++++++++++++++----------------------
1 files changed, 63 insertions(+), 45 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs
index 75e25ac..7a129f1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs
@@ -19,7 +19,7 @@
/// </summary>
private VerticalFrameRefreshControl listView = null;
/// <summary>
- /// 鍏ㄩ儴鐨勮
+ /// 鍏ㄩ儴鐨勮,涓婚敭鏄嚜鍔ㄩ�掑鐨勪笢瑗�
/// </summary>
private Dictionary<string, RowLayoutControl> dicAllRow = null;
@@ -32,6 +32,9 @@
/// </summary>
public void ShowForm()
{
+ //宸︽粦浣胯兘
+ this.ScrollEnabled = false;
+
Common.CommonPage.Instance.IsDrawerLockMode = true;
//璁剧疆澶撮儴淇℃伅
@@ -172,8 +175,15 @@
for (int i = 0; i < listData.Count; i++)
{
- //娣诲姞淇℃伅琛�
- this.AddMsgRowControl(framBack, listData[i], i != listData.Count - 1);
+ //涓�鏉′俊鎭噷闈紝瀹冨彲鑳藉寘鍚涓姤璀�
+ for (int j = 0; j < listData[i].listMsg.Count; j++)
+ {
+ //璁剧疆宸茶鐨勫垵濮嬪��
+ listData[i].ListReading.Add(listData[i].IsReading);
+ //娣诲姞淇℃伅琛�
+ bool addLine = i != listData.Count - 1 || j != listData[i].listMsg.Count - 1;
+ this.AddMsgRowControl(framBack, listData[i], j, addLine);
+ }
}
//璋冩暣楂樺害
listView.AdjustChidrenFrameHeight(framBack, Application.GetRealHeight(23));
@@ -249,8 +259,9 @@
/// </summary>
/// <param name="frameList"></param>
/// <param name="recordInfo"></param>
+ /// <param name="msgIndex">鎶ヨ娑堟伅鐨勪笅鏍�</param>
/// <param name="addLine"></param>
- private void AddMsgRowControl(FrameListControl frameList, MessageRecordInfo recordInfo, bool addLine)
+ private void AddMsgRowControl(FrameListControl frameList, MessageRecordInfo recordInfo, int msgIndex, bool addLine)
{
var rowControl = new RowLayoutControl(frameList.rowSpace / 2);
frameList.AddChidren(rowControl);
@@ -265,7 +276,7 @@
var btnMsgObject = rowControl.frameTable.AddLeftCaption(recordInfo.MsgObjectText, 600);
//娑堟伅
- var btnMsg = rowControl.frameTable.AddMostRightView(recordInfo.MsgText, 600, 60);
+ var btnMsg = rowControl.frameTable.AddMostRightView(recordInfo.listMsg[msgIndex], 600, 60);
btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
btnMsg.Y = Application.GetRealHeight(5) + rowControl.frameTable.chidrenYaxis;
rowControl.frameTable.AddChidren(btnMsg, ChidrenBindMode.BindEventOnly);
@@ -279,10 +290,10 @@
//搴曠嚎
if (addLine == true)
{
- rowControl.frameTable.AddBottomLine();
+ rowControl.frameTable.AddBottomLine();
}
//宸茶
- if (recordInfo.IsReading == true)
+ if (recordInfo.ListReading[msgIndex] == true)
{
rowControl.frameTable.UseClickStatu = false;
//娑堟伅绫诲瀷
@@ -295,7 +306,7 @@
//鏂版秷鎭�
PicViewControl btnNewTip = null;
- if (recordInfo.IsReading == false)
+ if (recordInfo.ListReading[msgIndex] == false)
{
btnNewTip = new PicViewControl(78, 55);
btnNewTip.UnSelectedImagePath = "Item/NewVersion.png";
@@ -323,11 +334,11 @@
//鐐瑰嚮
rowControl.frameTable.ButtonClickEvent += async (sender, e) =>
{
- if (recordInfo.IsReading == true)
+ if (recordInfo.ListReading[msgIndex] == true)
{
return;
}
- recordInfo.IsReading = true;
+ recordInfo.ListReading[msgIndex] = true;
rowControl.frameTable.UseClickStatu = false;
//娑堟伅绫诲瀷
btnMsgObject.TextColor = UserCenterColor.Current.TextGrayColor1;
@@ -350,7 +361,7 @@
/// 鏍囪宸茶
/// </summary>
/// <param name="strId"></param>
- private async System.Threading.Tasks.Task<bool> SetTickIsRead(string strId)
+ private async Task<bool> SetTickIsRead(string strId)
{
var pra = new MessageReadStatuPra();
pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
@@ -375,19 +386,17 @@
{
//鎵撳紑杩涘害鏉�
this.ShowProgressBar();
- foreach (var contr in this.dicAllRow.Values)
- {
- //鏍囪瘑鍏ㄩ儴涓哄凡璇�
- var result = await this.SetTickIsRead(contr.MainKeys);
- if (result == false)
- {
- //鍏抽棴杩涘害鏉�
- this.CloseProgressBar();
- return;
- }
- }
+
+ var pra = new MessageReadStatuPra();
+ pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+ pra.TagAllOrClearType = 0;
+ var result = await UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/TagAllOrClearMessageCenter", true, pra);
//鍏抽棴杩涘害鏉�
this.CloseProgressBar();
+ if (result == false)
+ {
+ return;
+ }
HdlThreadLogic.Current.RunMain(() =>
{
@@ -411,7 +420,7 @@
/// <param name="strId"></param>
/// <param name="frameList"></param>
/// <param name="rowContr"></param>
- private async System.Threading.Tasks.Task<bool> DeleteMsg(string strId, FrameListControl frameList, RowLayoutControl rowContr)
+ private async Task<bool> DeleteMsg(string strId, FrameListControl frameList, RowLayoutControl rowContr)
{
var pra = new MessageReadStatuPra();
pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
@@ -452,16 +461,16 @@
{
//鎵撳紑杩涘害鏉�
this.ShowProgressBar();
- foreach (var contr in this.dicAllRow.Values)
+
+ var pra = new MessageReadStatuPra();
+ pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+ pra.TagAllOrClearType = 1;
+ var result = await UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/TagAllOrClearMessageCenter", true, pra);
+ if (result == false)
{
- //鍒犻櫎鍏ㄩ儴娑堟伅
- var result = await this.DeleteMsg(contr.MainKeys, null, null);
- if (result == false)
- {
- //鍏抽棴杩涘害鏉�
- this.CloseProgressBar();
- return;
- }
+ //鍏抽棴杩涘害鏉�
+ this.CloseProgressBar();
+ return;
}
//鍒濆鍖栦腑閮ㄤ俊鎭�
this.InitMiddleData(true);
@@ -776,19 +785,27 @@
if (info == null)
{
//闈炲湪鍐岀殑娑堟伅璁板綍
- recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered);
+ recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered));
+ return true;
}
- else if (info.BatteryMsg != null)
+
+ if (string.IsNullOrEmpty(info.AlarmMsg) == false)
{
- recordInfo.MsgText = info.BatteryMsg;
+ recordInfo.listMsg.Add(info.AlarmMsg);
}
- else if (info.DemolishmenMsg != null)
+ if (info.BatteryMsg != null)
{
- recordInfo.MsgText = info.DemolishmenMsg;
+ recordInfo.listMsg.Add(info.BatteryMsg);
}
- else
+ if (info.DemolishmenMsg != null)
{
- recordInfo.MsgText = string.IsNullOrEmpty(info.AlarmMsg) == false ? info.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered);
+ recordInfo.listMsg.Add(info.DemolishmenMsg);
+ }
+
+ //瑙﹀彂浼犳劅鍣ㄦ姤璀�
+ if (recordInfo.listMsg.Count == 0)
+ {
+ recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered));
}
return true;
}
@@ -822,7 +839,8 @@
}
//娑堟伅
var msgInfo = HdlAlarmsLogic.Current.GetDoorLockAlarmInfo(receiveData);
- recordInfo.MsgText = msgInfo != null ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uDoorLocksAlarmHadTriggered);
+ string MsgText = msgInfo != null ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uDoorLocksAlarmHadTriggered);
+ recordInfo.listMsg.Add(MsgText);
}
#endregion
@@ -847,12 +865,12 @@
//绂诲甯冮槻
recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uRemoveHomeGarrison);
//宸叉墽琛�
- recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted);
+ recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uExecuted));
}
else
{
//宸叉墽琛�
- recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted);
+ recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uExecuted));
//娌℃湁鍐呴儴闃插尯
if (HdlSafeguardLogic.Current.IsHadInternalDefenseArea() == false)
{
@@ -890,7 +908,7 @@
if (data.Result == 0)
{
//宸叉墽琛�
- recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted);
+ recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uExecuted));
//鎾ら槻
recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uWithdrawGarrison);
}
@@ -916,7 +934,7 @@
//绫诲瀷:閫昏緫鍚嶅瓧
recordInfo.MsgObjectText = receiveData["Data"]["LogicName"].ToString();
//宸叉墽琛�
- recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted);
+ recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uExecuted));
}
#endregion
@@ -934,7 +952,7 @@
//绫诲瀷:鍦烘櫙鍚嶅瓧
recordInfo.MsgObjectText = receiveData["Data"]["ScenesName"].ToString();
//宸叉墽琛�
- recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted);
+ recordInfo.listMsg.Add(Language.StringByID(R.MyInternationalizationString.uExecuted));
}
#endregion
--
Gitblit v1.8.0