public IHttpActionResult GetPostList(NumberOfRecord <ChallengeIdVM> model)
        {
            StringBuilder traceLog = null;
            ServiceResponse <Total <List <ChallengeViewPostVM> > > objResponse = null;

            try
            {
                traceLog = new StringBuilder();
                traceLog.AppendLine("Start: ChallengeMessageFeed GetPostList() Request Data:-ChallengeId-" + model.Param.ChallengeId + ",StartIndex-" + model.StartIndex + ",EndIndex-" + model.EndIndex);
                objResponse              = new ServiceResponse <Total <List <ChallengeViewPostVM> > >();
                objResponse.jsonData     = ChallengeMessageFeedBL.GetPostListForChallenge(model.Param.ChallengeId, model.StartIndex, model.EndIndex);
                objResponse.IsResultTrue = true;
                return(Ok(objResponse));
            }
            catch (Exception ex)
            {
                LogManager.LogManagerInstance.WriteErrorLog(ex);
                return(BadRequest(ex.Message));
            }
            finally
            {
                traceLog.AppendLine("End: ChallengeMessageFeed GetPostList() Response Data:-Result Status-" + objResponse.IsResultTrue + ",Fetched DateTime-" + DateTime.Now.ToLongDateString());
                LogManager.LogManagerInstance.WriteTraceLog(traceLog);
                traceLog = null;
            }
        }
        public IHttpActionResult PostBoom(ViewPostVM model)
        {
            StringBuilder             traceLog    = null;
            ServiceResponse <CountVM> objResponse = null;

            try
            {
                traceLog = new StringBuilder();
                traceLog.AppendLine("Start: ChallengeMessageFeed PostBoom Request Data:-PostId-" + model.PostId);
                objResponse                = new ServiceResponse <CountVM>();
                objResponse.jsonData       = new CountVM();
                objResponse.jsonData.Count = ChallengeMessageFeedBL.PostBoom(model);
                objResponse.IsResultTrue   = true;
                return(Ok(objResponse));
            }
            catch (Exception ex)
            {
                LogManager.LogManagerInstance.WriteErrorLog(ex);
                return(BadRequest(ex.Message));
            }
            finally
            {
                traceLog.AppendLine("End: ChallengeMessageFeed PostBoom() Response Data:-Result status-" + objResponse.IsResultTrue + ",Posted Datetime-" + DateTime.Now.ToLongDateString());
                LogManager.LogManagerInstance.WriteTraceLog(traceLog);
                traceLog = null;
            }
        }
        public IHttpActionResult PostTextMessage(PostVM <TextMessageStream> postModel)
        {
            StringBuilder traceLog = null;
            ServiceResponse <ViewPostVM> objResponse = null;

            try
            {
                traceLog = new StringBuilder();
                traceLog.AppendLine("Start: ChallengeMessageFeed PostTextMessage() with Request Data:-Stream-" + postModel.Stream + ",IsImageVideo-" + postModel.IsImageVideo + ",TargetId-" + postModel.TargetId);
                objResponse              = new ServiceResponse <ViewPostVM>();
                objResponse.jsonData     = ChallengeMessageFeedBL.PostShare(postModel);
                objResponse.IsResultTrue = true;
                return(Ok(objResponse));
            }
            catch (Exception ex)
            {
                LogManager.LogManagerInstance.WriteErrorLog(ex);
                return(BadRequest(ex.Message));
            }
            finally
            {
                traceLog.AppendLine("End: ChallengeMessageFeed PostTextMessage Reponse Data:-PostId-" + objResponse.IsResultTrue + ",Posted Datetime-" + DateTime.Now.ToLongDateString());
                LogManager.LogManagerInstance.WriteTraceLog(traceLog);
                traceLog = null;
            }
        }