Ejemplo n.º 1
0
        private string _GetResultForA5()
        {
            var result      = "<ul>";
            var clastResult = _result.GetResult();

            var scale = FuzzyScaleRepository.ForA5();

            var rooms = clastResult.Select(i => i.Key.RoomNumber).Distinct().OrderBy(i => i).ToList();

            foreach (var room in rooms)
            {
                var roomResults = clastResult.Where(i => i.Key.RoomNumber == room);
                var jCount      = roomResults.Count(i => i.Value.Claster == 'J');
                var mCount      = roomResults.Count(i => i.Value.Claster == 'M');
                var sCount      = roomResults.Count(i => i.Value.Claster == 'S');
                var smCount     = mCount != 0 ? (double)sCount / mCount : 0.0;
                var sjCount     = jCount != 0 ? (double)sCount / jCount : 0.0;
                var mjCount     = jCount != 0 ? (double)mCount / jCount : 0.0;

                var roomValue       = smCount + sjCount + mjCount;
                var roomValueResult = "";

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

                if (scaleValue.Name == "P54")
                {
                    roomValueResult = "крайне комфортная";
                }
                else if (scaleValue.Name == "P53")
                {
                    roomValueResult = "комфортная";
                }
                else if (scaleValue.Name == "P52")
                {
                    roomValueResult = "не комфортная";
                }
                else if (scaleValue.Name == "P51")
                {
                    roomValueResult = "крайне не комфортная";
                }
                else
                {
                    throw new ArgumentException();
                }

                result += $"<li><strong>Комната {room}</strong>. Заполненность кабинета: {roomValueResult} (степень истинности: {scaleValue.Value:0.00}).</li>";
            }

            result += "</ul>";
            return(result);
        }
Ejemplo n.º 2
0
        private void graphA5Panel_Paint(object sender, PaintEventArgs e)
        {
            var scale = FuzzyScaleRepository.ForA5();

            DrawGraph(scale, e.Graphics);
        }