public bool HasChild(int categoryId) { using (BDictionaryEntities db = new BDictionaryEntities()) { return(db.QuestionCategories.Any(c => c.ParentID == categoryId)); } }
public IEnumerable <QuestionCategory> Search(string input) { using (BDictionaryEntities db = new BDictionaryEntities()) { return(db.QuestionCategories.Where(c => (c.Name.Contains(input) || c.Id.ToString().StartsWith(input)) && !c.QuestionCategory1.Any()).OrderBy(c => c.Name).Take(20).ToList()); } }
public IEnumerable <Question> GetQuestions(int categoryId) { using (BDictionaryEntities db = new BDictionaryEntities()) { return(db.QuestionCategories.Include(x => x.QuestionAnswers).Where(c => c.Id == categoryId).FirstOrDefault().Questions); } }
public QuestionCategory GetQuestionCategory(string categoryName) { using (BDictionaryEntities db = new BDictionaryEntities()) { return(db.QuestionCategories.Where(c => c.Name == categoryName).FirstOrDefault()); } }
public QuestionCategory GetQuestionCategory(int categoryId) { using (BDictionaryEntities db = new BDictionaryEntities()) { return(db.QuestionCategories.Where(c => c.Id == categoryId).FirstOrDefault()); } }
public QuestionCategory GetParent(int categoryId) { using (BDictionaryEntities db = new BDictionaryEntities()) { var parentId = db.QuestionCategories.FirstOrDefault(c => c.Id == categoryId).ParentID; return(db.QuestionCategories.FirstOrDefault(c => c.Id == parentId)); } }
public List <QuestionCategory> GetChildren(int?parentId) { List <QuestionCategory> result = new List <QuestionCategory>(); using (BDictionaryEntities db = new BDictionaryEntities()) { foreach (QuestionCategory c in db.QuestionCategories.Where(c => c.ParentID == parentId)) { result.Add(c); } } return(result); }
public void AddOrUpdate(QuestionCategory category) { using (BDictionaryEntities db = new BDictionaryEntities()) { QuestionCategory existingCategory = db.QuestionCategories.FirstOrDefault(qc => qc.Id == category.Id); if (existingCategory != null) { existingCategory.Name = category.Name; existingCategory.ParentID = category.ParentID != 0 ? category.ParentID : null; existingCategory.AnswerType = category.AnswerType; List <QuestionAnswer> existingAnswers = db.QuestionAnswers.Where(qa => qa.CategoryID == category.Id).ToList(); foreach (QuestionAnswer existingAnswer in existingAnswers) { if (!category.QuestionAnswers.Any(qa => qa.Id == existingAnswer.Id)) { db.QuestionAnswers.Remove(existingAnswer); } } foreach (QuestionAnswer modelAnswer in category.QuestionAnswers) { QuestionAnswer existingAnswer = db.QuestionAnswers.Where(qa => qa.Id == modelAnswer.Id).FirstOrDefault(); if (existingAnswer == null) { QuestionAnswer newAnswer = new QuestionAnswer() { CategoryID = category.Id, Value = ParseAnswer(modelAnswer.Value, category.AnswerType) }; db.QuestionAnswers.Add(newAnswer); } else { existingAnswer.Value = ParseAnswer(modelAnswer.Value, category.AnswerType); } db.SaveChanges(); } } else { QuestionCategory newCategory = new QuestionCategory() { Name = category.Name, ParentID = category.ParentID != 0 ? category.ParentID : null, AnswerType = category.AnswerType }; db.SaveChanges(); foreach (QuestionAnswer modelAnswer in category.QuestionAnswers) { modelAnswer.CategoryID = newCategory.Id; db.QuestionAnswers.Add(modelAnswer); } db.QuestionCategories.Add(newCategory); } db.SaveChanges(); } }