| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Threading; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.Entity; |
| | | using HDL_ON.UI.CSS; |
| | | using Newtonsoft.Json.Linq; |
| | | using Shared; |
| | | namespace HDL_ON.UI |
| | | { |
| | | public class ChooseShareMemberTargetListPage : FrameLayout |
| | | { |
| | | ChooseShareMemberTargetListPage bodyView; |
| | | VerticalScrolViewLayout contentView; |
| | | Loading waitPage; |
| | | byte[] sharedBytes; |
| | | List<ResidenceMemberInfo> residenceMemberInfos; |
| | | public ChooseShareMemberTargetListPage(byte[] sd) |
| | | { |
| | | residenceMemberInfos = new List<ResidenceMemberInfo>(); |
| | | sharedBytes = sd; |
| | | bodyView = this; |
| | | } |
| | | //using System.Collections.Generic; |
| | | //using HDL_ON.DAL.Server; |
| | | //using HDL_ON.Entity; |
| | | //using HDL_ON.UI.CSS; |
| | | //using Shared; |
| | | |
| | | /// <summary> |
| | | /// 调用获取住宅子账号信息 |
| | | /// </summary> |
| | | bool LoadMethod_GetResidenceMemberAccount() |
| | | { |
| | | var result = false; |
| | | ResponsePack responePack = new HttpServerRequest().GetResidenceMemberAccount(); |
| | | if (responePack.StateCode.ToUpper() == "SUCCESS") |
| | | { |
| | | var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>>(responePack.ResponseData.ToString()); |
| | | foreach (var mInfo in responeObj) |
| | | { |
| | | ResponsePack memberInfoResponePack = new HttpServerRequest().GetResidenceMemberAccountInfo(mInfo.Account); |
| | | var dataStr = JObject.FromObject(memberInfoResponePack.ResponseData); |
| | | FileStream fs = null; |
| | | try |
| | | { |
| | | var headImageString = dataStr.GetValue("HeadImage").ToString(); |
| | | var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(headImageString); |
| | | var headImageBytes = Newtonsoft.Json.JsonConvert.DeserializeObject<byte[]>(jsonString); |
| | | var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/", mInfo.DistributedMark + ".png"); |
| | | fs = new FileStream(filePath, FileMode.Create, FileAccess.Write); |
| | | fs.Write(headImageBytes, 0, headImageBytes.Length); |
| | | fs.Flush(); |
| | | mInfo.headImagePagePath = filePath; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"download headImage error : {ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | if (fs != null) |
| | | { |
| | | fs.Close(); |
| | | } |
| | | } |
| | | residenceMemberInfos.Add(mInfo); |
| | | } |
| | | result = true; |
| | | } |
| | | //失败 |
| | | else |
| | | { |
| | | string tipStr = "Sever erorr"; |
| | | switch (responePack.StateCode) |
| | | { |
| | | case "ValidCodeAndPhoneNoEqual": |
| | | tipStr = Language.StringByID(StringId.VerificationCodeError); |
| | | break; |
| | | case "USERNAMEORPWDERROR": |
| | | tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError); |
| | | break; |
| | | case "ACCOUNTNOEXISTS": |
| | | tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS); |
| | | break; |
| | | case "NoRecord": |
| | | tipStr = Language.StringByID(StringId.PlsGetTheVerificationCode); |
| | | break; |
| | | case "Self:Net_Error": |
| | | tipStr = Language.StringByID(StringId.NetworkAnomaly); |
| | | break; |
| | | } |
| | | //账号或者密码错误 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage.Hide(); |
| | | //提示原因 |
| | | var tip = new Tip() |
| | | { |
| | | Text = tipStr, |
| | | CloseTime = 3, |
| | | Direction = AMPopTipDirection.None |
| | | }; |
| | | tip.Show(bodyView); |
| | | }); |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage?.Hide(); |
| | | }); |
| | | return result; |
| | | } |
| | | //namespace HDL_ON.UI |
| | | //{ |
| | | // /// <summary> |
| | | // /// 加载需要分享到子账号的选择界面 |
| | | // /// </summary> |
| | | // public partial class ChooseShareMemberTargetListPage : FrameLayout |
| | | // { |
| | | // ChooseShareMemberTargetListPage bodyView; |
| | | // VerticalScrolViewLayout contentView; |
| | | // Button btnOption; |
| | | |
| | | // Loading waitPage; |
| | | // List<ShareData> addFuns; |
| | | // List<ResidenceMemberInfo> memberList; |
| | | // ResidenceMemberInfo memberInfo; |
| | | |
| | | /// <summary> |
| | | /// 加载获取住宅子账号信息线程 |
| | | /// </summary> |
| | | Thread LoadThread_GetResidenceMemberAccount() |
| | | { |
| | | var thread = new Thread(() => |
| | | { |
| | | try |
| | | { |
| | | residenceMemberInfos.Clear(); |
| | | var loginResult = LoadMethod_GetResidenceMemberAccount(); |
| | | if (loginResult) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | LoadMemberRow(); |
| | | }); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"LoadThread_GetResidenceMemberAccount : {ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }; |
| | | return thread; |
| | | } |
| | | // public ChooseShareMemberTargetListPage(List<ShareData> funs, ResidenceMemberInfo mInfo) |
| | | // { |
| | | // memberList = new List<ResidenceMemberInfo>(); |
| | | // addFuns = funs; |
| | | // bodyView = this; |
| | | // memberInfo = mInfo; |
| | | // } |
| | | |
| | | public void LoadPage() |
| | | { |
| | | //创建读取成员账号线程 |
| | | var thread = LoadThread_GetResidenceMemberAccount(); |
| | | waitPage = new Loading(); |
| | | new PublicAssmebly().LoadPage_WaitPage(thread, bodyView, waitPage); |
| | | // public void LoadPage() |
| | | // { |
| | | // //创建读取成员账号线程 |
| | | // var thread = LoadThread_GetResidenceMemberAccount(); |
| | | // waitPage = new Loading(); |
| | | // new PublicAssmebly().LoadPage_WaitPage(thread, bodyView, waitPage); |
| | | |
| | | // bodyView.BackgroundColor = CSS_Color.BackgroundColor; |
| | | // new TopViewDiv(bodyView, Language.StringByID(StringId.Shared)).LoadTopView(); |
| | | |
| | | bodyView.BackgroundColor = CSS_Color.BackgroundColor; |
| | | new TopViewDiv(bodyView, Language.StringByID(StringId.Shared)).LoadTopView(); |
| | | // #region title view |
| | | // FrameLayout titleView = new FrameLayout() |
| | | // { |
| | | // Y = Application.GetRealHeight(72), |
| | | // Height = Application.GetRealHeight(44), |
| | | // BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | // }; |
| | | // bodyView.AddChidren(titleView); |
| | | |
| | | #region title view |
| | | FrameLayout titleView = new FrameLayout() |
| | | { |
| | | Y = Application.GetRealHeight(72), |
| | | Height = Application.GetRealHeight(44), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | bodyView.AddChidren(titleView); |
| | | // Button btnTitle = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(16), |
| | | // TextColor = CSS_Color.FirstLevelTitleColor, |
| | | // TextID = StringId.SharedTo, |
| | | // TextSize = CSS_FontSize.SubheadingFontSize, |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // IsBold = true, |
| | | // }; |
| | | // titleView.AddChidren(btnTitle); |
| | | |
| | | Button btnTitle = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextID = StringId.SharedTo, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | IsBold = true, |
| | | }; |
| | | titleView.AddChidren(btnTitle); |
| | | // titleView.AddChidren(new Button() { |
| | | // X = Application.GetRealWidth(16), |
| | | // Y = Application.GetRealHeight(43), |
| | | // Height = Application.GetRealHeight(1), |
| | | // BackgroundColor = CSS_Color.DividingLineColor, |
| | | // }); |
| | | // #endregion |
| | | |
| | | titleView.AddChidren(new Button() { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(43), |
| | | Height = Application.GetRealHeight(1), |
| | | BackgroundColor = CSS_Color.DividingLineColor, |
| | | }); |
| | | #endregion |
| | | // contentView = new VerticalScrolViewLayout() |
| | | // { |
| | | // Y = titleView.Bottom, |
| | | // Height = Application.GetRealHeight(420), |
| | | // //BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | // }; |
| | | // bodyView.AddChidren(contentView); |
| | | |
| | | contentView = new VerticalScrolViewLayout() |
| | | { |
| | | Y = titleView.Bottom, |
| | | Height = Application.GetRealHeight(420), |
| | | //BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | bodyView.AddChidren(contentView); |
| | | // LoadMemberRow(); |
| | | |
| | | LoadMemberRow(); |
| | | // btnOption = new Button() |
| | | // { |
| | | // Y = Application.GetRealHeight(519 + 64), |
| | | // Gravity = Gravity.CenterHorizontal, |
| | | // Width = Application.GetRealWidth(220), |
| | | // Height = Application.GetRealWidth(44), |
| | | // BackgroundColor = CSS_Color.MainColor, |
| | | // TextAlignment = TextAlignment.Center, |
| | | // TextColor = CSS_Color.MainBackgroundColor, |
| | | // TextID = StringId.ConfirmShared, |
| | | // TextSize = CSS_FontSize.SubheadingFontSize, |
| | | // IsBold = true, |
| | | // Radius = (uint)Application.GetRealWidth(22), |
| | | // BorderColor = 0x00000000, |
| | | // BorderWidth = 0, |
| | | // }; |
| | | // bodyView.AddChidren(btnOption); |
| | | |
| | | btnOption = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(519 + 64), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(220), |
| | | Height = Application.GetRealHeight(44), |
| | | BackgroundColor = CSS_Color.MainColor, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | TextID = StringId.ConfirmShared, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | IsBold = true, |
| | | Radius = (uint)Application.GetRealWidth(22), |
| | | BorderColor = 0x00000000, |
| | | BorderWidth = 0, |
| | | }; |
| | | bodyView.AddChidren(btnOption); |
| | | // LoadEvent_SharedData(); |
| | | // } |
| | | |
| | | } |
| | | Button btnOption; |
| | | // /// <summary> |
| | | // /// 加载成员列表区域 |
| | | // /// </summary> |
| | | // void LoadMemberRow() |
| | | // { |
| | | // contentView.RemoveAll(); |
| | | |
| | | // int index = 1; |
| | | // foreach (var mInfo in memberList) |
| | | // { |
| | | // FrameLayout memberRow = new FrameLayout() |
| | | // { |
| | | // Height = Application.GetRealWidth(65), |
| | | // BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | // }; |
| | | // contentView.AddChidren(memberRow); |
| | | |
| | | /// <summary> |
| | | /// 加载成员列表区域 |
| | | /// </summary> |
| | | void LoadMemberRow() |
| | | { |
| | | contentView.RemoveAll(); |
| | | // var memberHeadImageView = new ImageView() |
| | | // { |
| | | // X = Application.GetRealWidth(16), |
| | | // Gravity = Gravity.CenterVertical, |
| | | // Width = Application.GetMinRealAverage(36), |
| | | // Height = Application.GetMinRealAverage(36), |
| | | // Radius = (uint)Application.GetMinRealAverage(24), |
| | | // ImagePath = mInfo.headImagePagePath, |
| | | // }; |
| | | // memberRow.AddChidren(memberHeadImageView); |
| | | |
| | | //List<ResidenceMemberInfo> residenceMemberInfos = new List<ResidenceMemberInfo>(); |
| | | int index = 1; |
| | | foreach (var mInfo in residenceMemberInfos) |
| | | { |
| | | FrameLayout memberRow = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealWidth(65), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | contentView.AddChidren(memberRow); |
| | | // Button btnMemberName = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(64), |
| | | // Y = Application.GetRealWidth(10), |
| | | // //Width = Application.GetRealWidth(300), |
| | | // Height = Application.GetRealWidth(24), |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // TextColor = CSS_Color.FirstLevelTitleColor, |
| | | // TextSize = CSS_FontSize.TextFontSize, |
| | | // Text = mInfo.UserName, |
| | | // }; |
| | | // memberRow.AddChidren(btnMemberName); |
| | | |
| | | var memberHeadImageView = new ImageView() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(36), |
| | | Height = Application.GetMinRealAverage(36), |
| | | Radius = (uint)Application.GetMinRealAverage(24), |
| | | ImagePath = mInfo.headImagePagePath, |
| | | }; |
| | | memberRow.AddChidren(memberHeadImageView); |
| | | // Button btnMemberMail = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(64), |
| | | // Y = btnMemberName.Bottom, |
| | | // //Width = Application.GetRealWidth(300), |
| | | // Height = Application.GetRealWidth(21), |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // TextColor = CSS_Color.PromptingColor1, |
| | | // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | // Text = mInfo.Account, |
| | | // }; |
| | | // memberRow.AddChidren(btnMemberMail); |
| | | |
| | | Button btnMemberName = new Button() |
| | | { |
| | | X = Application.GetRealWidth(64), |
| | | Y = Application.GetRealWidth(10), |
| | | Width = Application.GetRealWidth(300), |
| | | Height = Application.GetRealWidth(24), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | Text = mInfo.UserName, |
| | | }; |
| | | memberRow.AddChidren(btnMemberName); |
| | | // Button btnChoose = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(331), |
| | | // Gravity = Gravity.CenterVertical, |
| | | // Width = Application.GetMinRealAverage(28), |
| | | // Height = Application.GetMinRealAverage(28), |
| | | // UnSelectedImagePath = "Public/ChooseIcon.png", |
| | | // SelectedImagePath = "Public/ChooseOnIcon.png", |
| | | // IsSelected = true, |
| | | // }; |
| | | // memberRow.AddChidren(btnChoose); |
| | | |
| | | Button btnMemberMail = new Button() |
| | | { |
| | | X = Application.GetRealWidth(64), |
| | | Y = btnMemberName.Bottom, |
| | | Width = Application.GetRealWidth(300), |
| | | Height = Application.GetRealWidth(21), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = mInfo.Account, |
| | | }; |
| | | memberRow.AddChidren(btnMemberMail); |
| | | // if (memberList.Count > index) |
| | | // { |
| | | // memberRow.AddChidren(new Button() |
| | | // { |
| | | // Y = Application.GetRealHeight(64), |
| | | // Gravity = Gravity.CenterHorizontal, |
| | | // Width = Application.GetRealWidth(343), |
| | | // Height = Application.GetRealHeight(1), |
| | | // BackgroundColor = CSS_Color.DividingLineColor, |
| | | // }); |
| | | // } |
| | | // index++; |
| | | |
| | | Button btnChoose = new Button() |
| | | { |
| | | X = Application.GetRealWidth(331), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "Public/ChooseIcon.png", |
| | | SelectedImagePath = "Public/ChooseOnIcon.png", |
| | | IsSelected = true, |
| | | }; |
| | | memberRow.AddChidren(btnChoose); |
| | | |
| | | if (residenceMemberInfos.Count > index) |
| | | { |
| | | memberRow.AddChidren(new Button() |
| | | { |
| | | Y = Application.GetRealHeight(64), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(343), |
| | | Height = Application.GetRealHeight(1), |
| | | BackgroundColor = CSS_Color.DividingLineColor, |
| | | }); |
| | | } |
| | | index++; |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | void LoadEvent_SharedFunction() |
| | | { |
| | | //btnOption |
| | | } |
| | | } |
| | | } |
| | | // var eventHandler = LoadEvent_ChangeSharedList(btnChoose, mInfo); |
| | | // btnChoose.MouseUpEventHandler = eventHandler; |
| | | // btnMemberName.MouseUpEventHandler = eventHandler; |
| | | // btnMemberMail.MouseUpEventHandler = eventHandler; |
| | | // } |
| | | // } |
| | | // } |
| | | //} |