Esempio n. 1
0
        public ChartModel(ChartParameters parameters, string ReportClassFieldId = "")
        {
            Parameters = parameters;

            using (Entity context = new Entity())
            {
                var indicator = context.t_indicator.Find(parameters.IndicatorId);
                AddMedian = parameters.AddMedian;
                Indicator = new Indicator(indicator, false, true);
                Activity  = new Activity(indicator.aim.activity);
                if (ReportClassFieldId == null)
                {
                    ReportClassFieldId = "";
                }
                if (ReportClassFieldId.Length > 0)
                {
                    ChartFilters = new ChartFilters(parameters.IndicatorId, Identity.CurrentUser.Id, IidCulture.CurrentLanguageId, Indicator.ReportClassFieldId);
                }
                else
                {
                    ChartFilters = new ChartFilters(parameters.IndicatorId, Identity.CurrentUser.Id, IidCulture.CurrentLanguageId);
                }


                if (parameters != null && parameters.Criterias != null)
                {
                    ChartResult = ChartResult.GetData(parameters, ReportClassFieldId);
                }
            }
        }
Esempio n. 2
0
        public EmbedBuilder EmbedSparkline(ChartResult result)
        {
            EmbedBuilder builder = new EmbedBuilder();

            builder.WithTitle($"7 day graph for {result.Name}");
            builder.WithImageUrl(result.Uri);

            return(builder);
        }
Esempio n. 3
0
        public ChartResult GetChartAuditData(NaturalLanguageQuestion question)
        {
            var caResult = new ChartResult();

            try
            {
                logger.Info("trying to predict query");
                ruleEngine.TimeSeriesBoundary = GetMonthPastDataAvailableTill();
                PredictQuery(question);
                caResult.RealizedQuery = RealizedQuery;
                using (var dt = ExecuteQuery(DbQuery, chartEngine))
                {
                    var dataSlices = GetDataSlicesFromDataTable(dt);
                    if (!dataSlices.AnyOrNotNull())
                    {
                        throw new ChartAuditNoDataException();
                    }
                    Visualization chartType = Visualization.None;
                    try
                    {
                        chartType = ruleEngine.ResolveChartTypeFromActualData(dataSlices);
                    }
                    catch (ChartAuditMultiTumorMultiRegimenTimeSeriesException ex)
                    {
                        if (question.Options != null && question.Options.SkipMultiDimError)
                        {
                            chartType = Visualization.LineMultiTumorMultiRegimen;
                        }
                        else
                        {
                            throw ex;
                        }
                    }
                    var chart = chartEngine.GetChart(chartType) as CAChartBase;
                    chart.IsPanTumor   = (ruleEngine as CARuleEngine).IsPanTumor;
                    chart.TumorNames   = GetTumorNames(dt);
                    chart.RegimenNames = GetRegimenNames(dt);
                    chart.Populate(dataSlices);
                    caResult.Status = 0;
                    caResult.Chart  = chart;
                }
            }
            catch (ChartAuditExceptionBase caEx)
            {
                caResult.Status = (int)caEx.ErrorCode;
            }
            catch (Exception ex)
            {
                caResult.Status = -1;
                //caResult.RealizedQuery = ex.Message;
            }

            return(caResult);
        }
Esempio n. 4
0
        public ActionResult Index()
        {
            ViewBag.Title = "Home Page";
            var result   = new ChartResult();
            var measures = repository.GetTrainingMeasures();

            result.BiometricUrl = GetBiometricChart(measures.BiometricMeasures);
            result.CognitiveUrl = GetCognitiveChart(measures.CognitiveMeasures);

            return(View(result));
        }
Esempio n. 5
0
 public HtmlChartCreator(Chart chart, ChartResult result)
 {
     this.chart = chart;
     this.result = result;
 }