public IHttpActionResult GetPendingChallengeList(long?UserNotificationID = 0)
        {
            StringBuilder traceLog = null;
            ServiceResponse <List <PendingChallengeVM> > objResponse = null;

            try
            {
                traceLog = new StringBuilder();
                traceLog.AppendLine("Start: GetPendingChallengeList");
                objResponse = new ServiceResponse <List <PendingChallengeVM> >();
                long userNotifyID = 0;
                if (UserNotificationID == null)
                {
                    userNotifyID = 0;
                }
                else
                {
                    userNotifyID = UserNotificationID ?? 0;
                }
                objResponse.jsonData     = ChallengeToFriendBL.GetPendingChallengeList(userNotifyID);
                objResponse.IsResultTrue = true;
                return(Ok(objResponse));
            }
            catch (Exception ex)
            {
                LogManager.LogManagerInstance.WriteErrorLog(ex);
                return(BadRequest(ex.Message));
            }
            finally
            {
                traceLog.AppendLine("End:GetPendingChallengeList() Response Result Status-" + objResponse.IsResultTrue + ",Fetched DateTime" + DateTime.Now.ToLongDateString());
                LogManager.LogManagerInstance.WriteTraceLog(traceLog);
                traceLog = null;
            }
        }
        public IHttpActionResult GetFilterFriendList(NumberOfRecord <FriendFilterParam> model)
        {
            StringBuilder traceLog = null;
            ServiceResponse <Total <List <FriendVM> > > objResponse = null;

            try
            {
                traceLog = new StringBuilder();
                traceLog.AppendLine("Start: GetFilterFriendList" + model.Param + ",StartIndex-" + model.StartIndex + ",EndIndex-" + model.EndIndex);
                objResponse              = new ServiceResponse <Total <List <FriendVM> > >();
                objResponse.jsonData     = ChallengeToFriendBL.GetFilterFriendList(model);
                objResponse.IsResultTrue = true;
                return(Ok(objResponse));
            }
            catch (Exception ex)
            {
                LogManager.LogManagerInstance.WriteErrorLog(ex);
                return(BadRequest(ex.Message));
            }
            finally
            {
                traceLog.AppendLine("End:GetFilterFriendList() Response Result Status-" + objResponse.IsResultTrue + ",Fetched DateTime" + DateTime.Now.ToLongDateString());
                LogManager.LogManagerInstance.WriteTraceLog(traceLog);
                traceLog = null;
            }
        }
        public IHttpActionResult PostChallengeToFriend(ChallengeFriendVM model)
        {
            StringBuilder traceLog = null;
            ServiceResponse <CompletedChallengesWithPendingVM> objResponse = null;

            try
            {
                traceLog = new StringBuilder();
                traceLog.AppendLine("Start: PostChallengeToFriend() Request Data:-ChallengeId-" + model.ChallengeId + ",IsSelecAllTMembers-" + model.IsSelecAllTMembers);
                objResponse              = new ServiceResponse <CompletedChallengesWithPendingVM>();
                objResponse.jsonData     = ChallengeToFriendBL.PostChallengeToFriend(model);
                objResponse.IsResultTrue = true;
                return(Ok(objResponse));
            }
            catch (Exception ex)
            {
                LogManager.LogManagerInstance.WriteErrorLog(ex);
                return(BadRequest(ex.Message));
            }
            finally
            {
                traceLog.AppendLine("End:PostChallengeToFriend() Response Result status-" + objResponse.IsResultTrue + DateTime.Now.ToLongDateString());
                LogManager.LogManagerInstance.WriteTraceLog(traceLog);
                traceLog = null;
            }
        }
        public IHttpActionResult DeletePendingChallengeResult(CompletedChallengeVM model)
        {
            StringBuilder traceLog = null;
            ServiceResponse <List <PendingChallengeVM> > objResponse = null;

            try
            {
                traceLog = new StringBuilder();
                traceLog.AppendLine("Start: DeletePendingChallengeResult() Request Result ID-" + model.ResultId);
                objResponse              = new ServiceResponse <List <PendingChallengeVM> >();
                objResponse.jsonData     = ChallengeToFriendBL.DeletePendingChallengeResult(model.ResultId);
                objResponse.IsResultTrue = true;
                return(Ok(objResponse));
            }
            catch (Exception ex)
            {
                LogManager.LogManagerInstance.WriteErrorLog(ex);
                return(BadRequest(ex.Message));
            }
            finally
            {
                traceLog.AppendLine("End:DeletePendingChallengeResult() Resopnse Result Ststus-" + objResponse.IsResultTrue + ",Deleted DateTime-" + DateTime.Now.ToLongDateString());
                LogManager.LogManagerInstance.WriteTraceLog(traceLog);
                traceLog = null;
            }
        }
        public IHttpActionResult GetChallengedSenderDetails(NotificationSenderVM model)
        {
            StringBuilder traceLog = null;
            ServiceResponse <PendingChallengeVM> objResponse = null;

            try
            {
                traceLog = new StringBuilder();
                traceLog.AppendLine("Start: GetChallengedSenderDetails");
                objResponse              = new ServiceResponse <PendingChallengeVM>();
                objResponse.jsonData     = ChallengeToFriendBL.GetNotificationPendingChallengeDescription(model);
                objResponse.IsResultTrue = true;
                return(Ok(objResponse));
            }
            catch (Exception ex)
            {
                LogManager.LogManagerInstance.WriteErrorLog(ex);
                return(BadRequest(ex.Message));
            }
            finally
            {
                traceLog.AppendLine("End:GetChallengedSenderDetails() Response Result Status-" + objResponse.IsResultTrue + ",Fetched DateTime" + DateTime.Now.ToLongDateString());
                LogManager.LogManagerInstance.WriteTraceLog(traceLog);
                traceLog = null;
            }
        }