public bool CreateFAQ(FAQ faq) { var newFAQ = new FAQs { Question = faq.question, Answer = faq.answer, CategoryId = faq.categoryId }; Categories foundCategory = db.Categories.Find(faq.categoryId); if (foundCategory != null) newFAQ.Category = foundCategory; else return false; try { // save FAQ db.FAQs.Add(newFAQ); db.SaveChanges(); } catch (Exception e) { writeToLog(e); return false; } return true; }
public bool UpdateFAQ(int id, FAQ faq) { FAQs foundFAQ = db.FAQs.FirstOrDefault(f => f.ID == id); if (foundFAQ == null) return false; foundFAQ.Question = faq.question; foundFAQ.Answer = faq.answer; foundFAQ.CategoryId = faq.categoryId; foundFAQ.Category = db.Categories.Find(faq.categoryId); try { db.SaveChanges(); } catch (Exception e) { writeToLog(e); return false; } return true; }
public List<FAQ> GetFAQsFromCategory(int categoryId) { try { var dbFAQs = db.FAQs.ToList(); List<FAQ> FAQs = new List<FAQ>(); foreach (var faq in dbFAQs) { if (faq.CategoryId == categoryId) { var oneFAQ = new FAQ(); oneFAQ.id = faq.ID; oneFAQ.question = faq.Question; oneFAQ.answer = faq.Answer; oneFAQ.categoryId = faq.CategoryId; FAQs.Add(oneFAQ); } } return FAQs; } catch (Exception e) { writeToLog(e); List<FAQ> FAQs = new List<FAQ>(); return FAQs; } }
public FAQ GetFAQ(int id) { try { FAQs oneDbFAQ = db.FAQs.Find(id); if (oneDbFAQ == null) return null; var oneFAQ = new FAQ() { id = oneDbFAQ.ID, question = oneDbFAQ.Question, answer = oneDbFAQ.Answer, categoryId = oneDbFAQ.CategoryId }; return oneFAQ; } catch (Exception e) { writeToLog(e); return null; } }
public List<FAQ> GetAllFAQsFromCategory(int id) { try { Categories oneDbCategory = db.Categories.Find(id); if (oneDbCategory == null) return new List<FAQ>(); List<FAQs> allDbFAQs = db.FAQs.ToList(); List<FAQ> relevantFAQs = new List<FAQ>(); foreach(var oneDbFAQ in allDbFAQs) { if(oneDbFAQ.CategoryId == id) { var oneFAQ = new FAQ() { id = oneDbFAQ.ID, question = oneDbFAQ.Question, answer = oneDbFAQ.Answer, categoryId = oneDbFAQ.CategoryId }; relevantFAQs.Add(oneFAQ); } } return relevantFAQs; } catch (Exception e) { writeToLog(e); List<FAQ> relevantFAQs = new List<FAQ>(); return relevantFAQs; } }
// POST api/FAQ public HttpResponseMessage Post(FAQ faq) { if (ModelState.IsValid) { bool ok = faqDb.CreateFAQ(faq); if (ok) { return new HttpResponseMessage() { StatusCode = HttpStatusCode.OK }; } } return new HttpResponseMessage() { StatusCode = HttpStatusCode.NotFound, Content = new StringContent("Kunne ikke sette inn dette spørsmålet i databasen.") }; }