public bool Delete(int id, [FromBody]string deleteQuestionPassword) { if (deleteQuestionPassword != "fred.51") return false; try { using (var db = new FlashCardsDb()) { FlashCardEntry e = (from n in db.FlashCards where n.FlashCardEntryId == id select n).FirstOrDefault(); if (e == null) return false; db.FlashCards.Remove(e); db.SaveChanges(); //Now redo the numbering int number = 0; foreach (FlashCardEntry ent in db.FlashCards) { ent.FlashCardQuestionNumber = number++; } db.SaveChanges(); return true; } } catch (Exception ex) { return false; } }
public IHttpActionResult Get() { FlashCardEntry ent = null; using (var db = new FlashCardsDb()) { //Get count of entries using question number field. var lastEntry = db.FlashCards.OrderByDescending(i => i.FlashCardQuestionNumber).FirstOrDefault(); if (lastEntry == null) return NotFound(); //Create random number generator Random rnd = new Random((int)System.DateTime.Now.Ticks); //set max tries int count = 0; do { //get random number value int value = rnd.Next(lastEntry.FlashCardQuestionNumber + 1) ; var result = (from c in db.FlashCards where c.FlashCardQuestionNumber == value select new { FlashCardEntryId = c.FlashCardEntryId, Question = c.Question, Answer = c.Answer, FlashCardQuestionNumber = c.FlashCardQuestionNumber }).SingleOrDefault(); if (result != null) { ent = new FlashCardEntry(); ent.Answer = result.Answer; ent.FlashCardEntryId = result.FlashCardEntryId; ent.Question = result.Question; } } while (ent == null && count < 10); if (ent == null) return NotFound(); return Ok(ent); } }
public ActionResult Index() { ViewBag.FlashCardCount = "--"; //Get number of flash cards using (var db = new FlashCardsDb()) { //Get count of entries using question number field. var lastEntry = db.FlashCards.OrderByDescending(i => i.FlashCardQuestionNumber).FirstOrDefault(); if (lastEntry != null) { ViewBag.FlashCardCount = lastEntry.FlashCardQuestionNumber; } } ViewBag.Title = "Home Page"; return View(); }
public IHttpActionResult Get(int id) { using (var db = new FlashCardsDb()) { var result = (from c in db.FlashCards where c.FlashCardEntryId == id select new { FlashCardEntryId = c.FlashCardEntryId, Question = c.Question, Answer = c.Answer }).SingleOrDefault(); if (result == null) return NotFound(); FlashCardEntry ent = new FlashCardEntry(); ent.Answer = result.Answer; ent.FlashCardEntryId = result.FlashCardEntryId; ent.Question = result.Question; return Ok(ent); } }
public FlashCardsController() { db = new FlashCardsDb(); db.Configuration.ProxyCreationEnabled = false; }
public bool Post(string addQuestionPassword, [FromBody]string questionList) { if (addQuestionPassword != "fred.51") return false; //Parse incoming list into entries List<FlashCardEntry> entries = ParseData(questionList); //Add new entries into the datbase using (var db = new FlashCardsDb()) { try { foreach (FlashCardEntry e in entries) { bool found = false; foreach (FlashCardEntry dbEntry in db.FlashCards) { if (dbEntry.Question.ToUpper().Trim() == e.Question.ToUpper().Trim()) { //update answer if found dbEntry.Answer = e.Answer; found = true; break; } if (found) break; } //not found, so insert if (!found) db.FlashCards.Add(e); } db.SaveChanges(); //Now redo the numbering int number = 0; foreach (FlashCardEntry ent in db.FlashCards) { ent.FlashCardQuestionNumber = number++; } db.SaveChanges(); } catch (Exception ex) { return false; } } return true; }