From 304dca51c28183a9dfc192c6b93ea1c00bdd5d97 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 01 七月 2020 15:00:40 +0800
Subject: [PATCH] 添加了写入功能类型

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs |  132 ++++++++++++++++++-------------------------
 1 files changed, 55 insertions(+), 77 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
index a5f4373..3542581 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
@@ -372,17 +372,17 @@
         public static bool CheckCanAddForm(CommonFormBase form)
         {
             //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧
-            string formName = GetFormName(form);
+            string formId = GetFormID(form);
 
             //浜岄噸杩藉姞涓嶅彲
-            if (UserCenterResourse.DicActionForm.ContainsKey(formName) == false)
+            if (UserCenterResourse.DicActionForm.ContainsKey(formId) == false)
             {
                 return true;
             }
             //鏆傛椂杩欐牱寮勭湅鐪嬶紝濡傛灉閲嶅锛屽垯鍏抽棴鎺夊師鏉ョ殑鐣岄潰
-            var formTemp = UserCenterResourse.DicActionForm[formName];
+            var formTemp = UserCenterResourse.DicActionForm[formId];
             formTemp.CloseForm();
-            UserCenterResourse.DicActionForm.Remove(formName);
+            UserCenterResourse.DicActionForm.Remove(formId);
 
             return true;
         }
@@ -394,14 +394,14 @@
         public static void AddActionForm(CommonFormBase form)
         {
             //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧
-            string formName = GetFormName(form);
+            string formId = GetFormID(form);
 
             //浜岄噸杩藉姞涓嶅彲
-            if (UserCenterResourse.DicActionForm.ContainsKey(formName) == false)
+            if (UserCenterResourse.DicActionForm.ContainsKey(formId) == false)
             {
-                form.FormID = formName;
+                form.FormID = formId;
                 //鍐呭瓨娣诲姞
-                UserCenterResourse.DicActionForm[formName] = form;
+                UserCenterResourse.DicActionForm[formId] = form;
                 //娣诲姞鐢婚潰鏃讹紝瀹冭嚜韬氨鏄縺娲荤殑鐣岄潰
                 UserCenterResourse.NowActionFormID = form.FormID;
 
@@ -412,74 +412,43 @@
         /// <summary>
         /// 浠庡垪琛ㄤ腑绉婚櫎鐢婚潰
         /// </summary>
-        /// <param name="form">Form</param>
-        public static void RemoveActionForm(CommonFormBase form)
+        /// <param name="i_closeForm">鍏抽棴鐨勭晫闈�</param>
+        public static void RemoveActionForm(CommonFormBase i_closeForm)
         {
-            //鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧
-            string formName = GetFormName(form);
+            //鑾峰彇鐢婚潰ID
+            string formId = GetFormID(i_closeForm);
 
-            if (UserCenterResourse.DicActionForm.ContainsKey(formName) == true)
+            if (UserCenterResourse.DicActionForm.ContainsKey(formId) == true)
             {
-                //鍒锋柊褰撳墠姝e湪鎿嶄綔鐨勭敾闈D
-                if (UserCenterResourse.NowActionFormID == UserCenterResourse.DicActionForm[formName].FormID)
-                {
-                    //鍚戝墠鎺ㄤ竴浣嶅嵆涓轰笅涓�涓縺娲荤殑鐣岄潰
-                    int index = UserCenterResourse.listActionFormId.IndexOf(UserCenterResourse.NowActionFormID) - 1;
-                    //鍒濆鍊�
-                    UserCenterResourse.NowActionFormID = string.Empty;
-                    var actionForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1);
-
-                    if (index >= 0)
-                    {
-                        if (actionForm != null && actionForm is CommonFormBase)
-                        {
-                            string formId = ((CommonFormBase)actionForm).FormID;
-                            //瀵瑰簲寰愭缁ф壙浜嗗簳灞傦紝浣嗘槸涓嶅垵濮嬪寲鏁版嵁鐨勯棶棰�
-                            if (UserCenterResourse.listActionFormId.Contains(formId) == true)
-                            {
-                                //璋冪敤鐣岄潰閲嶆柊婵�娲荤殑鍑芥暟
-                                CallFormActionAgainEvent(form, index);
-                            }
-                        }
-                        else if (actionForm != null && actionForm is UserView.UserPage)
-                        {
-                            //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡
-                            var nowForm = UserView.UserPage.Instance.GetNowActionForm();
-                            nowForm?.FormActionAgainEvent();
-                        }
-                    }
-                    else if (actionForm != null && actionForm is UserView.UserPage)
-                    {
-                        //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡
-                        var nowForm = UserView.UserPage.Instance.GetNowActionForm();
-                        nowForm?.FormActionAgainEvent();
-                    }
-                }
                 //绉婚櫎ID
-                UserCenterResourse.listActionFormId.Remove(UserCenterResourse.DicActionForm[formName].FormID);
+                UserCenterResourse.listActionFormId.Remove(formId);
                 //绉婚櫎鐢婚潰
-                UserCenterResourse.DicActionForm.Remove(formName);
-            }
-        }
+                UserCenterResourse.DicActionForm.Remove(formId);
+                //娓呯┖
+                UserCenterResourse.NowActionFormID = string.Empty;
 
-        /// <summary>
-        /// 璋冪敤鐣岄潰閲嶆柊婵�娲荤殑鍑芥暟
-        /// </summary>
-        /// <param name="form">鍏抽棴鐨勭晫闈㈠璞�</param>
-        /// <param name="index">褰撳墠闇�瑕侀噸鏂版縺娲荤晫闈㈢殑绱㈠紩</param>
-        private static void CallFormActionAgainEvent(CommonFormBase form, int index)
-        {
-            //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID
-            UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index];
-            //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊
-            if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true)
-            {
-                try
+                var actionForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1);
+                if (actionForm == null)
                 {
-                    var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID] as EditorCommonForm;
-                    //鐐瑰嚮寰堝揩鏃�,杩欎釜涓滆タ浼氭槸null,浣嗘槸DicActionForm閲岄潰涓嶆槸null,涓嶇煡閬撲负浠�涔�
-                    if (Myform != null)
+                    return;
+                }
+                //濡傛灉鍏抽棴鐨勭晫闈㈡槸DialogCommonForm绫诲瀷,鍒欎笉闇�瑕佽Е鍙戞縺娲诲嚱鏁�
+                if (i_closeForm is DialogCommonForm)
+                {
+                    if (actionForm is EditorCommonForm)
                     {
+                        UserCenterResourse.NowActionFormID = GetFormID((EditorCommonForm)actionForm);
+                    }
+                    return;
+                }
+                //鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊�
+                else if ((i_closeForm is EditorCommonForm) && (actionForm is EditorCommonForm))
+                {
+                    //鎺ヤ笅鏉ユ縺娲荤殑鐣岄潰id
+                    UserCenterResourse.NowActionFormID = GetFormID((CommonFormBase)actionForm);
+                    try
+                    {
+                        var Myform = actionForm as EditorCommonForm;
                         //閲嶇疆宸︽粦浣胯兘
                         Myform.ScrollEnabled = Myform.ScrollEnabled;
                         //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢
@@ -490,25 +459,34 @@
                             HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�");
                         }
                     }
+                    catch (Exception ex)
+                    {
+                        //Log鍑哄姏
+                        HdlLogLogic.Current.WriteLog(ex, "鐣岄潰閲嶆柊婵�娲诲紓甯� " + UserCenterResourse.NowActionFormID);
+                    }
                 }
-                catch (Exception ex)
+                else if (actionForm is UserView.UserPage)
                 {
-                    //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
-                    //var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
-                    //alert.Show();
-
-                    //Log鍑哄姏
-                    HdlLogLogic.Current.WriteLog(ex, "鐣岄潰閲嶆柊婵�娲诲紓甯� " + UserCenterResourse.NowActionFormID);
+                    //娓呯┖
+                    UserCenterResourse.NowActionFormID = string.Empty;
+                    //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡
+                    var nowForm = UserView.UserPage.Instance.GetNowActionForm();
+                    nowForm?.FormActionAgainEvent();
+                }
+                else
+                {
+                    //娓呯┖
+                    UserCenterResourse.NowActionFormID = string.Empty;
                 }
             }
         }
 
         /// <summary>
-        /// 鑾峰彇鐢婚潰鑻辨枃鍚嶅瓧
+        /// 鑾峰彇鐢婚潰ID
         /// </summary>
         /// <returns>The form name.</returns>
         /// <param name="form">Form.</param>
-        public static string GetFormName(CommonFormBase form)
+        private static string GetFormID(CommonFormBase form)
         {
             if (form.FormID != string.Empty)
             {

--
Gitblit v1.8.0