public async Task <IHttpActionResult> PutSelectedAnswer(long id, SelectedAnswer selectedAnswer) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != selectedAnswer.SelectedAnswerID) { return(BadRequest()); } db.Entry(selectedAnswer).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SelectedAnswerExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> GetSelectedAnswer(long id) { SelectedAnswer selectedAnswer = await db.SelectedAnswers.FindAsync(id); if (selectedAnswer == null) { return(NotFound()); } return(Ok(selectedAnswer)); }
public async Task <IHttpActionResult> PostSelectedAnswer(SelectedAnswer selectedAnswer) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.SelectedAnswers.Add(selectedAnswer); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = selectedAnswer.SelectedAnswerID }, selectedAnswer)); }
public void DeleteAnswer() { if (SelectedAnswer != null) { Answer answer = SelectedAnswer.ToPoco(); AnswerRepository.Delete(answer.AnswerID); SelectedQuestion.Answers.Remove(answer); Answers.Remove(SelectedAnswer); AnswerRepository.Save(); RaisePropertyChanged("Answers"); } }
public async Task <IHttpActionResult> DeleteSelectedAnswer(long id) { SelectedAnswer selectedAnswer = await db.SelectedAnswers.FindAsync(id); if (selectedAnswer == null) { return(NotFound()); } db.SelectedAnswers.Remove(selectedAnswer); await db.SaveChangesAsync(); return(Ok(selectedAnswer)); }
private void AddAuthTokens(object o, UserLoggedInEventArg args) { User.SetAuthToken(args.User.AuthToken); Answer.SetAuthToken(args.User.AuthToken); Question.SetAuthToken(args.User.AuthToken); Quiz.SetAuthToken(args.User.AuthToken); Study.SetAuthToken(args.User.AuthToken); UserType.SetAuthToken(args.User.AuthToken); Course.SetAuthToken(args.User.AuthToken); Faculty.SetAuthToken(args.User.AuthToken); Rating.SetAuthToken(args.User.AuthToken); Semester.SetAuthToken(args.User.AuthToken); SelectedAnswer.SetAuthToken(args.User.AuthToken); QuizUserStatistic.SetAuthToken(args.User.AuthToken); }
private SelectedAnswer CacheAnswer(Player player, SelectedAnswer selectedAnswer) { if (!_playerAnswers.ContainsKey(player)) { _playerAnswers.Add(player, new List <SelectedAnswer>()); } var answers = _playerAnswers[player]; var existing = answers.FirstOrDefault(p => p.QuestionId == selectedAnswer.QuestionId); if (existing != null) { return(existing); } answers.Add(selectedAnswer); return(selectedAnswer); }
public override bool Save() { ClearFeedback(); bool result = false; try { if (FormContextAnswer == FormContext.Create) { //create new answer result = User.AnswerQuestion(SelectedAnswer, UnitOfWork); UpdateAnswersList(SelectedQuestion, AnswerSearchTxt); FormContextAnswer = FormContext.Update;//selected item now has an id go to update ShowFeedback($"Successfully created: {SelectedAnswer.Id}.", FeedbackType.Success); } else { //Update Selected Answer result = SelectedAnswer.ValidateAnswer(UnitOfWork); if (result) { result = (UnitOfWork.Complete() > 0) ? true : false; ShowFeedback($"Successfully updated: {SelectedAnswer.Id}", FeedbackType.Success); } } } catch (DbUpdateException ex) { ShowFeedback(ex.Message, FeedbackType.Error); } catch (SqlException ex) { ShowFeedback(ex.Message, FeedbackType.Error); } catch (Exception ex) { ShowFeedback(ex.Message, FeedbackType.Error); } return(result); }
private void PoolingUpdate(object obj) { App.Current.Dispatcher.Invoke((Action) delegate // <--- HERE { try { List <int> originalQids = Questions.Select(q => q.Id).ToList(); List <int> originalAids = Answers.Select(a => a.Id).ToList(); UpdateQuestionsList(QuestionSearchTxt); if (SelectedAnswer != null) { Answer backup = new Answer(); backup.ShallowCopy(SelectedAnswer); UpdateAnswersList(SelectedQuestion, AnswerSearchTxt); OnPropertyChanged(nameof(SelectedQuestion)); SelectedAnswer.ShallowCopy(backup); OnPropertyChanged(nameof(SelectedAnswer)); //thread safe way to get record updates pulled from database (doesn't do selected Q or A) if (QandAMode == QandAMode.Answer) { if (Answers != null) { foreach (Answer a in Answers) { if (a.Id != SelectedAnswer.Id) { UnitOfWork.Reload(a); } } OnPropertyChanged(nameof(AVisConDTO)); } } else { if (Questions != null) { foreach (Question q in Questions) { if (q.Id != SelectedQuestion.Id) { UnitOfWork.Reload(q); } } OnPropertyChanged(nameof(AVisConDTO)); } } } else { UpdateAnswersList(SelectedQuestion, AnswerSearchTxt); } List <int> newQIds = Questions.Select(q => q.Id).ToList(); List <int> newAIds = Answers.Select(a => a.Id).ToList(); SortNotifications(originalQids, originalAids, newQIds, newAIds); UpdateCommentsList(); } catch (Exception ex) { ShowFeedback($"Error updating from database:\n{ex.Message}", FeedbackType.Error); } }); }