public async Task <ActionResult> TakeSurvey(string refno, string email) { if (String.IsNullOrEmpty(refno) || String.IsNullOrEmpty(email)) { return(HttpNotFound()); } var resSurvey = await WepApiMethod.SendApiAsync <ReturnSurveyModel>(HttpVerbs.Get, $"RnP/Survey/GetLinkedSurvey?refno={refno}&email={email}"); if (!resSurvey.isSuccess) { return(HttpNotFound()); } var survey = resSurvey.Data; if (survey == null) { return(HttpNotFound()); } var sresp = new UpdateSurveyResponseModel { SurveyID = survey.ID, Type = Model.SurveyResponseTypes.Actual, Email = email, Contents = "" }; var srmodel = new ReturnSurveyResponseModel { Survey = survey, Response = sresp }; if (survey.StartDate > DateTime.Now) { return(RedirectToAction("SurveyNotStarted", "Home", new { area = "RnP", id = survey.ID })); } if (survey.EndDate < DateTime.Now) { return(RedirectToAction("SurveyExpired", "Home", new { area = "RnP", id = survey.ID })); } if (survey.RequireLogin && (!CurrentUser.IsAuthenticated())) { return(RedirectToAction("LoginAndReturn", "Auth", new { area = "", returnurl = "~/RnP/Home/TakeSurvey?refno=" + refno + "&email=" + email })); } else { return(View(srmodel)); } }
// Answer targeted survey // GET: RnP/Home/PrivateSurvey public async Task <ActionResult> PrivateSurvey(int?id) { if (id == null) { return(HttpNotFound()); } var resSurvey = await WepApiMethod.SendApiAsync <ReturnSurveyModel>(HttpVerbs.Get, $"RnP/Survey?id={id}"); if (!resSurvey.isSuccess) { return(HttpNotFound()); } var survey = resSurvey.Data; if (survey == null) { return(HttpNotFound()); } var sresp = new UpdateSurveyResponseModel { SurveyID = survey.ID, Type = Model.SurveyResponseTypes.Actual, Contents = "" }; var srmodel = new ReturnSurveyResponseModel { Survey = survey, Response = sresp }; if (survey.StartDate > DateTime.Now) { return(RedirectToAction("SurveyNotStarted", "Home", new { area = "RnP", id = survey.ID })); } if (survey.EndDate < DateTime.Now) { return(RedirectToAction("SurveyExpired", "Home", new { area = "RnP", id = survey.ID })); } return(View(srmodel)); }