public IActionResult UpdateFeedback(UpdateFeedbackReq req) { BaseResponse resp = new BaseResponse(); try { if (RequestValidator.UpdateFeedback(req)) { if (req.user_id == JwtToken.GetUserID(req.token)) { if (req.feedback_info.Id > 0) { if (Constants.ClosedStatus.Contains(req.feedback_info.StatusId)) { FeedbackCRUD.updateFeedbackStatus(req.feedback_info.Id, req.feedback_info.StatusId); } else { FeedbackCRUD.updateFeedbackStatus(req.feedback_info.Id, (int)eFeedbackStatus.Escalated); FeedbackEscalationMapping escalation = new FeedbackEscalationMapping() { EscalatedUserId = req.feedback_info.CreatedFor, FeedbackId = req.feedback_id, LastUpdate = DateTime.Now, Message = req.feedback_info.Message, Subject = req.feedback_info.Subject }; FeedbackCRUD.AddFeedbackEscalation(escalation); } resp.status_code = Ok().StatusCode; resp.status_message = StatusMessage.Success; } else { if (!FeedbackCRUD.AnyOpenFeedback(req.feedback_info.CreatedBy, req.feedback_info.CreatedFor)) { req.feedback_info.LastUpdate = DateTime.Now; req.feedback_info.CreatedOn = DateTime.Now; FeedbackCRUD.AddFeedback(req.feedback_info); resp.status_code = Ok().StatusCode; resp.status_message = StatusMessage.Success; } else { resp.status_code = Conflict().StatusCode; resp.status_message = StatusMessage.FeedbackExists; } } } 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)); }