Ejemplo n.º 1
0
 internal static bool FeedbackHistory(FeedbackHistoryReq req)
 {
     if (req == null || string.IsNullOrEmpty(req.device_id) ||
         string.IsNullOrEmpty(req.os_type) ||
         req.user_id <= 0)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
        public IActionResult FeedbackHistory(FeedbackHistoryReq req)
        {
            FeedbackHistoryResp resp = new FeedbackHistoryResp();

            try
            {
                if (RequestValidator.FeedbackHistory(req))
                {
                    if (req.user_id == JwtToken.GetUserID(req.token))
                    {
                        resp.IsReplyRequired           = FeedbackCRUD.IsReplyRequired(req.feedback_id, req.user_id);
                        resp.status_code               = Ok().StatusCode;
                        resp.status_message            = StatusMessage.Success;
                        resp.IsChatHistoryAccessible   = FeedbackCRUD.IsUserAccessibleForFeedbackChat(req.feedback_id, req.user_id);
                        resp.FeedbackDetails           = FeedbackCRUD.GetFeedbackDetails(req.feedback_id);
                        resp.FeedbackEscalationHistory = FeedbackCRUD.GetFeedbackEscalationDetails(req.feedback_id);

                        if (resp.IsChatHistoryAccessible)
                        {
                            resp.ReplyList = FeedbackCRUD.ReplyHistory(req.feedback_id);
                        }
                        if (resp.FeedbackEscalationHistory.Count > 0)
                        {
                            resp.FeedbackDetails.EscalatedUserName = resp.FeedbackEscalationHistory.OrderByDescending(x => x.LastUpdate).FirstOrDefault().feedback_escalated_username;
                        }
                        resp.IsEscalationAllowed = FeedbackCRUD.IsEscalationAllowed(req.user_id, resp.FeedbackDetails.CreatedFor, resp.FeedbackDetails.CreatedOn);
                    }
                    else
                    {
                        resp.status_code    = Unauthorized().StatusCode;
                        resp.status_message = StatusMessage.UnAuthorised;
                    }
                }
                else
                {
                    resp.status_code    = BadRequest().StatusCode;
                    resp.status_message = StatusMessage.BadRequest;
                }
            }
            catch (Exception es)
            {
                resp.status_code    = 500;
                resp.status_message = StatusMessage.InternalServerError;
            }

            return(Ok(resp));
        }