public async Task <ActionResult> SubmitSurvey(UpdateSurveyResponseModel model) { if (ModelState.IsValid) { var response = await WepApiMethod.SendApiAsync <string>(HttpVerbs.Post, $"RnP/Survey/SubmitAnswers", model); if (response.isSuccess) { // log trail/system success notification/dashboard notification/email/sms upon submission // log trail/system success/dashboard notification upon saving as draft await LogActivity(Model.Modules.RnP, "Response submitted for Survey", model); // titled: " + response.Data, model); TempData["SuccessMessage"] = "Response submitted successfully for Survey"; // titled: " + response.Data + "."; // dashboard return(RedirectToAction("ThankYou", "Home", new { area = "RnP", @id = model.SurveyID })); } else { TempData["SuccessMessage"] = "Failed to submit response for survey."; return(RedirectToAction("BrowseSurveys", "Home", new { area = "RnP" })); } } return(View(model)); }
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)); }