public void GetShotDetail(int shotId)
        {
            if (shotId == 0)
                return;

            //start processbar
            LoadProcessBarHelper processBarHelper = new LoadProcessBarHelper();
            processBarHelper.StartProcessBar();

            ShotRequestHelper shotHelper = new ShotRequestHelper();
            shotHelper.GetShotDetailById(shotId);
            shotHelper.AsyncRequestComplated += (responseData, ex) => 
            {
                //end processbar
                processBarHelper.EndProcessBar();

                if (ex == null)
                {
                    #region get shot detail
                    Shot shotDetail = null;
                    if (responseData != null)
                        shotDetail = responseData as Shot;

                    if (shotDetail != null)
                    {
                        BasicRequestHelper requestHelper = new BasicRequestHelper();
                        shotDetail.FormatDate = requestHelper.SpiltDateTimeWithPM(shotDetail.Created_at);
                        this.ShotDetail = shotDetail;
                    }
                    #endregion
                }
                else
                {
                    string errorMessage = responseData.ToString();
                    if (!string.IsNullOrEmpty(errorMessage))
                        new ToastNotifyHelper().ShowCoding4FunToastNotify(errorMessage, "Tip");
                }
            };
        }
        public void GetShotDetailComments(int shotId,int pageIndex=0,int prePage=0,bool isDynamicLoad=false)
        {
            if (shotId == 0)
                return;

            //start processbar
            LoadProcessBarHelper processBarHelper = new LoadProcessBarHelper();
            processBarHelper.StartProcessBar();

            //register pagintion 
            RegisterPaginationInfo(pageIndex, prePage);

            ShotRequestHelper shotHelper = new ShotRequestHelper();
            shotHelper.GetShotCommentById(shotId, pageIndex, prePage);
            shotHelper.AsyncRequestComplated += (responseData, Ex) => 
            {
                //end processbar
                processBarHelper.EndProcessBar();

                if (Ex == null)
                {
                    #region get shot comment by id
                    ShotComment shotComments = null;
                    if (responseData != null)
                        shotComments = responseData as ShotComment;

                    //update total pagecount
                    UpateTotalPage(shotComments.Pages);

                    if (shotComments.Comments != null)
                    {
                        if(!isDynamicLoad)
                           _shotCommentsCol.Clear();

                        if (shotComments.Comments.Count > 0)
                            shotComments.Comments.ForEach(queryEntity =>
                            {
                                BasicRequestHelper requestHelper = new BasicRequestHelper();
                                queryEntity.FormatDate = requestHelper.SpiltDateTimeWithPM(queryEntity.Created_at);
                                _shotCommentsCol.Add(queryEntity);
                            });
                    }
                    #endregion
                }
                else
                {
                    string errorMessage = responseData.ToString();
                    if (!string.IsNullOrEmpty(errorMessage))
                        new ToastNotifyHelper().ShowCoding4FunToastNotify(errorMessage, "Tip");
                }
            };
        }