Пример #1
0
        private string Save(Answer pAnswer)
        {
            int lAnswerID = -1;
            var messages  = new ModelStateDictionary();
            var lLogMsg   = string.Empty;

            try
            {
                using (Loreal_DEVEntities3 db = new Loreal_DEVEntities3())
                {
                    // Ensure the correct Answer is either updated or created.
                    //var isUpdate = db.Answers.Find(pAnswer.AnswerID);
                    var lAnswer = db.Answers.Where(a => (a.QuestionID == pAnswer.QuestionID &&
                                                         a.BookID == pAnswer.BookID &&
                                                         a.Year == pAnswer.Year &&
                                                         a.VersionID == pAnswer.VersionID)).FirstOrDefault();

                    if (lAnswer != null)
                    {
                        // Update
                        lAnswer.AnswerFreeForm = pAnswer.AnswerFreeForm;
                        lAnswer.AnswerYesNo    = pAnswer.AnswerYesNo;
                        lAnswer.VersionID      = pAnswer.VersionID;
                        lAnswerID = db.SaveChanges();
                    }
                    else
                    {
                        // Create
                        db.Answers.Add(pAnswer);
                        lAnswerID = db.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                var lReturnMessage = String.Format("Error in Save Answer. ANSWER ID: {0}, QUESTION ID: {1} BookID: {2}.", pAnswer.AnswerID, pAnswer.QuestionID, pAnswer.BookID);
                lLogMsg = String.Format(lReturnMessage + "ERROR MESSAGE: {0}.  SOURCE: {1}. STACKTRACE: {2}.", ex.Message, ex.Source, ex.StackTrace);
                logger.Error(lLogMsg);
            }
            return(lAnswerID.ToString());
        }
Пример #2
0
        public IHttpActionResult GetAnswers()
        {
            IHttpActionResult lResult = null;
            var lLogMsg    = string.Empty;
            var lstAnswers = new List <Answer>();
            var pContext   = System.Web.HttpContext.Current;

            // Get BookID, VersionID & Year from Cookie
            var lCookieData = CookieManagement.GetCookie(pContext);

            try
            {
                using (Loreal_DEVEntities3 db = new Loreal_DEVEntities3())
                {
                    lstAnswers = db.Answers
                                 .Where(a => a.BookID == lCookieData.BookID && a.Year == lCookieData.Year && a.VersionID == lCookieData.VersionID)
                                 .ToList();
                }
            }
            catch (Exception ex)
            {
                var lReturnMessage = String.Format("Error in GetAnswers.  Publisher: {0}, Book: {1}, BookID: {2}.", lCookieData.Publisher, lCookieData.Book, lCookieData.BookID);
                lLogMsg = String.Format(lReturnMessage + "ERROR MESSAGE: {0}.  SOURCE: {1}. STACKTRACE: {2}.", ex.Message, ex.Source, ex.StackTrace);
                logger.Error(lLogMsg);
                lResult = BadRequest(lReturnMessage);
            }

            if (lstAnswers.Any())
            {
                lResult = Ok(lstAnswers);
            }
            else
            {
                lResult = Ok();
            }

            return(lResult);
        }