public async Task <IHttpActionResult> PuttUserSurveyResult(int id, tUserSurveyResult tUserSurveyResult) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != tUserSurveyResult.ID) { return(BadRequest()); } db.Entry(tUserSurveyResult).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!tUserSurveyResultExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> GettUserSurveyResult(int id) { tUserSurveyResult tUserSurveyResult = await db.tUserSurveyResults.FindAsync(id); if (tUserSurveyResult == null) { return(NotFound()); } return(Ok(tUserSurveyResult)); }
public async Task <IHttpActionResult> DeletetUserSurveyResult(int id) { tUserSurveyResult tUserSurveyResult = await db.tUserSurveyResults.FindAsync(id); if (tUserSurveyResult == null) { return(NotFound()); } db.tUserSurveyResults.Remove(tUserSurveyResult); await db.SaveChangesAsync(); return(Ok(tUserSurveyResult)); }
public async Task <IHttpActionResult> PosttUserSurveyResult(string questionsPassed, tUserSurveyResult tUserSurveyResult) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } /* Saving the Survey Result one by one */ db.tUserSurveyResults.Add(tUserSurveyResult); var result = await db.SaveChangesAsync(); /*Check if Result saved successfully*/ if (result > 0) { var surveyId = tUserSurveyResult.SurveyID; SurveyQuestionViewModel vm = null; var mcQuestionTypes = new[] { 1, 4 }; /* Get the total count of the questions */ var totalCount = webDb.tSurveyQuestions.Where(a => a.SurveyID == surveyId).Count(); var slist = !string.IsNullOrEmpty(questionsPassed) ? questionsPassed.Split(',').Select(a => int.Parse(a)).ToList() : new List <int>(); /* Check if Saved Question is not the last question. * If it is, then don't need to request for next question */ var isLast = (totalCount == slist.Count) && totalCount > 0; if (!isLast) { var surQuestion = webDb.tSurveyQuestions.Where(a => a.SurveyID == surveyId && !slist.Contains(a.ID)).OrderBy(q => q.ID).FirstOrDefault(); if (surQuestion != null) { //if (mcQuestionTypes.Contains(surQuestion.QuestionTypeID)) // surQuestion.tSurveyQuestionMCAnswers = webDb.tSurveyQuestionMCAnswers.Where(a => a.QuestionID == surQuestion.ID).OrderBy(a1 => a1.SequenceOrder).ToList(); //Mapper.Initialize(cfg => cfg.CreateMap<tSurveyQuestion, SurveyQuestionViewModel>()); //vm = Mapper.Map<SurveyQuestionViewModel>(surQuestion); //var passedQuesArray = !string.IsNullOrEmpty(questionsPassed) ? questionsPassed.Split(',').Select(a => int.Parse(a)).ToList() : new List<int>(); Mapper.Initialize(cfg => cfg.CreateMap <tSurveyQuestion, SurveyQuestionViewModel>()); vm = Mapper.Map <SurveyQuestionViewModel>(surQuestion); if (mcQuestionTypes.Contains(surQuestion.QuestionTypeID)) { var ansList = webDb.tSurveyQuestionMCAnswers.Where(a => a.QuestionID == surQuestion.ID).OrderBy(a1 => a1.SequenceOrder).ToList(); if (ansList.Any()) { Mapper.Initialize(cfg => cfg.CreateMap <tSurveyQuestionMCAnswer, SurveyQuestionMCAnswersViewModel>()); vm.tMCAnswers = ansList.Select(a => Mapper.Map <SurveyQuestionMCAnswersViewModel>(a)).ToList(); } } vm.IsLast = totalCount > 0 && ((totalCount - slist.Count) == 1); } } else { vm = new SurveyQuestionViewModel { IsLast = true }; } return(Ok(vm)); } else { return(BadRequest(ModelState)); } //return CreatedAtRoute("DefaultApi", new { id = tUserSurveyResult.ID }, tUserSurveyResult); }