예제 #1
0
 public GaugeBO GetGauge(string sp, object[] filter)
 {
     try
     {
         IConsultantReader <object, GaugeBO> consultor = new ConsultantReader <object, GaugeBO>();
         MapperManager <object, GaugeBO>     mapper    = FactoryTransformer.Create <object, GaugeBO>();
         GaugeBO response =
             consultor.ConsultarProcedimientoObjArray(sp,
                                                      ConnectionString,
                                                      CommandType.StoredProcedure, filter, mapper);
         return(response);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #2
0
        private static Highcharts GaugeChart(MenuBO menu, object[] parameter)
        {
            GaugeBO gauge = Dal.GetGauge(menu.ProcedureName, parameter);

            #region Chart
            Highcharts chart = new Highcharts("chart" + menu.Oid)
                               .InitChart(new Chart
            {
                Type = ChartTypes.Gauge,
                PlotBackgroundColor = null,
                PlotBackgroundImage = null,
                PlotBorderWidth     = 0,
                PlotShadow          = false
            })
                               .SetTitle(new Title {
                Text = menu.Title
            })
                               .SetPane(new Pane
            {
                StartAngle = -150,
                EndAngle   = 150,
                Background = new[]
                {
                    new BackgroundObject
                    {
                        BackgroundColor = new BackColorOrGradient(new Gradient
                        {
                            LinearGradient = new[] { 0, 0, 0, 1 },
                            Stops          = new object[, ] {
                                { 0, "#FFF" }, { 1, "#333" }
                            }
                        }),
                        BorderWidth = new PercentageOrPixel(0),
                        OuterRadius = new PercentageOrPixel(109, true)
                    },
                    new BackgroundObject
                    {
                        BackgroundColor = new BackColorOrGradient(new Gradient
                        {
                            LinearGradient = new[] { 0, 0, 0, 1 },
                            Stops          = new object[, ] {
                                { 0, "#333" }, { 1, "#FFF" }
                            }
                        }),
                        BorderWidth = new PercentageOrPixel(1),
                        OuterRadius = new PercentageOrPixel(107, true)
                    },
                    new BackgroundObject(),
                    new BackgroundObject
                    {
                        BackgroundColor = new BackColorOrGradient(ColorTranslator.FromHtml("#DDD")),
                        BorderWidth     = new PercentageOrPixel(0),
                        OuterRadius     = new PercentageOrPixel(105, true),
                        InnerRadius     = new PercentageOrPixel(103, true)
                    }
                }
            })
                               .SetYAxis(new YAxis
            {
                Min = 0,
                Max = gauge.ObjectiveValue,

                //MinorTickInterval = "auto",
                MinorTickWidth    = 1,
                MinorTickLength   = 10,
                MinorTickPosition = TickPositions.Inside,
                MinorTickColor    = ColorTranslator.FromHtml("#666"),
                TickPixelInterval = 30,
                TickWidth         = 2,
                TickPosition      = TickPositions.Inside,
                TickLength        = 10,
                TickColor         = ColorTranslator.FromHtml("#666"),
                Labels            = new YAxisLabels
                {
                    Step = 2,
                    //Rotation = "auto"
                },
                Title = new YAxisTitle {
                    Text = "Creditos"
                },
                PlotBands = new[]
                {
                    new YAxisPlotBands {
                        From = 0, To = gauge.Range, Color = ColorTranslator.FromHtml("#DF5353")
                    },
                    new YAxisPlotBands {
                        From = gauge.Range, To = gauge.Range * 2, Color = ColorTranslator.FromHtml("#DDDF0D")
                    },
                    new YAxisPlotBands {
                        From = gauge.Range * 2, To = gauge.Range * 3, Color = ColorTranslator.FromHtml("#55BF3B")
                    }
                }
            })
                               .SetSeries(new Series
            {
                Name = gauge.Descripcion,
                Data = new Data(new object[] { gauge.RealValue })
            });
            #endregion

            return(chart);
        }