| | |
| | | { |
| | | public class SubaccountListView : FrameLayout |
| | | { |
| | | List<SubAccountRes> subaccountList; |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | List<ResidenceMemberInfo> subaccountList; |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | VerticalScrolViewLayout subaccountListView; |
| | | |
| | | public SubaccountListView (List<SubAccountRes> SubaccountList) |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="SubaccountList"></param> |
| | | public SubaccountListView (List<ResidenceMemberInfo> SubaccountList) |
| | | { |
| | | BackgroundColor = SkinStyle.Current.MainColor; |
| | | subaccountList = SubaccountList; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public void ShowSubaccountListView () |
| | | { |
| | | #region ---TopView--- |
| | |
| | | topView.AddChidren (ItemButton); |
| | | #endregion |
| | | |
| | | //2020-07-01 |
| | | if (UserConfig.Instance.CurrentRegion != null && !string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.Name)) { |
| | | NameButton.Text = UserConfig.Instance.CurrentRegion.Name; |
| | | } |
| | | |
| | | EventHandler<MouseEventArgs> addSubaccountHandler = (sender, e) => { |
| | | modifySubaccount (null); |
| | | }; |
| | |
| | | Button btnUserIcon = new Button () { |
| | | X = Application.GetRealWidth (27), |
| | | Width = Application.GetRealWidth (96), |
| | | Height = Application.GetRealHeight (96), |
| | | Height = Application.GetRealWidth (96), |
| | | Gravity = Gravity.CenterVertical, |
| | | Radius = 5, |
| | | BorderColor = SkinStyle.Current.Transparent, |
| | |
| | | |
| | | VerticalScrolViewLayout contentView = new VerticalScrolViewLayout () { |
| | | Y = topUserMsgView.Bottom, |
| | | Height = Application.GetRealHeight (1136) - topUserMsgView.Bottom, |
| | | Height = Application.GetRealHeight (1136-80) - topUserMsgView.Bottom, |
| | | BackgroundColor = SkinStyle.Current.ViewColor, |
| | | ScrollEnabled = false, |
| | | }; |
| | | AddChidren (contentView); |
| | | |
| | | |
| | | //#region |
| | | ////当前住宅 |
| | | //FrameLayout homeView = new FrameLayout () { |
| | | // Height = Application.GetRealHeight (100), |
| | | // BackgroundColor = SkinStyle.Current.Transparent |
| | | //}; |
| | | //contentView.AddChidren (homeView); |
| | | |
| | | //Button btnHomeText = new Button () { |
| | | // X = Application.GetRealWidth (40), |
| | | // Width = Application.GetRealWidth (600), |
| | | // //TextID = R.MyInternationalizationString.Subaccount, |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // TextColor = SkinStyle.Current.TextColor1, |
| | | //}; |
| | | //homeView.AddChidren (btnHomeText); |
| | | |
| | | //if (UserConfig.Instance.CurrentRegion != null && !string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.Name)) { |
| | | // btnHomeText.Text = "Current residence: " + UserConfig.Instance.CurrentRegion.Name; |
| | | //} |
| | | //#endregion |
| | | |
| | | FrameLayout subaccountView = new FrameLayout () { |
| | | Height = Application.GetRealHeight (50), |
| | | BackgroundColor = SkinStyle.Current.MainColor |
| | |
| | | }; |
| | | contentView.AddChidren (subaccountListView); |
| | | |
| | | addSubaccountList (); |
| | | RefreshSubaccountList (); |
| | | |
| | | addTipView (); |
| | | } |
| | | |
| | | void addSubaccountList () |
| | | void addTipView () { |
| | | var TipView = new Button () { |
| | | Width = LayoutParams.MatchParent, |
| | | Y = Application.GetRealHeight (Application.DesignHeight - 80), |
| | | Height = Application.GetRealHeight (80), |
| | | BackgroundColor = 0xFFFFFFE0, |
| | | TextSize = 11, |
| | | TextColor = 0xFF1F1F1F, |
| | | TextAlignment = TextAlignment.Center, |
| | | IsMoreLines = true, |
| | | Text = "Manage the member list of the current residence and share it to other accounts. \n Tips: You need to add the registered member account.", |
| | | |
| | | }; |
| | | AddChidren (TipView); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 刷新成员列表View |
| | | /// </summary> |
| | | void RefreshSubaccountList () |
| | | { |
| | | subaccountListView.RemoveAll (); |
| | | if(subaccountList == null) { |
| | | subaccountList = new List<ResidenceMemberInfo> (); |
| | | } |
| | | foreach (var subaccount in subaccountList) { |
| | | if (subaccount.UserType == 2) |
| | | continue; |
| | | ////2020-01-07 带确认 |
| | | //if (subaccount.AccountType == 2) |
| | | // continue; |
| | | |
| | | RowLayout subaccountRowView = new RowLayout () { |
| | | Height = Application.GetRealHeight(110), |
| | | }; |
| | |
| | | }; |
| | | subaccountRowView.AddChidren (rightButton); |
| | | |
| | | EventHandler<MouseEventArgs> eHandler = (sender, e) => { |
| | | modifySubaccount (subaccount); |
| | | }; |
| | | subaccountRowView.MouseUpEventHandler += eHandler; |
| | | btnDebugTitle.MouseUpEventHandler += eHandler; |
| | | rightButton.MouseUpEventHandler += eHandler; |
| | | //EventHandler<MouseEventArgs> eHandler = (sender, e) => { |
| | | // modifySubaccount (subaccount); |
| | | //}; |
| | | //subaccountRowView.MouseUpEventHandler += eHandler; |
| | | //btnDebugTitle.MouseUpEventHandler += eHandler; |
| | | //rightButton.MouseUpEventHandler += eHandler; |
| | | |
| | | Button btnRowLine = new Button () { |
| | | Y = Application.GetRealHeight(105), |
| | |
| | | if (e) { |
| | | MainPage.Loading.Start ("Please wait..."); |
| | | try { |
| | | var requestObj = new RemoveSubAccountObj () { Email = subaccount.Account }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | var revertObj = MainPage.RequestHttps ("RemoveSubAccount", requestJson); |
| | | if (revertObj.StateCode == "SUCCESS") { |
| | | var revertObj = HttpServerRequest.Current.DeleteResidenceMemberAccount (subaccount); |
| | | if (revertObj.Code == StateCode.SUCCESS) { |
| | | Application.RunOnMainThread (() => { |
| | | subaccountList.Remove (subaccount); |
| | | addSubaccountList (); |
| | | RefreshSubaccountList (); |
| | | }); |
| | | } else { |
| | | //错误提示 |
| | | IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code); |
| | | } |
| | | } catch { |
| | | MainPage.FailureToServer (); |
| | |
| | | } |
| | | } |
| | | |
| | | void modifySubaccount (SubAccountRes subaccount) |
| | | /// <summary> |
| | | /// 添加或者修改成员信息,目前修改功能已去掉 |
| | | /// </summary> |
| | | /// <param name="subaccount"></param> |
| | | void modifySubaccount (ResidenceMemberInfo subaccount) |
| | | { |
| | | bool isModify = true; |
| | | if (subaccount == null) { |
| | | subaccount = new SubAccountRes (); |
| | | subaccount = new ResidenceMemberInfo (); |
| | | isModify = false; |
| | | } |
| | | Dialog dialog = new Dialog (); |
| | | FrameLayout subaccountDialogView = new FrameLayout () { |
| | | Width = Application.GetRealWidth (500), |
| | | Height = Application.GetRealHeight (650 - 100), |
| | | //Height = Application.GetRealHeight (650 - 100), |
| | | Height = Application.GetRealHeight (390), |
| | | BackgroundColor = SkinStyle.Current.DialogColor, |
| | | Radius = 5, |
| | | BorderColor = SkinStyle.Current.Transparent, |
| | |
| | | // BorderColor = SkinStyle.Current.DialogTitle, |
| | | // BorderWidth = 2, |
| | | // TextAlignment = TextAlignment.Center, |
| | | // Text = subaccount.Remark, |
| | | // Text = subaccount.nickName, |
| | | //}; |
| | | //subaccountDialogView.AddChidren (etSubaccountReamrk); |
| | | |
| | | |
| | | Button btnEmail = new Button () { |
| | | X = Application.GetRealWidth (40), |
| | | Y = btnTitle.Bottom + Application.GetRealHeight (30), |
| | | Width = Application.GetRealWidth (420), |
| | | Height = Application.GetRealHeight (40), |
| | | Text="User name", |
| | | Text = "SubAccount", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = SkinStyle.Current.TextColor, |
| | | }; |
| | |
| | | }; |
| | | subaccountDialogView.AddChidren (etEmail); |
| | | |
| | | Button btnSubaccountPassword = new Button () { |
| | | X = Application.GetRealWidth (40), |
| | | Y = etEmail.Bottom + Application.GetRealHeight (20), |
| | | Width = Application.GetRealWidth (420), |
| | | Height = Application.GetRealHeight (40), |
| | | TextID = R.MyInternationalizationString.Password, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = SkinStyle.Current.TextColor, |
| | | }; |
| | | subaccountDialogView.AddChidren (btnSubaccountPassword); |
| | | //Button btnSubaccountPassword = new Button () { |
| | | // X = Application.GetRealWidth (40), |
| | | // Y = etEmail.Bottom + Application.GetRealHeight (20), |
| | | // Width = Application.GetRealWidth (420), |
| | | // Height = Application.GetRealHeight (40), |
| | | // TextID = R.MyInternationalizationString.Password, |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // TextColor = SkinStyle.Current.TextColor, |
| | | //}; |
| | | //subaccountDialogView.AddChidren (btnSubaccountPassword); |
| | | |
| | | EditText etSubaccountPassword = new EditText () { |
| | | X = Application.GetRealWidth (40), |
| | | Y = btnSubaccountPassword.Bottom, |
| | | Width = Application.GetRealWidth (420), |
| | | Height = Application.GetRealHeight (80), |
| | | TextColor = SkinStyle.Current.TextColor, |
| | | Radius = 5, |
| | | BorderColor = SkinStyle.Current.DialogTitle, |
| | | BorderWidth = 2, |
| | | TextAlignment = TextAlignment.Center, |
| | | }; |
| | | subaccountDialogView.AddChidren (etSubaccountPassword); |
| | | //EditText etSubaccountPassword = new EditText () { |
| | | // X = Application.GetRealWidth (40), |
| | | // Y = btnSubaccountPassword.Bottom, |
| | | // Width = Application.GetRealWidth (420), |
| | | // Height = Application.GetRealHeight (80), |
| | | // TextColor = SkinStyle.Current.TextColor, |
| | | // Radius = 5, |
| | | // BorderColor = SkinStyle.Current.DialogTitle, |
| | | // BorderWidth = 2, |
| | | // TextAlignment = TextAlignment.Center, |
| | | //}; |
| | | //subaccountDialogView.AddChidren (etSubaccountPassword); |
| | | |
| | | FrameLayout bottomView = new FrameLayout () { |
| | | Y = subaccountDialogView.Height - Application.GetRealHeight (90), |
| | |
| | | |
| | | btnSaveSubaccount.MouseUpEventHandler += (sender3, e3) => { |
| | | string addSubaccount = etEmail.Text.Trim (); |
| | | string addSubaccountPassword = etSubaccountPassword.Text.Trim (); |
| | | string addSubaccountReamrk = DateTime.Now.Ticks.ToString(); |
| | | //string addSubaccountPassword = etSubaccountPassword.Text.Trim (); |
| | | //string addSubaccountReamrk = DateTime.Now.Ticks.ToString(); |
| | | //string addSubaccountReamrk = etSubaccountReamrk.Text.Trim (); |
| | | if (string.IsNullOrEmpty (addSubaccount)) { |
| | | new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.TipEntrySubaccount), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etEmail); |
| | | return; |
| | | } |
| | | if (string.IsNullOrEmpty (addSubaccountPassword)) { |
| | | new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PleaseEnterPassword), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etSubaccountPassword); |
| | | return; |
| | | } |
| | | if(string.IsNullOrEmpty (addSubaccountReamrk)){ |
| | | //new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.TipEntrySubaccountRemark), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etSubaccountReamrk); |
| | | //return; |
| | | }if (addSubaccountPassword.Length < 6) { |
| | | new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PasswordLenghtTip), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (etSubaccountPassword); |
| | | return; |
| | | } |
| | | //if (string.IsNullOrEmpty (addSubaccountPassword)) { |
| | | // new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PleaseEnterPassword), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etSubaccountPassword); |
| | | // return; |
| | | //} |
| | | //if (string.IsNullOrEmpty (addSubaccountReamrk)) { |
| | | // new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.TipEntrySubaccountRemark), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (etSubaccountReamrk); |
| | | // return; |
| | | //} |
| | | //if (addSubaccountPassword.Length < 6) { |
| | | // new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PasswordLenghtTip), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (etSubaccountPassword); |
| | | // return; |
| | | //} |
| | | MainPage.Loading.Start ("Please wait..."); |
| | | |
| | | subaccount.Account = addSubaccount; |
| | | subaccount.Remark = addSubaccountReamrk; |
| | | //subaccount.Account = addSubaccount; |
| | | //subaccount.Remark = addSubaccountReamrk; |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | try { |
| | | if (isModify) { |
| | | var requestObj = new EditSubAccountObj () { Id = subaccount.UserID, Email = addSubaccount, Password = addSubaccountPassword, Remark = addSubaccountReamrk }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | var revertObj = MainPage.RequestHttps ("EditSubAccount", requestJson); |
| | | if (revertObj.StateCode == "SUCCESS") { |
| | | Application.RunOnMainThread (() => { |
| | | addSubaccountList (); |
| | | dialog.Close (); |
| | | }); |
| | | } |
| | | //var requestObj = new EditSubAccountObj () { Id = subaccount.UserID, Email = addSubaccount, Password = addSubaccountPassword, Remark = addSubaccountReamrk }; |
| | | //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | //var revertObj = MainPage.RequestHttps ("EditSubAccount", requestJson, true); |
| | | //if (revertObj.StateCode.ToUpper() == StateCode.SUCCESS) { |
| | | // Application.RunOnMainThread (() => { |
| | | // addSubaccountList (); |
| | | // dialog.Close (); |
| | | // }); |
| | | //} |
| | | } else { |
| | | var requestObj = new SignSubAccountObj () { Email = addSubaccount, Password = addSubaccountPassword, Remark = addSubaccountReamrk }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | var revertObj = MainPage.RequestHttps ("SignSubAccount", requestJson); |
| | | if (revertObj.StateCode == "SUCCESS") { |
| | | var requestObj2 = new GetSubAccountListObj (); |
| | | var requesetJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); |
| | | var requesetRevertObj2 = MainPage.RequestHttps ("GetSubAccountList", requesetJson2); |
| | | if (requesetRevertObj2.StateCode == "SUCCESS") { |
| | | var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SubAccountRes>> (requesetRevertObj2.ResponseData.ToString ()); |
| | | //添加子账号 |
| | | var revertObj = HttpServerRequest.Current.BindResidenceMemberAccount (addSubaccount, addSubaccount); |
| | | if (revertObj.Code == StateCode.SUCCESS) { |
| | | var revertObj2 = HttpServerRequest.Current.GetResidenceMemberAccount (); |
| | | if (revertObj2.Code == StateCode.SUCCESS) { |
| | | var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>> (revertObj2.Data.ToString ()); |
| | | subaccountList = responseDataObj; |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", Language.StringByID (R.MyInternationalizationString.addsuccess), |
| | | new Alert ("", Language.StringByID (R.MyInternationalizationString.AddedSuccessfully), |
| | | Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | addSubaccountList (); |
| | | RefreshSubaccountList (); |
| | | dialog.Close (); |
| | | }); |
| | | } else { |
| | | //错误提示 |
| | | IMessageCommon.Current.ShowErrorInfoAlter (revertObj2.Code); |
| | | } |
| | | } else { |
| | | //BindSubAccount错误提示 |
| | | IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code); |
| | | } |
| | | } |
| | | } catch (Exception ex) { |
| | |
| | | new Alert ("", Language.StringByID (R.MyInternationalizationString.FailureToServer), |
| | | Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | Console.WriteLine (ex.ToString()); |
| | | Utlis.WriteLine (ex.ToString()); |
| | | } finally { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | |
| | | //etSubaccountReamrk.EditorEnterAction += (obj) => { |
| | | // etEmail.Foucs = true; |
| | | //}; |
| | | etEmail.EditorEnterAction += (obj) => { |
| | | etSubaccountPassword.Foucs = true; |
| | | }; |
| | | etSubaccountPassword.EditorEnterAction += (obj) => { |
| | | Application.HideSoftInput (); |
| | | }; |
| | | //etEmail.EditorEnterAction += (obj) => { |
| | | // etSubaccountPassword.Foucs = true; |
| | | //}; |
| | | //etSubaccountPassword.EditorEnterAction += (obj) => { |
| | | // Application.HideSoftInput (); |
| | | //}; |
| | | dialog.Show (); |
| | | } |
| | | |
| | | |
| | | ///// <summary> |
| | | ///// 获取子账号列表 |
| | | ///// </summary> |
| | | //void GetSubaccountList () |
| | | //{ |
| | | // subaccountListView.RemoveAll (); |
| | | // subaccountList = new List<ResidenceMemberInfo> (); |
| | | |
| | | // MainPage.Loading.Start ("Please wait..."); |
| | | // System.Threading.Tasks.Task.Run (() => { |
| | | // try { |
| | | // var revertObj = HttpServerRequest.Current.GetResidenceMemberAccount (); |
| | | // if (revertObj.Code == StateCode.SUCCESS) { |
| | | // var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>> (revertObj.Data.ToString ()); |
| | | // subaccountList = responseDataObj; |
| | | // } else { |
| | | // IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code); |
| | | // } |
| | | // } catch (Exception ex) { |
| | | // //MainPage.FailureToServer (); |
| | | // Utlis.WriteLine (ex.Message); |
| | | // } finally { |
| | | // Application.RunOnMainThread (() => { |
| | | // RefreshSubaccountList (); |
| | | // MainPage.Loading.Hide (); |
| | | // }); |
| | | // } |
| | | // }); |
| | | //} |
| | | } |
| | | } |