/// <summary>
        /// Gửi Bản tin đăng bài cá nhân lên Server
        /// </summary>
        public async void SendContentPost()
        {
            // Kiểm tra xem có homepageInfo chưa?
            if (Services.Service.Instiance().NewsSiteVM.homePageInfo == null)
            {
                UserDialogs.Instance.Toast("Không xác định được trang cá nhân");
                return;
            }
            var  idhome = Services.Service.Instiance().NewsSiteVM.homePageInfo.homePageId;
            bool isPost = true;

            account = Helper.Instance().MyAccount;
            //thêm nội dung cho content
            var list = new List <string>();

            // Lấy ảnh của bài đăng
            if (images.Count > 0)
            {
                isPost = await postMuiltiImage();
            }
            QHVector Image_Id = new QHVector();
            var      imagesID = new List <long>();

            if (!isPost)
            {
                for (int i = 0; i < images.Count; i++)
                {
                    list.Add(images[i].UriImage);
                    Image_Id.SetAt(i, new QHNumber(images[i].Image_Id));
                    imagesID.Add(images[i].Image_Id);
                }
            }
            QHMessage msg = new QHMessage((ushort)PingPongMsg.MSG_HOMEPAGE_ADD_CONTENT_REQ);

            json = new ContentFormat {
                Text = personalPost.content, Images_Id = list
            };
            string output = JsonConvert.SerializeObject(json);

            //kiểm tra account
            if (Helper.Instance().CheckLogin())
            {
                account = Helper.Instance().MyAccount;
                msg.SetAt((byte)MsgHomePageAddContentReq.SenderID, new QHNumber(account.Number_Id));
                msg.SetAt((byte)MsgHomePageAddContentReq.HomePageID, new QHNumber(Services.Service.Instiance().NewsSiteVM.homePageInfo.homePageId));
                msg.SetAt((byte)MsgHomePageAddContentReq.Content, new QHString(output));
                msg.SetAt((byte)MsgHomePageAddContentReq.ImagesID, Image_Id);
                Services.Service.Instiance().SendMessage(msg);
                Debug.WriteLine("MSG_HOMEPAGE_ADD_CONTENT_REQ: " + msg.JSONString());
            }
        }
        /// <summary>
        /// Bản tin đăng bài từ Server trả về
        /// </summary>
        /// <param name="msg"></param>
        public void UpdateContent(QHMessage msg)
        {
            long errorCode  = 0;
            long contentId  = 0;
            long homePageId = 0;
            long CreateDate = 0;

            msg.TryGetAt((byte)MsgHomePageAddContentAck.Error, ref errorCode);
            if (errorCode == 0)
            {
                if (msg.TryGetAt((byte)MsgHomePageAddContentAck.ContentID, ref contentId))
                {
                }
                if (msg.TryGetAt((byte)MsgHomePageAddContentAck.HomePageID, ref homePageId))
                {
                }
                var contentInfo = new ContentInfo();
                contentInfo.Accounts = Helper.Instance().MyAccount;
                if (msg.TryGetAt((byte)MsgHomePageAddContentAck.CreateDate, ref CreateDate))
                {
                    contentInfo.Detail.Created = CreateDate;
                }
                contentInfo.Detail.Id      = contentId;
                contentInfo.Detail.Content = JsonConvert.SerializeObject(json);
                // Thêm vào cached content để lần sau lấy ra dùng
                if (!Helper.Instance().ListContent.ContainsKey(contentId))
                {
                    lock (Helper.Instance().ListContent)
                    {
                        Helper.Instance().ListContent.Add(contentId, contentInfo);
                    }
                }

                else
                {
                    Helper.Instance().ListContent[contentId] = contentInfo;
                }
                Device.BeginInvokeOnMainThread(() =>
                {
                    Services.Service.Instiance().NewsSiteVM.ListNews.Insert(0, Helper.Instance().ListContent[contentId]);
                });
            }
            else
            {
                Debug.WriteLine("Error code: " + msg.JSONString());
            }
        }
        /// <summary>
        /// Xử lý bản tin login từ hệ thóng trả vế
        /// </summary>
        /// <param name="msg"></param>
        public void LoginAckProcess(QHMessage msg)
        {
            //try
            //{
            Chat.LoginErrorCode login_error = (Chat.LoginErrorCode)(msg.GetAt((byte)Chat.MsgLoginAckArg.ErrorCode) as QHNumber).value;
            switch (login_error)
            {
            case Chat.LoginErrorCode.SUCCESS:

                if (!Helper.Instance().CheckLogin())
                {
                    Helper.Instance().MyAccount = new Accounts();
                }
                long   sessionId = 0;
                string phone     = "";
                string fullname  = "";
                string email     = "";
                long   numberId  = 0;
                string avarta    = "";
                string address   = "";
                long   birthday  = 0;
                if (msg.TryGetAt((byte)Chat.MsgLoginAckArg.SessionID, ref sessionId))
                {
                    App.SessionID = sessionId;
                }
                if (msg.TryGetAt((byte)Chat.MsgLoginAckArg.PhoneNumber, ref phone))
                {
                    Helper.Instance().MyAccount.Phone = phone;
                }
                if (msg.TryGetAt((byte)Chat.MsgLoginAckArg.FullName, ref fullname))
                {
                    Helper.Instance().MyAccount.fullname = fullname;
                }
                if (msg.TryGetAt((byte)Chat.MsgLoginAckArg.Email, ref email))
                {
                    Helper.Instance().MyAccount.Email = email;
                }
                if (msg.TryGetAt((byte)Chat.MsgLoginAckArg.NumberID, ref numberId))
                {
                    Helper.Instance().MyAccount.Number_Id = (uint)numberId;
                }
                if (msg.TryGetAt((byte)Chat.MsgLoginAckArg.AvatarURI, ref avarta))
                {
                    Helper.Instance().MyAccount.Avatar_Uri = avarta;
                }
                if (msg.TryGetAt((byte)Chat.MsgLoginAckArg.Address, ref address))
                {
                    Helper.Instance().MyAccount.Address = address;
                }
                if (msg.TryGetAt((byte)Chat.MsgLoginAckArg.BirthDay, ref birthday))
                {
                    Helper.Instance().MyAccount.Birthday = birthday;
                }
                //Kiểm tra filename
                Helper.Instance().ConvertPingPongToChat();
                Helper.Instance().MyAccount.Last_Time_Sync_Contact = 0;
                //  Services.Service.Instiance().Namefile = Helper.Instance().MyAccount.Number_Id.ToString();
                AppChat.Helpers.Helper.Instiance().nameDataBase = Helper.Instance().AccountChat.NumberId.ToString();
                //   AppChat.Helpers.Helper.Instiance().database.InsertOrReAccount(account);
                AppChat.Helpers.Helper.Instiance().database.InsertOrReAccount(Helper.Instance().AccountChat);
                // Thay layout ảnh đại diện
                HomePage.avartaChange();
                if (AppChat.Helpers.Helper.Instiance().database != null)
                {
                    if (Helper.Instance().MyAccount.Avatar_Uri.Equals("") || Helper.Instance().MyAccount.Avatar_Uri == null)
                    {
                        Helper.Instance().MyAccount.Avatar_Uri = "account.png";
                    }
                    if (Page != null)
                    {
                        Device.BeginInvokeOnMainThread(async() =>
                        {
                            Xamarin.Forms.DependencyService.Get <AppChat.Dependency.ILocalCache>().SetData(CrossDeviceInfo.Current.Id, Helper.Instance().AccountChat);
                            //   MessagingCenter.Send<App>((App)Xamarin.Forms.Application.Current, "Login");
                            Helper.Instance().GetContactGroupChat = true;
                            MessagingCenter.Send <App>((App)Xamarin.Forms.Application.Current, "Login1");
                            await Page.Navigation.PopToRootAsync();
                        });
                    }
                }
                Debug.WriteLine("LoginJson: " + msg.JSONString());
                break;

            case Chat.LoginErrorCode.ERR_PHONE_NOT_EXIST:
            {
                // Login in fale thì xoa file
                Xamarin.Forms.DependencyService.Get <ILocalCache>().RemoveData <Accounts>(CrossDeviceInfo.Current.Id);
                if (Page != null)
                {
                    Device.BeginInvokeOnMainThread(() =>
                        {
                            Page.DisplayAlert("Thông báo", "Số điện thoại không tồn tại", "Ok");
                        });
                }
                break;
            }

            case Chat.LoginErrorCode.ERR_PASSWORD_MISMATCH:
            {
                Xamarin.Forms.DependencyService.Get <ILocalCache>().RemoveData <Accounts>(CrossDeviceInfo.Current.Id);
                if (Page != null)
                {
                    Device.BeginInvokeOnMainThread(() =>
                        {
                            Page.DisplayAlert("Thông báo", "Mật khẩu không đúng", "Ok");
                        });
                }
                break;
            }

            case Chat.LoginErrorCode.ERR_USERNAME_NOT_EXIST:
            {
                Xamarin.Forms.DependencyService.Get <ILocalCache>().RemoveData <Accounts>(CrossDeviceInfo.Current.Id);
                if (Page != null)
                {
                    Device.BeginInvokeOnMainThread(() =>
                        {
                            Page.DisplayAlert("Thông báo", "Tài khoản đăng nhập không đúng", "Ok");
                        });
                }
                break;
            }
            }
            //}
            //catch (Exception ex)
            //{
            //    if (Page != null)
            //    {
            //        Device.BeginInvokeOnMainThread(() =>
            //        {
            //            Page.DisplayAlert("Lỗi Login", ex.Message, "Ok");
            //        });
            //    }
            //}
        }