public TemplateTabQuesionModel GetTemplateQuestionByID(int QueId)
        {
            TemplateTabQuesionModel question = new TemplateTabQuesionModel();

            try
            {
                if (QueId > 0)
                {
                    var templateQue = _templateQuestionRepository.GetById(QueId);
                    if (templateQue != null)
                    {
                        question.Question         = templateQue.Question;
                        question.AnswerDetails    = templateQue.AnswerDetails;
                        question.AnswerType       = templateQue.AnswerType;
                        question.TemplateQuesID   = templateQue.TemplateQuesID;
                        question.TemplateTabID    = templateQue.TemplateTabID;
                        question.Section          = templateQue.Section ?? "";
                        question.Parent           = templateQue.ParentId ?? 0;
                        question.RenderOnAnswerId = templateQue.RenderOnAnwerId ?? 0;
                        question.Tooltip          = templateQue.Tooltip;
                        question.IsSubQuestion    = Convert.ToInt32(templateQue.ParentId) > 0 ? true : false;
                    }
                }
                else
                {
                }
            }
            catch (EntryPointNotFoundException ex)
            {
                string msg = ex.Message;
            }
            catch (Exception ex)
            {
                string msg = ex.Message;
            }
            return(question);
        }
        public bool SetTemplateQuestion(TemplateTabQuesionModel model)
        {
            try
            {
                var tempQuestion = new TemplateQue();

                if (model.TemplateQuesID > 0)
                {
                    tempQuestion = _templateQuestionRepository.GetById(model.TemplateQuesID);

                    tempQuestion.TemplateTabID   = model.TemplateTabID;
                    tempQuestion.Question        = model.Question;
                    tempQuestion.Section         = model.Section;
                    tempQuestion.AnswerDetails   = model.AnswerDetails;
                    tempQuestion.AnswerType      = model.AnswerType;
                    tempQuestion.ParentId        = model.Parent;
                    tempQuestion.RenderOnAnwerId = model.RenderOnAnswerId;
                    tempQuestion.Tooltip         = model.Tooltip;
                    tempQuestion.ModifiedOn      = DateTime.UtcNow;
                    tempQuestion.ModifiedBy      = 1;
                    _templateQuestionRepository.Update(tempQuestion);
                }
                else
                {
                    tempQuestion.TemplateQuesID  = model.TemplateTabID;
                    tempQuestion.TemplateTabID   = model.TemplateTabID;
                    tempQuestion.Section         = model.Section;
                    tempQuestion.Question        = model.Question;
                    tempQuestion.AnswerDetails   = model.AnswerDetails;
                    tempQuestion.AnswerType      = model.AnswerType;
                    tempQuestion.ParentId        = model.Parent;
                    tempQuestion.RenderOnAnwerId = model.RenderOnAnswerId;
                    tempQuestion.Tooltip         = model.Tooltip;
                    tempQuestion.CreatedOn       = DateTime.Now;
                    tempQuestion.CreatedBy       = 1;

                    _templateQuestionRepository.Add(tempQuestion);

                    if (!string.IsNullOrWhiteSpace(model.AnswerDetails))
                    {
                        var answers = (from ans in model.AnswerDetails.Split(',')
                                       select new Answer
                        {
                            AnswerText = ans,
                            QuestionId = tempQuestion.TemplateQuesID
                        }).ToList();

                        _answerRepository.AddRange(answers);
                    }
                }

                //_templateQuestionRepository.SaveChangesAsync();

                return(true);
            }
            catch (EntryPointNotFoundException ex)
            {
                return(false);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }