Ejemplo n.º 1
0
        private static void MinuteSecondSort(
            GraphData data,
            GraphConfiguration configuration,
            ValGroup sortGroup,
            string name,
            Series series
            )
        {
            int    i     = 0;
            int    point = 0;
            double?value = null;

            for (DateTime date = data.FromDate; date <= data.ToDate; date = sortGroup == ValGroup.Minute ? date.AddMinutes(1) : date.AddSeconds(1))
            {
                value = data.GetValueForNameAndDate(name, date, data.Configuration.ItemsConfiguration.Unit, sortGroup);

                if (value != null && value >= 1.0d)
                {
                    point = series.Points.AddXY(i, value.Value);

                    series.Points[point].AxisLabel = date.ToString("HH:mm" + (sortGroup == ValGroup.Minute ? "" : ":ss") + " dd.MM.yy");
                }
                else if (value != null && value < 1.0d)
                {
                }
                else if (configuration.GraphType.Value == GraphTypeEnum.NameDateStackedColumn)
                {
                    point = series.Points.AddXY(i, 0.0d);

                    series.Points[point].AxisLabel = date.ToString("HH:mm" + (sortGroup == ValGroup.Minute ? "" : ":ss") + " dd.MM.yy");
                }

                i++;
            }
        }
Ejemplo n.º 2
0
        private static void MonthWeekDaySort(
            GraphData data,
            GraphConfiguration configuration,
            string name,
            Series series,
            ValGroup sort
            )
        {
            int    i     = 0;
            int    point = 0;
            double?value = null;

            for (DateTime date = data.FromDate.Date; date <= data.ToDate.Date; date = date.Date.AddDays(1))
            {
                DateTime labelDate = date;

                if (sort == ValGroup.Week)
                {
                    labelDate = labelDate.PreviousMonday();
                }

                value = data.GetValueForNameAndDate(name, date, data.Configuration.ItemsConfiguration.Unit, sort);

                if (value != null && value >= 1.0d)
                {
                    point = 0;

                    switch (sort)
                    {
                    case ValGroup.Month:
                        point = series.Points.AddXY(i, value.Value);
                        series.Points[point].AxisLabel = date.Date.ToString("MM.yyyy");
                        break;

                    case ValGroup.Day:
                        point = series.Points.AddXY(date, value.Value);
                        series.Points[point].AxisLabel = date.Date.ToString("dd.MM.yyyy");
                        break;

                    case ValGroup.Week:
                        point = series.Points.AddXY(labelDate, value.Value);
                        series.Points[point].AxisLabel = labelDate.Date.ToString("dd.MM.yyyy");
                        break;
                    }
                }
                else if (value != null && value < 1.0d)
                {
                }
                else if (configuration.GraphType.Value == GraphTypeEnum.NameDateStackedColumn)
                {
                    switch (sort)
                    {
                    case ValGroup.Month:
                        int t = series.Points.AddXY(i, 0.0d);

                        series.Points[t].AxisLabel = date.Date.ToString("MM.yyyy");

                        while (date.AddDays(1).Day != 1)
                        {
                            date = date.AddDays(1);
                        }
                        break;

                    case ValGroup.Day: t           = series.Points.AddXY(date, 0.0d);
                        series.Points[t].AxisLabel = date.Date.ToString("dd.MM.yyyy");
                        break;

                    case ValGroup.Week:
                        if (date.DayOfWeek == DayOfWeek.Monday)
                        {
                            t = series.Points.AddXY(labelDate, 0.0d);
                            series.Points[t].AxisLabel = labelDate.Date.ToString("dd.MM.yyyy");
                        }
                        break;
                    }
                }

                i++;
            }
        }
Ejemplo n.º 3
0
		private static void MinuteSecondSort(
			GraphData          data,
			GraphConfiguration configuration,
			ValGroup           sortGroup,
			string             name,
			Series             series
		)
		{
			int     i     = 0;
			int     point = 0;
			double? value = null;

			for (DateTime date = data.FromDate; date <= data.ToDate; date = sortGroup == ValGroup.Minute ? date.AddMinutes(1) : date.AddSeconds(1))
			{
				value = data.GetValueForNameAndDate(name, date, data.Configuration.ItemsConfiguration.Unit, sortGroup);

				if (value != null && value >= 1.0d)
				{
					point = series.Points.AddXY(i, value.Value);

					series.Points[point].AxisLabel = date.ToString("HH:mm" + (sortGroup == ValGroup.Minute ? "" : ":ss") + " dd.MM.yy");
				}
				else if (value != null && value < 1.0d)
				{
				}
				else if (configuration.GraphType.Value == GraphTypeEnum.NameDateStackedColumn)
				{
					point = series.Points.AddXY(i, 0.0d);

					series.Points[point].AxisLabel = date.ToString("HH:mm" + (sortGroup == ValGroup.Minute ? "" : ":ss") + " dd.MM.yy");
				}

				i++;
			}
		}
Ejemplo n.º 4
0
		private static void MonthWeekDaySort(
			GraphData          data,
			GraphConfiguration configuration,
			string             name,
			Series             series,
			ValGroup           sort
		)
		{
			int     i     = 0;
			int     point = 0;
			double? value = null;

			for (DateTime date = data.FromDate.Date; date <= data.ToDate.Date; date = date.Date.AddDays(1))
			{
				DateTime labelDate = date;

				if (sort == ValGroup.Week)
				{
					labelDate = labelDate.PreviousMonday();
				}

				value = data.GetValueForNameAndDate(name, date, data.Configuration.ItemsConfiguration.Unit, sort);

				if (value != null && value >= 1.0d)
				{
					point = 0;

					switch (sort)
					{
						case ValGroup.Month:
							point = series.Points.AddXY(i, value.Value);
							series.Points[point].AxisLabel = date.Date.ToString("MM.yyyy");
							break;

						case ValGroup.Day:
							point = series.Points.AddXY(date, value.Value);
							series.Points[point].AxisLabel = date.Date.ToString("dd.MM.yyyy");
							break;

						case ValGroup.Week:
							point = series.Points.AddXY(labelDate, value.Value);
							series.Points[point].AxisLabel = labelDate.Date.ToString("dd.MM.yyyy");
							break;
					}
				}
				else if (value != null && value < 1.0d)
				{
				}
				else if (configuration.GraphType.Value == GraphTypeEnum.NameDateStackedColumn)
				{
					switch (sort)
					{
						case ValGroup.Month:
							int t = series.Points.AddXY(i, 0.0d);

							series.Points[t].AxisLabel = date.Date.ToString("MM.yyyy");

							while (date.AddDays(1).Day != 1)
							{
								date = date.AddDays(1);
							}
							break;

						case ValGroup.Day: t = series.Points.AddXY(date, 0.0d);
							series.Points[t].AxisLabel = date.Date.ToString("dd.MM.yyyy");
							break;

						case ValGroup.Week:
							if (date.DayOfWeek == DayOfWeek.Monday)
							{
								t = series.Points.AddXY(labelDate, 0.0d);
								series.Points[t].AxisLabel = labelDate.Date.ToString("dd.MM.yyyy");
							}
							break;
					}
				}

				i++;
			}
		}
Ejemplo n.º 5
0
        public double?GetValueForNameAndDate(string name, DateTime date, UnitEnum unit, ValGroup sort)
        {
            var dateDict     = this._internalDictionary[name];
            var IsDateInKeys = dateDict.ContainsKey(date);

            foreach (var item in dateDict)
            {
                if (sort == ValGroup.Day ||
                    sort == ValGroup.Month ||
                    sort == ValGroup.Week
                    )
                {
                    IsDateInKeys = item.Key.Date == date.Date;
                }

                if (IsDateInKeys)
                {
                    break;
                }
            }

            DateTime existDate = DateTime.MinValue;

            foreach (var i in dateDict.Keys)
            {
                existDate = i;

                switch (sort)
                {
                case ValGroup.Month:
                    if (existDate.Date.ToString("yyyy.MM") == date.Date.ToString("yyyy.MM"))
                    {
                        if (IsDateInKeys)
                        {
                            return(FormatNumericValue(unit, dateDict[existDate]));
                        }
                        else
                        {
                            return(-1.0);
                        }
                    }
                    break;

                case ValGroup.Day:
                    if (existDate.Date.ToString("yyyy.MM.dd") == date.Date.ToString("yyyy.MM.dd"))
                    {
                        if (IsDateInKeys)
                        {
                            return(FormatNumericValue(unit, dateDict[existDate]));
                        }
                    }
                    break;

                case ValGroup.Week:
                    if (CheckOfWeek(date, existDate))
                    {
                        if (IsDateInKeys)
                        {
                            return(FormatNumericValue(unit, dateDict[existDate]));
                        }
                        else
                        {
                            return(-1.0);
                        }
                    }
                    break;

                case ValGroup.Hour:
                    if (existDate.ToString("yyyy.MM.dd HH") == date.ToString("yyyy.MM.dd HH"))
                    {
                        return(FormatNumericValue(unit, dateDict[existDate]));
                    }
                    break;

                case ValGroup.Minute:
                    if (existDate.ToString("yyyy.MM.dd HH:mm") == date.ToString("yyyy.MM.dd HH:mm"))
                    {
                        return(FormatNumericValue(unit, dateDict[existDate]));
                    }
                    break;

                case ValGroup.Second:
                    if (existDate.ToString("yyyy.MM.dd HH:mm:ss") == date.ToString("yyyy.MM.dd HH:mm:ss"))
                    {
                        return(FormatNumericValue(unit, dateDict[existDate]));
                    }
                    break;
                }
            }

            return(null);
        }