public ClinicalQuestionController(ISettings setting, ILogManager logManager, ISessionContext sessionContext, IHealthAssessmentTemplateService healthAssessmentTemplateService,
                                   IClinicalTemplateService clinicalTemplateService, ICustomerClinicalQuestionAnswerService customerClinicalQuestionAnswerService)
 {
     _sessionContext = sessionContext;
     _pageSize       = setting.DefaultPageSizeForReports;
     _logger         = logManager.GetLogger <ClinicalQuestionController>();
     _healthAssessmentTemplateService       = healthAssessmentTemplateService;
     _clinicalTemplateService               = clinicalTemplateService;
     _customerClinicalQuestionAnswerService = customerClinicalQuestionAnswerService;
 }
 public TemplateCriteriaEditModelValidator(IValidator <ClinicalTestQualificationCriteriaEditModel> criteriaValidator, IClinicalTemplateService clinicalTemplateService)
 {
     RuleFor(x => x.TemplateId).GreaterThan(0).WithMessage("Required");
     RuleFor(x => x.Criteria).SetCollectionValidator(criteriaValidator);
     RuleFor(x => x.IsPublished).Must((x, y) => clinicalTemplateService.IsValidForPublish(x.Criteria))
     .WithMessage("please provide at least one criteria for each test").When(x => x.IsPublished);
 }