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()); }
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); }