Exemple #1
0
        private string _GetResultForA4()
        {
            string result = "<h2>Число разработчиков в кластере</h2><table border=\"1\"><tr><th>Кластер</th>";

            foreach (var key in _results.Select(d => d.Key).Distinct().OrderBy(d => d).Skip(1))
            {
                result += $"<th>{key.ToString("MMMM yyyy")}</th>";
            }
            result += "</tr>";

            var scale = FuzzyScaleRepository.ForA4();

            foreach (var pair in _temporaryResults)
            {
                result += $"<tr><td>{Helpers.ClasterHelper.GetFullName(pair.Key)}</td>";
                foreach (var item in pair.Value.OrderBy(d => d.Month).Skip(1).Select((value, index) => new { index, value }))
                {
                    var beforeItem = pair.Value[item.index];

                    var value    = item.value.A4_Value - beforeItem.A4_Value;
                    var absValue = Math.Abs(value);

                    var stringValue = string.Empty;

                    var scaleValue = scale.GetAccessory((decimal)value);

                    if (scaleValue.Name == "P43")
                    {
                        stringValue = "стабильность";
                    }
                    else if (scaleValue.Name == "P45")
                    {
                        stringValue = "сильный рост";
                    }
                    else if (scaleValue.Name == "P41")
                    {
                        stringValue = "сильное падение";
                    }
                    else if (scaleValue.Name == "P44")
                    {
                        stringValue = "слабый рост";
                    }
                    else if (scaleValue.Name == "P42")
                    {
                        stringValue = "слабое падение";
                    }
                    else
                    {
                        throw new ArgumentException();
                    }

                    //int cValueCount = 0;
                    //for (int i = 0; i < item.value.A4_Values.Count(); i++)
                    //{
                    //    var cValue = item.value.A4_Values[i] - beforeItem.A4_Values[i];
                    //    var csacleValue = scale.GetAccessory((decimal)cValue);
                    //    if (scaleValue.Name == csacleValue.Name)
                    //        cValueCount++;
                    //}
                    //var tendation = "распределено равномерно";
                    //if (1.0 * cValueCount / item.value.A4_Values.Count() > 0.6)
                    //    tendation = "типичная тенденция";

                    result += $"<td>{stringValue}<br/><small>(с.и.: {scaleValue.Value:0.00})</small></td>";
                }
                result += "</tr>";
            }

            result += "</table>";
            return(result);
        }
Exemple #2
0
        private void graphA4Panel_Paint(object sender, PaintEventArgs e)
        {
            var scale = FuzzyScaleRepository.ForA4();

            DrawGraph(scale, e.Graphics);
        }