예제 #1
0
        protected override void GetGraphCategoriesAndDatasets()
        {
            var datasets = new List <FusionChartsDataset>();
            var data     = new FusionChartsDataset {
                Name = YAxisLabel
            };
            var categories = new List <string>();

            foreach (var kilometer in ReportObjectsList)
            {
                categories.Add(kilometer.Interno);
                data.addValue(kilometer.Kilometers.ToString(CultureInfo.InvariantCulture));
            }

            datasets.Add(data);
            GraphCategories = categories;
            GraphDataSet    = datasets;
        }
예제 #2
0
        protected override void GetGraphCategoriesAndDatasets()
        {
            var dataset = new FusionChartsDataset {
                Name = ddlMovil.SelectedItem.Text
            };
            var categories = new List <string>();

            foreach (var t in ReportObjectsList)
            {
                categories.Add(String.Format("{0:dd/MM}", t.Fecha));
                dataset.addValue(t.Kilometers.ToString(CultureInfo.InvariantCulture));
            }

            GraphCategories = categories;
            GraphDataSet    = new List <FusionChartsDataset> {
                dataset
            };
        }
예제 #3
0
        protected override void GetGraphCategoriesAndDatasets()
        {
            var dataset = new FusionChartsDataset {
                Name = YAxisLabel
            };
            var categories = new List <string>();

            foreach (var t in ReportObjectsList)
            {
                categories.Add(t.Date.ToString("dd/MM"));
                dataset.addValue(t.Date.ToString("dd/MM"));
            }

            GraphCategories = categories;
            GraphDataSet    = new List <FusionChartsDataset> {
                dataset
            };
        }
예제 #4
0
        protected override void GetGraphCategoriesAndDatasets()
        {
            var dataset = new FusionChartsDataset {
                Name = ddlEmpleado.SelectedItem.Text
            };
            var categories = new List <string>();

            foreach (var t in ReportObjectsList)
            {
                categories.Add(String.Format("{0:dd/MM}", t.Fecha));
                dataset.addValue(t.ElapsedTime.ToString());
            }

            GraphCategories = categories;
            GraphDataSet    = new List <FusionChartsDataset> {
                dataset
            };
        }
예제 #5
0
        protected override void GetGraphCategoriesAndDatasets()
        {
            var dataset = new FusionChartsDataset {
                Name = YAxisLabel
            };
            var categories = new List <string>();

            foreach (var pair in _meses)
            {
                categories.Add(pair.Key);
                dataset.addValue(pair.Value.ToString());
            }

            GraphCategories = categories;
            GraphDataSet    = new List <FusionChartsDataset> {
                dataset
            };
        }
예제 #6
0
        /// <summary>
        /// Gets the graph XML file.
        /// </summary>
        /// <returns></returns>
        protected override string GetGraphXml()
        {
            var datasets = new List <FusionChartsDataset>();

            using (var helper = new FusionChartsMultiSeriesHelper())
            {
                SetGraphProperties(helper);
                var flag = true;

                var colores = new ColorGenerator();

                foreach (var m in _horas.Keys)
                {
                    var horas       = new FusionChartsDataset();
                    var descripcion = DAOFactory.CaudalimetroDAO.FindById(m).Descripcion;
                    horas.SetPropertyValue("seriesName", descripcion);
                    horas.SetPropertyValue("color", HexColorUtil.ColorToHex(colores.GetNextColor()));
                    var list = _horas[m];

                    if (list.Count.Equals(0))
                    {
                        continue;
                    }

                    foreach (var h in list)
                    {
                        if (flag)
                        {
                            helper.AddCategory(h.Fecha.ToShortDateString());
                        }
                        horas.addValue(h.HsEnMarcha.ToString(CultureInfo.InvariantCulture));
                    }
                    flag = false;
                    helper.AddDataSet(horas);
                    datasets.Add(horas);
                }
                var categories = new List <string>();
                categories.AddRange(helper.GetCategoriesList());
                GraphCategories = categories;
                GraphDataSet    = datasets;
                return(helper.BuildXml());
            }
        }
예제 #7
0
        protected override void GetGraphCategoriesAndDatasets()
        {
            var datasets   = new List <FusionChartsDataset>();
            var categories = new List <string>();

            var iniDate  = SecurityExtensions.ToDataBaseDateTime(dtpDate.SelectedDate.GetValueOrDefault());
            var finDate  = SecurityExtensions.ToDataBaseDateTime(dtpDate.SelectedDate.GetValueOrDefault()).AddHours(23).AddMinutes(59).AddSeconds(59);
            var colorGen = new ColorGenerator();

            var noCategoriesAdded = true;

            if (lbBase.GetSelectedIndices().Length == 0)
            {
                lbBase.ToogleItems();
            }

            foreach (var index in lbBase.GetSelectedIndices())
            {
                var data = ReportFactory.IdleTimesDAO.GetAllMovilesStoppedInPlanta(Convert.ToInt32((string)lbBase.Items[index].Value),
                                                                                   iniDate, finDate, chkUndefined.Checked);

                var dataset = new FusionChartsDataset {
                    Name = lbBase.Items[index].Text
                };
                dataset.SetPropertyValue("color", HexColorUtil.ColorToHex(colorGen.GetNextColor()));

                foreach (var item in data)
                {
                    if (noCategoriesAdded)
                    {
                        categories.Add(item.Date.ToShortTimeString());
                    }
                    dataset.addValue(item.TotalVehicles.ToString(CultureInfo.InvariantCulture));
                }

                datasets.Add(dataset);
                noCategoriesAdded = false;
            }

            GraphCategories = categories;
            GraphDataSet    = datasets;
        }
예제 #8
0
        /// <summary>
        /// Adds tank level variation.
        /// </summary>
        /// <param name="helper"></param>
        private void AddTankLevelVariation(FusionChartsMultiSeriesHelper helper)
        {
            var niveles = new FusionChartsDataset();

            var labelInterval = (ReportObjectsList.Count / _MAX_LABELS) + 1;
            var i             = labelInterval;

            int resto;

            Math.DivRem(Convert.ToInt32(npIntervalo.Value), 1440, out resto);
            var printOnlyDate = resto.Equals(0);

            niveles.SetPropertyValue("seriesName", ddlTanque.SelectedItem.Text);
            niveles.SetPropertyValue("color", HexColorUtil.ColorToHex(Color.SteelBlue));

            if (ReportObjectsList.Any(o => o.VolumenConsumido > 0.01))
            {
                foreach (var nivel in ReportObjectsList)
                {
                    var str = string.Empty;

                    if (i.Equals(labelInterval))
                    {
                        str = printOnlyDate ? String.Format("{0}", nivel.Fecha.ToShortDateString()) :
                              String.Format("{0} - {1}", nivel.Fecha.ToShortDateString(), nivel.Fecha.ToShortTimeString());

                        i = 0;
                    }

                    i++;

                    helper.AddCategory(str);

                    niveles.addValue(nivel.VolumenConsumido.ToString(CultureInfo.InvariantCulture));
                }
            }
            helper.AddDataSet(niveles);
        }
예제 #9
0
        protected override void GetGraphCategoriesAndDatasets()
        {
            var avgConsumption = (from nivel in ReportObjectsList select nivel.Consumo).Average();
            var consumos       = new FusionChartsDataset
            {
                Name = string.Format("{0}: {1}lit", CultureManager.GetLabel("CONSUMO"), (int)avgConsumption)
            };

            var avgCaudal = (from nivel in ReportObjectsList select nivel.Caudal).Average();
            var caudal    = new FusionChartsDataset
            {
                Name = string.Format("{0}: {1}lit", CultureManager.GetLabel("CAUDAL"), (int)avgCaudal)
            };

            int resto;

            Math.DivRem(Convert.ToInt32(npIntervalo.Value), 1440, out resto);
            var printOnlyDate = resto.Equals(0);

            var categories = ReportObjectsList.Select(nivel => printOnlyDate
                                                                   ? String.Format("{0}", nivel.Fecha.ToShortDateString())
                                                                   : String.Format("{0} - {1}", nivel.Fecha.ToShortDateString(), nivel.Fecha.ToShortTimeString())).ToList();

            foreach (var nivel in ReportObjectsList)
            {
                caudal.addValue(nivel.Caudal.ToString(CultureInfo.InvariantCulture));
            }
            foreach (var dia in ReportObjectsList)
            {
                consumos.addValue(dia.Consumo.ToString(CultureInfo.InvariantCulture));
            }

            GraphCategories = categories;
            GraphDataSet    = new List <FusionChartsDataset> {
                caudal, consumos
            };
        }
예제 #10
0
        protected void CreateGraphic(List <Pedido> list)
        {
            try
            {
                using (var helper = new FusionChartsMultiSeriesHelper())
                {
                    var carga = GetCarga(null);
                    var bocas = cbBocaDeCarga.Selected > 0
                        ? new List <BocaDeCarga> {
                        DAOFactory.BocaDeCargaDAO.FindById(cbBocaDeCarga.Selected)
                    }
                        : DAOFactory.BocaDeCargaDAO.GetList(new[] { cbEmpresa.Selected }, new[] { cbLinea.Selected });

                    var inicio      = bocas.Min(boca => GetInicioActividad(boca));
                    var fin         = bocas.Max(boca => GetFinActividad(boca));
                    var rendimiento = bocas.Sum(boca => boca.Rendimiento);

                    var    tiempoPromedio = Convert.ToInt32(_tiempoCiclos.Sum() / CantidadTotal);
                    var    prev           = 0;
                    double maxValue       = rendimiento;
                    var    maxMixers      = CantidadMixers;

                    #region DataSet Rendimiento (Trendline)
                    var dataSetTrendLineRendimiento = new FusionChartsDataset();
                    dataSetTrendLineRendimiento.SetPropertyValue("seriesName", CultureManager.GetLabel("RENDIMIENTO"));
                    dataSetTrendLineRendimiento.SetPropertyValue("color", "c30000");
                    dataSetTrendLineRendimiento.SetPropertyValue("parentYAxis", "S");
                    dataSetTrendLineRendimiento.SetPropertyValue("showAnchors", "0");
                    dataSetTrendLineRendimiento.SetPropertyValue("alpha", "60");
                    dataSetTrendLineRendimiento.SetPropertyValue("lineThickness", "2");
                    helper.AddDataSet(dataSetTrendLineRendimiento);
                    #endregion

                    #region DataSet Volumen por Hora (Barras)
                    var dataSetVolumen = new FusionChartsDataset();
                    dataSetVolumen.SetPropertyValue("seriesName", CultureManager.GetLabel("PROGRAMACION_VOLUMEN_HORA"));
                    dataSetVolumen.SetPropertyValue("color", "6868c3");
                    dataSetVolumen.SetPropertyValue("parentYAxis", "P");
                    helper.AddDataSet(dataSetVolumen);
                    #endregion

                    #region DataSet Mixers Disponibles (Trendline)
                    var dataSetTrendLineMixers = new FusionChartsDataset();
                    dataSetTrendLineMixers.SetPropertyValue("seriesName", CultureManager.GetLabel("AVAILABLE_VEHICLES"));
                    dataSetTrendLineMixers.SetPropertyValue("color", "c39600");
                    dataSetTrendLineMixers.SetPropertyValue("parentYAxis", "S");
                    dataSetTrendLineMixers.SetPropertyValue("showAnchors", "0");
                    dataSetTrendLineMixers.SetPropertyValue("alpha", "60");
                    dataSetTrendLineMixers.SetPropertyValue("lineThickness", "2");
                    helper.AddDataSet(dataSetTrendLineMixers);
                    #endregion

                    #region DataSet Mixers Equivalentes (Linea)
                    var dataSetMixers = new FusionChartsDataset();
                    dataSetMixers.SetPropertyValue("seriesName", CultureManager.GetLabel("PROGRAMACION_MIXERS_EQUIVALENTES"));
                    dataSetMixers.SetPropertyValue("color", "009900");
                    dataSetMixers.SetPropertyValue("parentYAxis", "S");
                    dataSetMixers.SetPropertyValue("anchorSides", "10");
                    dataSetMixers.SetPropertyValue("anchorRadius", "3");
                    dataSetMixers.SetPropertyValue("anchorBorderColor", "009900");
                    helper.AddDataSet(dataSetMixers);
                    #endregion

                    #region Llenado de Categorias y Valores
                    for (var i = inicio; i <= fin; i = i.Add(TimeSpan.FromHours(1)))
                    {
                        var hora = Convert.ToInt32(i.Hours);
                        var val  = _volumenPorHora.ContainsKey(hora) ? _volumenPorHora[hora] : 0;
                        var mix  = (int)Math.Ceiling(1.0 * val / carga);
                        var equi = (int)Math.Round((prev + mix) * tiempoPromedio / TiempoReferencia);


                        helper.AddCategory(FormatTimeSpan(i));
                        dataSetVolumen.addValue(val.ToString().Replace(',', '.'));
                        dataSetMixers.addValue(equi.ToString());

                        if (val > maxValue)
                        {
                            maxValue = val;
                        }
                        if (equi > maxMixers)
                        {
                            maxMixers = equi;
                        }

                        prev = mix;
                    }
                    #endregion

                    #region Calculo proporcional de maximos y trendlines
                    maxMixers++;
                    maxValue++;
                    int divlines;
                    if (maxValue > maxMixers)
                    {
                        while (Math.Round(maxValue) % maxMixers != 0)
                        {
                            maxValue++;
                        }
                        divlines = Convert.ToInt32(maxValue / maxMixers);
                    }
                    else
                    {
                        while (maxMixers % Math.Round(maxValue) != 0)
                        {
                            maxMixers++;
                        }
                        divlines = Convert.ToInt32(maxMixers / maxValue);
                    }

                    var rend = rendimiento * maxMixers * 1.0 / maxValue;

                    for (var i = inicio; i <= fin; i = i.Add(TimeSpan.FromHours(1)))
                    {
                        dataSetTrendLineRendimiento.addValue(rend.ToString(CultureInfo.InvariantCulture));
                        dataSetTrendLineMixers.addValue(CantidadMixers.ToString());
                    }
                    #endregion

                    #region Valores de Cabecera
                    helper.AddConfigEntry("caption", "");
                    helper.AddConfigEntry("xAxisName", CultureManager.GetLabel("HORA"));
                    helper.AddConfigEntry("PyAxisName", CultureManager.GetLabel("VOLUMEN"));
                    helper.AddConfigEntry("SyAxisName", CultureManager.GetLabel("VEHICULOS"));
                    helper.AddConfigEntry("decimalPrecision", "0");
                    helper.AddConfigEntry("showValues", "0");
                    helper.AddConfigEntry("numberSuffix", "");
                    helper.AddConfigEntry("rotateNames", "1");
                    helper.AddConfigEntry("limitsDecimalPrecision", "0");
                    helper.AddConfigEntry("hoverCapSepChar", "-");
                    helper.AddConfigEntry("divLineAlpha", "60");
                    helper.AddConfigEntry("showAlternateHGridColor", "1");
                    helper.AddConfigEntry("alternateHGridColor", "d8d8d8");
                    helper.AddConfigEntry("alternateHGridAlpha", "60");
                    helper.AddConfigEntry("zeroPlaneThickness", "20");

                    helper.AddConfigEntry("numDivLines", (divlines - 1).ToString());
                    helper.AddConfigEntry("SyAxisMaxValue", maxMixers.ToString());
                    helper.AddConfigEntry("PyAxisMaxValue", Math.Round(maxValue).ToString());
                    #endregion


                    litGraph.Text = FusionCharts.RenderChartHTML("../FusionCharts/FCF_MSColumn2DLineDY.swf", "", helper.BuildXml(), "Report", (sizeField.Width).ToString(), (sizeField.Heigth).ToString(), false);
                }
            }
            catch (Exception ex) { ShowError(ex); }
        }