public async Task <IActionResult> CreateSurvey() { try { await _surveyService.CreateSurveyAsync(); return(Ok()); } catch (Exception) { return(BadRequest()); } }
public async Task <IActionResult> Create(SurveyDTO survey) { try { if (ModelState.IsValid) { var result = await _surveyService.CreateSurveyAsync(survey); if (result.Succeeded) { return(RedirectToAction("Edit", new { id = result.Item.Id })); } else { ModelState.AddModelError(string.Empty, $"Unable to create survey. (HTTP {result.StatusCode})"); switch (result.StatusCode) { case (int)HttpStatusCode.Unauthorized: return(ReAuthenticateUser()); case (int)HttpStatusCode.Forbidden: ViewBag.Forbidden = true; return(View(survey)); default: return(View(survey)); } } } else { ModelState.AddModelError(string.Empty, "Bad Request"); return(View(survey)); } } catch (AuthenticationException) { return(ReAuthenticateUser()); } catch { ModelState.AddModelError(string.Empty, "Unable to create survey."); } return(View("~/Views/Shared/Error.cshtml")); }
public async Task <IActionResult> SendSurveyEmail(int surveyTemplateId) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var surveyId = _surveyService.CreateSurveyAsync(surveyTemplateId).Result; var survey = await _surveyService.GetByIdAsync(surveyId); await _surveyReportService.CreateAsync(surveyId, survey.Title, survey.description); await _surveyEmailFactory.SendSurveyEmailAsync(surveyId); await _surveyEmailFactory.SendSurveyEmailToUnregisteredUsersAsync(surveyId); return(StatusCode(200)); } catch (Exception e) { return(BadRequest(e.Message)); } }