Ejemplo n.º 1
0
        private Series CreateSerie(string wellPath, string wellMethod, ChartArea chartArea)
        {
            Well well = controller.GetWell(wellPath);
            Dictionary <string, List <decimal> > wellData = well.WellData();
            string         depthDataKey = wellData.First().Key;
            List <decimal> methodData   = wellData[wellMethod];
            Series         serie        = new Series(chartArea.Name);
            int            i            = 0;

            //создается набор данных для чарта где глубина по X - т.к. фильтрация делается только по Y
            foreach (decimal depthValue in wellData[depthDataKey])
            {
                decimal y = methodData[i]; decimal x = depthValue;
                serie.Points.AddXY(x, y);
                i += 1;
            }
            //фильтрация - fix! вынести в отдельный метод, значение передавать пока как параметр, в дальнейшем сделать для пользователя поле для ввода неактуального значения
            //еще далее добавить аналогичную фильтрацию для значений >x <x
            DataManipulator filter = new DataManipulator();

            filter.Filter(CompareMethod.EqualTo, well.NonActualValue, serie);
            Series serie1 = new Series(chartArea.Name);

            //меняются местами x и y для правильного отображения графиков
            foreach (var item in serie.Points)
            {
                double y = item.XValue;
                double x = item.YValues[0];
                serie1.Points.AddXY(x, y);
            }
            return(serie1);
        }