private static string GetCorrectString(Question question)
        {
            string correct = string.Empty;
            var answers = question.Answers.OrderBy(x => x.Id).ToList();
            if (answers[0].IsCorrect)
            {
                correct = "A";
            }
            else if (answers[1].IsCorrect)
            {
                correct = "A";
            }
            else if (answers[2].IsCorrect)
            {
                correct = "C";
            }

            return correct;
        }
        public HttpResponseMessage PostCreateQuestion(QuestionFullModel model,
            [ValueProvider(typeof(HeaderValueProviderFactory<string>))] string sessionKey)
        {
            var responseMsg = this.PerformOperationAndHandleExceptions(
              () =>
              {
                  var user = this.Data.Users.All().FirstOrDefault(
                      x => x.SessionKey == sessionKey);

                  if (user == null || sessionKey == string.Empty || user.UserRole.Role != "Admin")
                  {
                      throw new InvalidOperationException("Invalid sessionKey");
                  }

                  ValidateModel(model);
                  var category = this.Data.Categories.All().Where(x => x.Name == model.Category).FirstOrDefault();
                  var question = new Question()
                  {
                      Text = model.Text,
                      Category = category
                  };

                  this.Data.Questions.Add(question);
                  this.Data.SaveChanges();

                  var answerA = new Answer()
                  {
                      Text = model.AText,
                      IsCorrect = false
                  };

                  var answerB = new Answer()
                  {
                      Text = model.BText,
                      IsCorrect = false
                  };

                  var answerC = new Answer()
                  {
                      Text = model.CText,
                      IsCorrect = false
                  };

                  if (model.Correct == "A")
                  {
                      answerA.IsCorrect = true;
                  }
                  else if (model.Correct == "B")
                  {
                      answerB.IsCorrect = true;
                  }
                  else if (model.Correct == "C")
                  {
                      answerC.IsCorrect = true;
                  }

                  question.Answers.Add(answerA);
                  question.Answers.Add(answerB);
                  question.Answers.Add(answerC);
                  this.Data.SaveChanges();

                  var response =
                      this.Request.CreateResponse(HttpStatusCode.OK);
                  return response;
              });

            return responseMsg;
        }