private void SetYFormater(EGraphRenderType inGraphType)
        {
            string val = "";

            if (inGraphType == EGraphRenderType.Temperature)
            {
                val        = "°C";
                YFormatter = value => value + "°C";
            }
            else if (inGraphType == EGraphRenderType.AirPressure)
            {
                val        = "mbar";
                YFormatter = value => value + "mbar";
            }
            else if (inGraphType == EGraphRenderType.Humidity)
            {
                val        = "%";
                YFormatter = value => value + "%";
            }
            else if (inGraphType == EGraphRenderType.WindSpeed)
            {
                val        = "km/h";
                YFormatter = value => value + "km/h";
            }
            cartesianCart_Graphic.AxisY.First().LabelFormatter = new Func <double, string>(value => value + val);
            //YFormatter = value => value + val;
        }
        // Work with Graphic functions
        #region Refresh Graphic
        private void RefreshGraphic(EGraphRenderType inGraphType, int inGraphicRenderDays, int inGraphHoursFrequency)
        {
            if (SeriesCollection == null)
            {
                SeriesCollection = new SeriesCollection();
            }
            SeriesCollection.Clear();
            SetYFormater(inGraphType);

            Labels = GetGraphLabels(inGraphicRenderDays, inGraphHoursFrequency).ToArray();

            if (CheckedCitiesList != null && CheckedCitiesList.Count > 0)
            {
                foreach (var city in CheckedCitiesList)
                {
                    if (city.IsRenderedOnGraph)
                    {
                        LineSeries tmpCurentCityLineSeries = new LineSeries()
                        {
                            Title  = city.Name,
                            Values = GetGraphicCityValuesByGraphRenderType(city, inGraphType, inGraphicRenderDays, inGraphHoursFrequency),
                        };
                        SeriesCollection.Add(tmpCurentCityLineSeries);
                    }
                }
            }
        }
        private ChartValues <double> GetGraphicCityValuesByGraphRenderType(CityModel inCity, EGraphRenderType inGraphType, int inGraphicRenderDays, int inGraphicHoursFrequency, bool inDailyMaxTemps = true)
        {
            ChartValues <double> toRetValues = new ChartValues <double>();
            List <double>        tmpValues   = new List <double>();

            if (inCity != null && inCity.CityWeather != null)
            {
                if (inGraphType == EGraphRenderType.Temperature)
                {
                    //foreach (var hour in inCity.CityWeather.Hourly)
                    //{
                    //    tmpValues.Add(hour.Temp);
                    //}
                    if (inGraphicRenderDays < 3)
                    {
                        for (int i = 0; i < inCity.CityWeather.Hourly.Count; i = i + inGraphicHoursFrequency)
                        {
                            tmpValues.Add(inCity.CityWeather.Hourly[i].Temp);
                        }
                        tmpValues.Add(inCity.CityWeather.Hourly.Last().Temp);
                    }
                    else
                    {
                        for (int i = 0; i < inGraphicRenderDays; i++)
                        {
                            tmpValues.Add(inCity.CityWeather.Daily[i].Temp.Max);
                        }
                    }
                }
                else if (inGraphType == EGraphRenderType.AirPressure)
                {
                    if (inGraphicRenderDays < 3)
                    {
                        for (int i = 0; i < inCity.CityWeather.Hourly.Count; i = i + inGraphicHoursFrequency)
                        {
                            tmpValues.Add(inCity.CityWeather.Hourly[i].Pressure);
                        }
                        tmpValues.Add(inCity.CityWeather.Hourly.Last().Pressure);
                    }
                    else
                    {
                        for (int i = 0; i < inGraphicRenderDays; i++)
                        {
                            tmpValues.Add(inCity.CityWeather.Daily[i].Pressure);
                        }
                    }
                }
                else if (inGraphType == EGraphRenderType.Humidity)
                {
                    if (inGraphicRenderDays < 3)
                    {
                        for (int i = 0; i < inCity.CityWeather.Hourly.Count; i = i + inGraphicHoursFrequency)
                        {
                            tmpValues.Add(inCity.CityWeather.Hourly[i].Humidity);
                        }
                        tmpValues.Add(inCity.CityWeather.Hourly.Last().Humidity);
                    }
                    else
                    {
                        for (int i = 0; i < inGraphicRenderDays; i++)
                        {
                            tmpValues.Add(inCity.CityWeather.Daily[i].Humidity);
                        }
                    }
                }
                else if (inGraphType == EGraphRenderType.WindSpeed)
                {
                    if (inGraphicRenderDays < 3)
                    {
                        for (int i = 0; i < inCity.CityWeather.Hourly.Count; i = i + inGraphicHoursFrequency)
                        {
                            tmpValues.Add(inCity.CityWeather.Hourly[i].Wind_Speed);
                        }
                        tmpValues.Add(inCity.CityWeather.Hourly.Last().Wind_Speed);
                    }
                    else
                    {
                        for (int i = 0; i < inGraphicRenderDays; i++)
                        {
                            tmpValues.Add(inCity.CityWeather.Daily[i].Wind_Speed);
                        }
                    }
                }
            }
            toRetValues.AddRange(tmpValues);
            return(toRetValues);
        }