public QuoteDTO SaveQuote(QuoteDTO dto) { using (var context = new QuestionnaireEntities()) { Quote dao = null; if (dto.QuoteID != 0) { dao = context.Quotes.Where(q => q.Quote_ID == dto.QuoteID).FirstOrDefault(); } else { dao = new Quote(); context.Quotes.Add(dao); } dao.Scheme_ID = dto.SchemeID; dao.Reference = dto.Reference; dao.QuoteDate = dto.QuoteDate; context.SaveChanges(); QuestionnaireCacheManager.Instance.ClearListQuotesForDisplayFromCache(); dto.QuoteID = dao.Quote_ID; } return(dto); }
private List <PageQuestionForDisplayDTO> ListPageQuestionsForDisplayByPage(int pageId, string questionControlRootPath) { List <PageQuestionForDisplayDTO> result = QuestionnaireCacheManager.Instance.ListPageQuestionsForDisplayByPageFromCache(pageId); if (result == null) { using (var context = new QuestionnaireEntities()) { var dao = (from pq in context.Page_Question where pq.Page_ID == pageId orderby pq.DisplayOrder select pq); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Page_Question>, List <PageQuestionForDisplayDTO> >(dao); foreach (PageQuestionForDisplayDTO pageQuestionDTO in result) { //load possible answers pageQuestionDTO.PossibleAnswers = ListPossibleAnswersForQuestionForDisplay(pageQuestionDTO.QuestionID, context); //set question path pageQuestionDTO.QuestionTemplatePath = questionControlRootPath + pageQuestionDTO.QuestionTemplatePath + ".cshtml"; //set validators for the question pageQuestionDTO.Validators = ListValidationByPageQuestion(pageQuestionDTO.PageQuestionID, context); pageQuestionDTO.Validators.ForEach(v => v.ErrorMessage = v.ErrorMessage.Replace("$$QuestionName$$", pageQuestionDTO.QuestionName)); pageQuestionDTO.IsRequired = (pageQuestionDTO.Validators != null && pageQuestionDTO.Validators.Any(v => v.ValidationType == ValidationTypes.Required)); pageQuestionDTO.DependantQuestions = ListDependantPageQuestionsBySourcePageQuestion(pageQuestionDTO.PageQuestionID, context); pageQuestionDTO.HasDisplayConditions = (pageQuestionDTO.DependantQuestions != null && pageQuestionDTO.DependantQuestions.Count > 0); } QuestionnaireCacheManager.Instance.InsertPageQuestionsForDisplayByPageIntoCache(pageId, result); } } } return(result); }
public QuestionTemplateDTO SaveQuestionTemplate(QuestionTemplateDTO dto) { using (var context = new QuestionnaireEntities()) { Question_Template dao = null; if (dto.QuestionTemplateID > 0) { dao = context.Question_Template.Find(dto.QuestionTemplateID); } else { dao = new Question_Template() { LastRenderDate = DateTime.Now }; context.Question_Template.Add(dao); } dao.Name = dto.Name; dao.Template = dto.Template; dao.Question_Type_ID = dto.QuestionTypeID; dao.LastRenderDate = dto.LastRenderDate; context.SaveChanges(); dto.QuestionTemplateID = dao.Question_Template_ID; QuestionnaireCacheManager.Instance.ClearQuestion(dto.QuestionTemplateID); } return(dto); }
public void SaveQuestion(IQuestionDTO questionDTO) { var portalDb = new QuestionnaireEntities(); Question questionE = null; if (questionDTO.QuestionId == -1) { questionE = new Question(); questionE.Text = questionDTO.Text; questionE.Marks = questionDTO.Marks; questionE.QuestionPaperNo = questionDTO.QuestionPaperNo; portalDb.Questions.Add(questionE); } else { questionE = portalDb.Questions.SingleOrDefault(n => n.Id == questionDTO.QuestionId); questionE.Text = questionDTO.Text; questionE.Marks = questionDTO.Marks; questionE.QuestionPaperNo = questionDTO.QuestionPaperNo; } portalDb.SaveChanges(); questionDTO.QuestionId = questionE.Id; }
public List <QuoteQuestionAnswerDTO> SaveAnswers(List <QuoteQuestionAnswerDTO> dtos) { using (var context = new QuestionnaireEntities()) { Quote_Question_Answer dao = null; foreach (QuoteQuestionAnswerDTO dto in dtos) { if (dto.QuoteQuestionAnswerID > 0) { //existing answer - load it dao = context.Quote_Question_Answer.Find(dto.QuoteQuestionAnswerID); } else { //new answer dao = new Quote_Question_Answer() { Quote_ID = dto.QuoteID, Question_ID = dto.QuestionID }; context.Quote_Question_Answer.Add(dao); } dao.Question_Possible_Answer_ID = dto.QuestionPossibleAnswerID; dao.Answer = dto.Answer; dto.QuoteQuestionAnswerID = dao.Quote_Question_Answer_ID; } context.SaveChanges(); //re-load questions to get question id's dtos = ListAnswersByQuote(dtos[0].QuoteID); } return(dtos); }
public void SavePaper(IPaperDTO paperDTO) { var portalDb = new QuestionnaireEntities(); QuestionPaper paperE = null; if (paperDTO.PaperId == -1) { paperE = new QuestionPaper(); paperE.Name = paperDTO.Name; paperE.Description = paperDTO.Description; paperE.Duration = paperDTO.Duration; portalDb.QuestionPapers.Add(paperE); } else { paperE = portalDb.QuestionPapers.SingleOrDefault(n => n.Id == paperDTO.PaperId); paperE.Name = paperDTO.Name; paperE.Description = paperDTO.Description; paperE.Duration = paperDTO.Duration; } portalDb.SaveChanges(); paperDTO.PaperId = paperE.Id; }
public List <RenderedPageForDisplayDTO> ListRenderedPagesForDisplayByScheme(int schemeId, string dynamicViewsRootFolder, string questionControlRootPath) { List <RenderedPageForDisplayDTO> result = QuestionnaireCacheManager.Instance.ListRenderedPagesForDisplayBySchemeFromCache(schemeId); if (result == null) { using (var context = new QuestionnaireEntities()) { var dao = (from r in context.Rendered_Page join p in context.Pages on r.Page_ID equals p.Page_ID where p.Scheme_ID == schemeId orderby p.DisplayOrder select r); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Rendered_Page>, List <RenderedPageForDisplayDTO> >(dao); foreach (RenderedPageForDisplayDTO pageDTO in result) { pageDTO.Questions = ListPageQuestionsForDisplayByPage(pageDTO.PageID, questionControlRootPath); pageDTO.DynamicViewsRootFolder = dynamicViewsRootFolder; } QuestionnaireCacheManager.Instance.InsertRenderedPagesForDisplayBySchemeIntoCache(schemeId, result); } } } return(result); }
public void DeleteQuestion(int questionId) { var portalDb = new QuestionnaireEntities(); var questionE = portalDb.Questions.SingleOrDefault(n => n.Id == questionId); portalDb.Questions.Remove(questionE); portalDb.SaveChanges(); }
public List <QuestionPossibleAnswerDTO> ListPossibleAnswersForQuestion(int questionId) { List <QuestionPossibleAnswerDTO> result = null; using (var context = new QuestionnaireEntities()) { result = ListPossibleAnswersForQuestion(questionId, context); } return(result); }
public List <PageQuestionValidationDTO> ListValidationByPageQuestion(int pageQuestionId) { List <PageQuestionValidationDTO> result = null; using (var context = new QuestionnaireEntities()) { result = ListValidationByPageQuestion(pageQuestionId, context); } return(result); }
public QuestionDTO LoadQuestion(string code) { QuestionDTO result = null; using (var context = new QuestionnaireEntities()) { var dao = context.Questions.Where(q => q.Code.Equals(code, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); if (dao != null) { result = AutoMapper.Mapper.Map <Question, QuestionDTO>(dao); } } return(result); }
public List <QuestionDTO> ListQuestionsForScheme(int schemeId) { List <QuestionDTO> result = null; using (var context = new QuestionnaireEntities()) { var dao = context.Questions.Where(q => q.Scheme_ID == schemeId).OrderBy(q => q.Name); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Question>, List <QuestionDTO> >(dao); } } return(result); }
public List <QuoteQuestionAnswerDTO> ListAnswersByQuote(int quoteId) { List <QuoteQuestionAnswerDTO> result = null; using (var context = new QuestionnaireEntities()) { var dao = context.Quote_Question_Answer.Where(qa => qa.Quote_ID == quoteId); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Quote_Question_Answer>, List <QuoteQuestionAnswerDTO> >(dao); } } return(result); }
public IQuestionDTO GetQuestionById(int questionId) { IQuestionDTO rv = DTOFactory.Create <IQuestionDTO>(); var portalDb = new QuestionnaireEntities(); var question = portalDb.Questions.SingleOrDefault(n => n.Id == questionId); rv.QuestionId = question.Id; rv.Text = question.Text; rv.Marks = question.Marks; rv.QuestionPaperNo = question.QuestionPaperNo; return(rv); }
public IPaperDTO GetPaperById(int paperId) { IPaperDTO rv = DTOFactory.Create <IPaperDTO>(); var portalDb = new QuestionnaireEntities(); var paper = portalDb.QuestionPapers.SingleOrDefault(n => n.Id == paperId); rv.PaperId = paper.Id; rv.Name = paper.Name; rv.Description = paper.Description; rv.Duration = paper.Duration; rv.QuestionCount = paper.Questions.Count; return(rv); }
public List <PageQuestionConditionalDisplayDTO> ListPageQuestionConditionalDisplaysByTargetPageQuestion(int targetPageQuestionId) { List <PageQuestionConditionalDisplayDTO> result = null; using (var context = new QuestionnaireEntities()) { var dao = context.Page_Question_Conditional_Display.Where(d => d.Target_Page_Question_ID == targetPageQuestionId); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Page_Question_Conditional_Display>, List <PageQuestionConditionalDisplayDTO> >(dao); } } return(result); }
public List <QuestionTemplateDTO> ListQuestionTemplates() { List <QuestionTemplateDTO> result = null; using (var context = new QuestionnaireEntities()) { var dao = context.Question_Template.OrderBy(qt => qt.Name); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Question_Template>, List <QuestionTemplateDTO> >(dao); } } return(result); }
public List <PageQuestionDTO> ListPageQuestionsByPage(int pageId) { List <PageQuestionDTO> result = null; using (var context = new QuestionnaireEntities()) { var dao = context.Page_Question.Where(pq => pq.Page_ID == pageId).OrderBy(pq => pq.DisplayOrder); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Page_Question>, List <PageQuestionDTO> >(dao); } } return(result); }
public QuestionTemplateDTO LoadQuestionTemplate(int questionTemplateId) { QuestionTemplateDTO result = null; using (var context = new QuestionnaireEntities()) { var dao = context.Question_Template.Find(questionTemplateId); if (dao != null) { result = AutoMapper.Mapper.Map <Question_Template, QuestionTemplateDTO>(dao); } } return(result); }
public List <RenderedPageForRenderingDTO> ListPagesForRenderingByScheme(int schemeId) { List <RenderedPageForRenderingDTO> result = null; using (var context = new QuestionnaireEntities()) { var dao = context.Pages.Where(p => p.Scheme_ID == schemeId).OrderBy(p => p.DisplayOrder); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Page>, List <RenderedPageForRenderingDTO> >(dao); } } return(result); }
public PageTemplateDTO LoadPageTemplate(int pageTemplateId) { PageTemplateDTO result = null; using (var context = new QuestionnaireEntities()) { var dao = context.Page_Template.Find(pageTemplateId); if (dao != null) { result = AutoMapper.Mapper.Map <Page_Template, PageTemplateDTO>(dao); } } return(result); }
public QuoteDTO LoadQuote(int quoteId) { QuoteDTO result = null; using (var context = new QuestionnaireEntities()) { var dao = context.Quotes.Find(quoteId); if (dao != null) { result = AutoMapper.Mapper.Map <Quote, QuoteDTO>(dao); result.Answers = ListAnswersByQuote(result.QuoteID); } } return(result); }
public void DeleteAnswers(List <QuoteQuestionAnswerDTO> dtos) { using (var context = new QuestionnaireEntities()) { foreach (QuoteQuestionAnswerDTO dto in dtos) { var dao = context.Quote_Question_Answer.Find(dto.QuoteQuestionAnswerID); if (dao != null) { context.Quote_Question_Answer.Remove(dao); } } context.SaveChanges(); } }
public bool DeletePaper(int paperId) { var portalDb = new QuestionnaireEntities(); var paperE = portalDb.QuestionPapers.SingleOrDefault(n => n.Id == paperId); bool rv = false; if (paperE.Questions.Count == 0) { portalDb.QuestionPapers.Remove(paperE); rv = true; } portalDb.SaveChanges(); return(rv); }
public List <PageQuestionConditionalDisplayDTO> ListPageQuestionConditionalDisplaysByPage(int pageId) { List <PageQuestionConditionalDisplayDTO> result = null; using (var context = new QuestionnaireEntities()) { var dao = (from d in context.Page_Question_Conditional_Display join q in context.Page_Question on d.Target_Page_Question_ID equals q.Page_Question_ID where q.Page_ID == pageId select d); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Page_Question_Conditional_Display>, List <PageQuestionConditionalDisplayDTO> >(dao); } } return(result); }
public List <QuestionTypeDTO> ListQuestionTypes() { List <QuestionTypeDTO> result = QuestionnaireCacheManager.Instance.ListQuestionTypesFromCache(); if (result == null) { using (var context = new QuestionnaireEntities()) { var dao = context.Question_Type; if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Question_Type>, List <QuestionTypeDTO> >(dao); QuestionnaireCacheManager.Instance.InsertQuestionTypesIntoCache(result); } } } return(result); }
public List <RenderedPageDTO> ListRenderedPagesByScheme(int schemeId) { List <RenderedPageDTO> result = null; using (var context = new QuestionnaireEntities()) { var dao = (from rp in context.Rendered_Page join p in context.Pages on rp.Page_ID equals p.Page_ID where p.Scheme_ID == schemeId orderby p.DisplayOrder select rp); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Rendered_Page>, List <RenderedPageDTO> >(dao); } } return(result); }
public List <PageTemplateDTO> ListPageTemplates() { List <PageTemplateDTO> result = QuestionnaireCacheManager.Instance.ListPageTemplatesFromCache(); if (result == null) { using (var context = new QuestionnaireEntities()) { var dao = context.Page_Template.OrderBy(pt => pt.Name); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Page_Template>, List <PageTemplateDTO> >(dao); QuestionnaireCacheManager.Instance.InsertListPageTemplatesIntoCache(result); } } } return(result); }
public RenderedPageDTO SaveRenderedPage(RenderedPageDTO dto) { using (var context = new QuestionnaireEntities()) { Rendered_Page dao = null; if (dto.RenderedPageID > 0) { //existing rendered page dao = context.Rendered_Page.Find(dto.RenderedPageID); } else if (dto.PageID > 0 && context.Rendered_Page.Any(rp => rp.Page_ID == dto.PageID)) { dao = context.Rendered_Page.Where(rp => rp.Page_ID == dto.PageID).FirstOrDefault(); } else { dao = context.Rendered_Page.Where(rp => rp.Page_ID == dto.PageID).FirstOrDefault(); if (dao == null) { dao = new Rendered_Page() { Page_ID = dto.PageID }; } context.Rendered_Page.Add(dao); } dao.PageContent = dto.PageContent; dao.LastRenderDate = dto.LastRenderDate; context.SaveChanges(); int schemeId = (from s in context.Schemes join p in context.Pages on s.Scheme_ID equals p.Scheme_ID where p.Page_ID == dto.PageID select s.Scheme_ID).First(); QuestionnaireCacheManager.Instance.ClearPage(dto.PageID, schemeId); dto.RenderedPageID = dao.Rendered_Page_ID; } return(dto); }
public List <QuoteListItemDTO> ListQuotesForDisplay() { List <QuoteListItemDTO> result = QuestionnaireCacheManager.Instance.ListQuotesForDisplayFromCache(); if (result == null) { using (var context = new QuestionnaireEntities()) { var dao = context.Quotes.OrderByDescending(q => q.QuoteDate); if (dao != null) { result = AutoMapper.Mapper.Map <IEnumerable <Quote>, List <QuoteListItemDTO> >(dao); QuestionnaireCacheManager.Instance.InsertListQuotesForDisplayIntoCache(result); } } } return(result); }