예제 #1
0
        protected void ViewBreastQDefinitions(IEnumerable <string> surveyTypes)
        {
            bool doFilter = surveyTypes.Count() > 0;
            CaisisBreastQEngine engine = new CaisisBreastQEngine();
            var surveys = from survey in engine.GetAllDefinitions()
                          from scale in survey.Definitions
                          // optional filter by survey
                          where !doFilter || surveyTypes.Contains(survey.SurveyType, StringComparer.OrdinalIgnoreCase)
                          let def = new
            {
                Survey         = survey.SurveyType,
                ScaleName      = scale.Scale,
                ScaleTitle     = scale.Title,
                ScaleAlias     = scale.Alias,
                ScaleQuestions = string.Join(",", scale.Questions),
                ManualScoring  = engine.manualScaleLookup.ContainsKey(scale.Scale).ToString().ToUpper()
            }
            group def by survey.SurveyType into g
            orderby g.Key
                select new
            {
                Survey      = g.Key,
                Definitions = g
            };

            SurveysRptr.DataSource = surveys;
            SurveysRptr.DataBind();
            SurveysRptr.Visible = true;
        }
예제 #2
0
        /// <summary>
        /// Builds a list of avaiable surveys (optionally filtered by disease)
        /// </summary>
        private void BuildSurveys()
        {
            DataView surveys;

            // filter by disease
            if (QueryDiseaseId.HasValue)
            {
                Caisis.Controller.DiseaseController dc = new Caisis.Controller.DiseaseController();
                surveys           = dc.GetTableRecordsByDisease(QueryDiseaseId.Value, new MetadataSurvey().TableName).DefaultView;
                surveys.RowFilter = Disease.DiseaseId + " IS NOT NULL";
            }
            // otherwise normal
            else
            {
                surveys = BOL.BusinessObject.GetAllAsDataView <BOL.MetadataSurvey>();
            }
            surveys.Sort           = BOL.MetadataSurvey.SurveyType + " ASC";
            SurveysRptr.DataSource = surveys;
            SurveysRptr.DataBind();

            NoTablesMessage.Visible = surveys.Count == 0;
        }