public IActionResult UserSurveyDelete(int surveyId) { UserSurveyResponse response = new UserSurveyResponse(); string userId = Request.Headers[Constants.UserToken]; User user; _memoryCache.TryGetValue(userId, out user); if (user == null) { return(Unauthorized(Messages.UserNotFoundError)); } Survey survey = _dBContext.Survey.Where(x => x.CreatedBy == user.Userid && x.Surveyid == surveyId).FirstOrDefault(); if (survey == null) { return(BadRequest(Messages.SurveyNotFoundError)); } survey.StatusId = 3; int result = _dBContext.SaveChanges(); if (result > 0) { response.Response = Messages.PollDeleteSuccess; } _memoryCache.Remove($"survey_id_{surveyId}"); _memoryCache.Remove($"survey_guid_{survey.SurveyGuid}"); return(Ok(response)); }
public IActionResult UserSurveyDelete(int surveyId) { UserSurveyResponse response = new UserSurveyResponse(); string userguid = Request.Headers[Constants.UserToken]; string decyrptstring = Security.Decrypt(userguid); if (string.IsNullOrEmpty(decyrptstring)) { return(BadRequest(Messages.UnauthorizedUserError)); } User user = _dBContext.User.Where(x => x.UserGuid == decyrptstring).FirstOrDefault(); if (user == null) { return(BadRequest(Messages.UserNotFoundError)); } Survey survey = _dBContext.Survey.Where(x => x.CreatedBy == user.Userid && x.Surveyid == surveyId).FirstOrDefault(); if (survey == null) { return(BadRequest(Messages.SurveyNotFoundError)); } survey.StatusId = 3; int result = _dBContext.SaveChanges(); if (result > 0) { response.Response = Messages.PollDeleteSuccess; } return(Ok(response)); }
public IActionResult UserSurvey(int pagenum, int pagesize) { string userguid = Request.Headers[Constants.UserToken]; List <UserSurvey> filteredUserSurveysList = new List <UserSurvey>(); UserSurveyResponse usersurveyres = new UserSurveyResponse(); string decyrptstring = Security.Decrypt(userguid); if (string.IsNullOrEmpty(decyrptstring)) { return(BadRequest("Unauthorized User")); } User user = _dBContext.User.Where(x => x.UserGuid == decyrptstring).FirstOrDefault(); if (user == null) { return(BadRequest(Messages.UserNotFoundError)); } List <Status> statuses = _dBContext.Status.ToList(); var listSurveys = from survey in _dBContext.Survey where survey.CreatedBy == user.Userid && survey.StatusId != 3 orderby survey.CreatedDate descending select new UserSurvey() { surveyId = survey.Surveyid, surveyGuid = survey.SurveyGuid, date = survey.CreatedDate, surveyName = survey.Welcometitle, status = survey.StatusId.ToString(), feedbacks = 0 }; List <UserSurvey> totalUserSurveys = listSurveys.ToList(); filteredUserSurveysList = totalUserSurveys.Skip(pagesize * pagenum) .Take(pagesize).ToList(); List <int> pollIdsFilteredList = filteredUserSurveysList.Select(x => x.surveyId).ToList(); List <SurveyUser> surveyUsers = (from eachSurvey in _dBContext.SurveyUser where pollIdsFilteredList.Contains(eachSurvey.SurveyId) select eachSurvey).ToList(); var surveyFeedbacksReceived = (from eachSurvey in surveyUsers group new { eachSurvey.SurveyId } by new { eachSurvey.CompletedDatetime, eachSurvey.SurveyId } into eachGroup select eachGroup).ToList(); //Update only finaly display values for (int i = 0; i < filteredUserSurveysList.Count(); i++) { filteredUserSurveysList[i].status = statuses.Where(x => x.Statusid.ToString() == filteredUserSurveysList[i].status).SingleOrDefault().Statusname; filteredUserSurveysList[i].feedbacks = surveyFeedbacksReceived.Where(x => x.Key.SurveyId == filteredUserSurveysList[i].surveyId).Count(); } usersurveyres.userSurveys = filteredUserSurveysList; usersurveyres.totalSurveys = listSurveys.ToList().Count; return(Ok(usersurveyres)); }
public IActionResult UserSurvey(int pagenum, int pagesize) { string userId = Request.Headers[Constants.UserToken]; List <UserSurvey> filteredUserSurveysList = new List <UserSurvey>(); UserSurveyResponse usersurveyres = new UserSurveyResponse(); User user; _memoryCache.TryGetValue(userId, out user); if (user == null) { return(Unauthorized(Messages.UserNotFoundError)); } _memoryCache.TryGetValue($"user_surveys_{user.UserGuid}", out usersurveyres); if (usersurveyres != null) { return(Ok(usersurveyres)); } usersurveyres = new UserSurveyResponse(); List <Status> statuses = _dBContext.Status.ToList(); var listSurveys = from survey in _dBContext.Survey where survey.CreatedBy == user.Userid && survey.StatusId != 3 orderby survey.CreatedDate descending select new UserSurvey() { surveyId = survey.Surveyid, surveyGuid = survey.SurveyGuid, date = survey.CreatedDate, surveyName = survey.Welcometitle, status = survey.StatusId.ToString(), feedbacks = 0 }; List <UserSurvey> totalUserSurveys = listSurveys.ToList(); filteredUserSurveysList = totalUserSurveys.Skip(pagesize * pagenum) .Take(pagesize).ToList(); List <int> pollIdsFilteredList = filteredUserSurveysList.Select(x => x.surveyId).ToList(); List <SurveyFeedback> surveyFeedback = (from eachSurvey in _dBContext.SurveyFeedback where pollIdsFilteredList.Contains(eachSurvey.SurveyId) select eachSurvey).ToList(); var surveyFeedbacksReceived = (from eachSurvey in surveyFeedback group new { eachSurvey.SurveyId } by new { eachSurvey.CompletedDatetime, eachSurvey.SurveyId } into eachGroup select eachGroup).ToList(); //Update only finaly display values for (int i = 0; i < filteredUserSurveysList.Count(); i++) { filteredUserSurveysList[i].status = statuses.Where(x => x.Statusid.ToString() == filteredUserSurveysList[i].status).SingleOrDefault().Statusname; filteredUserSurveysList[i].feedbacks = surveyFeedbacksReceived.Where(x => x.Key.SurveyId == filteredUserSurveysList[i].surveyId).Count(); } usersurveyres.userSurveys = filteredUserSurveysList; usersurveyres.totalSurveys = listSurveys.ToList().Count; _memoryCache.Set($"user_surveys_{user.UserGuid}", usersurveyres); return(Ok(usersurveyres)); }