Example #1
0
        static public string K3(int idCompanyMiddleman)
        {
            List <InsuranceZoneOfRegistration> insuranceZoneOfReg = new List <InsuranceZoneOfRegistration>();
            List <bool>             isLegal            = new List <bool>();
            List <CarInsuranceType> insuranceTypeOfCar = new List <CarInsuranceType>();

            try
            {
                insuranceZoneOfReg = InsuranceZoneOfRegistrationDataManipulation.GetMulti();
                isLegal            = new List <bool> {
                    true, false
                };
                insuranceTypeOfCar = CarInsuranceTypeDataManipulation.GetMulti();
            }
            catch
            {
                responseToClient.responseType = ResponseType.Bad;
                responseToClient.responseText = "Виникла помилка при генерації умов.";
                return(js.Serialize(responseToClient));
            }

            foreach (var izor in insuranceZoneOfReg)
            {
                foreach (var il in isLegal)
                {
                    foreach (var itoc in insuranceTypeOfCar)
                    {
                        if (K3DataManipulation.IsConditionExist(izor.Id, il, itoc.Id, idCompanyMiddleman))
                        {
                            var newRowK3 = new K3()
                            {
                                IdInsuranceZoneOfReg = izor.Id,
                                IsLegalEntity        = il,
                                IdCarInsuranceType   = itoc.Id,
                                Value = 0,
                                IdCompanyMiddleman = idCompanyMiddleman,
                            };

                            try
                            {
                                K3DataManipulation.Insert(newRowK3);
                            }
                            catch
                            {
                                responseToClient.responseType = ResponseType.Bad;
                                responseToClient.responseText = $"Виникла помилка при генерації запису для умов: \"{izor.Name}\"; \"{il}\"; \"{itoc.Type}\".";
                                return(js.Serialize(responseToClient));
                            }
                        }
                    }
                }
            }

            responseToClient.responseType = ResponseType.Good;
            responseToClient.responseText = "Генерація даних пройшла успішно.";
            return(js.Serialize(responseToClient));
        }
Example #2
0
 private void trackK3_MouseUp(object sender, MouseEventArgs e)
 {
     if (K3 != trackK3.Value)
     {
         K3 = trackK3.Value;
         string str = K3.ToString();
         textK3.Text = str;
         koshiClient.uartWrite("#c" + str + "$");
     }
 }
Example #3
0
 private void trackK3_MouseUp(object sender, MouseEventArgs e)
 {
     if (K3 != trackK3.Value)
     {
         K3 = trackK3.Value;
         string str = K3.ToString();
         textK3.Text = str;
         gpduinoClient.send("#c" + str + "$");
     }
 }
Example #4
0
        public override void StartModelling(int variantCount, int runCount)
        {
            #region Задание начальных параметров моделирования
            //Задание начальных значений модельных переменных и объектов
            for (int i = 0; i < N; i++)
            {
                Shops[i].ProductAmountCurrent.Value      = VV;      // начальный объем товара в i-том магазине
                Shops[i].ProductDemandCurrent.Value      = 0;       // начальный объем спроса на товар в i-том магазине
                Shops[i].ProductUnrealizedCurrent.Value  = 0;       // начальный объем пролежанного товара в i-том магазине
                Shops[i].ProductUnmetDemandCurrent.Value = 0;       // начальный объем неудовлетворенного спроса на товар в i-том магазине
                Shops[i].HasSendRequest.Value            = 0;       // начальное состояние по наличию заявок
                Shops[i].RequestsTotalCountCurrent.Value = 0;       // начальное кол-во заявок
            }
            SVSTP.Value = 0;
            SVST.Value  = 0;

            // Cброс сборщиков статистики

            foreach (var collector in GetObjectsByType <StatCollector>())
            {
                collector.ResetCollector();
            }

            //Печать заголовка строки состояния модели
            TraceModelHeader();
            //Печать заголовка строки состояния модели
            var DayNumber = 0;

            //Планирование начальных событий
            // И вывод СБС
            var k1Event = new K1()
            {
                DayNumber = DayNumber
            };
            PlanEvent(k1Event, DayNumber);
            Tracer.PlanEventTrace(k1Event, DayNumber + 1);
            var k3Event = new K3 {
                NumberOfWeek = 0
            };
            PlanEvent(k3Event, 0);
            Tracer.PlanEventTrace(k3Event,
                                  1);
            Tracer.AnyTrace();
            Tracer.AnyTrace();
            TraceModel(DayNumber++);
            #endregion
        }
Example #5
0
            // алгоритм обработки события
            protected override void HandleEvent(ModelEventArgs args)
            {
                Random rnd = new Random();

                Model.KPA = rnd.Next(Model.ml, Model.mp);
                Model.KA += 1;
                Model.Tracer.EventTrace(this, "NB = " + ZB.NB + " KPA = " + Model.KPA);
                Model.SA = 1;
                int KolPassOut = rnd.Next(Model.VL, Model.VP);

                //           if (KolPassOut > ZB.KPA)
                //KolPassOut = ZB.KPA;

                Model.KOP = KolPassOut;
                // /* Model.KOP = */Model.KPA -= KolPassOut;

                // ВЫСАДКА ПАССАЖИРОВ
                double dt3 = 0;

                for (int i = 0; i <= KolPassOut; i++)
                {
                    dt3 += Model.GenPassOut.GenerateValue();
                }

                var ev3 = new K3();                                 // создание объекта события

                Model.PlanEvent(ev3, dt3);                          // планирование события 3
                Model.Tracer.PlanEventTrace(ev3);

                var ev2 = new K2();                                                 // создание объекта события
                Bus Z   = new Bus();

                Z.NB   = this.ZB.NB + 1;
                Z.KPA  = Model.KPA;
                ev2.ZB = Z;
                double dt2 = Model.T + Model.GenBusAppear.GenerateValue();

                Model.PlanEvent(ev2, dt2);                          // планирование события 3
                Model.Tracer.PlanEventTrace(ev2);
                Model.Tracer.AnyTrace("");
                Model.TraceModel();
                Model.Tracer.AnyTrace("");
            }
Example #6
0
        private void SerialComGyro_callback(char[] rxBuff)
        {
            string data = new string(rxBuff);

            if (data.Length < 1)
            {
                return;
            }

            switch (data[0])
            {
            // ログデータ
            case 'd':
                try
                {
                    int   t, y;
                    float theta, omega, x, v;
                    float y1, y2, y3, y4;
                    t = Convert.ToInt32(data.Substring(1, 4), 16);

                    theta = (float)Convert.ToInt16(data.Substring(5, 4), 16) / 100.0F;
                    omega = (float)Convert.ToInt16(data.Substring(9, 4), 16) / 100.0F;
                    x     = (float)Convert.ToInt16(data.Substring(13, 4), 16) / 100.0F;
                    v     = (float)Convert.ToInt16(data.Substring(17, 4), 16) / 100.0F;
                    y     = Convert.ToInt16(data.Substring(21, 4), 16);

                    y1 = K1 * theta;
                    y2 = K2 * omega;
                    y3 = K3 * x / 100;
                    y4 = K4 * v / 100;

                    this.BeginInvoke((Action)(() => {
                        textTheta.Text = theta.ToString("F1");
                        textOmega.Text = omega.ToString("F1");
                        textX.Text = x.ToString("F1");
                        textV.Text = v.ToString("F1");

                        textK1Theta.Text = y1.ToString("F1");
                        textK2Omega.Text = y2.ToString("F1");
                        textK3X.Text = y3.ToString("F1");
                        textK4V.Text = y4.ToString("F1");

                        textY.Text = y.ToString();

                        if (t < time)
                        {
                            chart1.Series[0].Points.Clear();
                            chart1.Series[1].Points.Clear();
                            chart2.Series[0].Points.Clear();
                            chart2.Series[1].Points.Clear();
                            chart3.Series[0].Points.Clear();
                            chart3.Series[1].Points.Clear();
                            chart3.Series[2].Points.Clear();
                            chart3.Series[3].Points.Clear();
                            chart3.Series[4].Points.Clear();
                        }
                        time = t;

                        if (time < 30000)
                        {
                            chart1.ChartAreas[0].AxisX.Minimum = 0;
                            chart1.ChartAreas[0].AxisX.Maximum = 30000;
                            chart2.ChartAreas[0].AxisX.Minimum = 0;
                            chart2.ChartAreas[0].AxisX.Maximum = 30000;
                            chart3.ChartAreas[0].AxisX.Minimum = 0;
                            chart3.ChartAreas[0].AxisX.Maximum = 30000;
                        }
                        else
                        {
                            chart1.ChartAreas[0].AxisX.Minimum = time - 30000;
                            chart1.ChartAreas[0].AxisX.Maximum = time;
                            chart2.ChartAreas[0].AxisX.Minimum = time - 30000;
                            chart2.ChartAreas[0].AxisX.Maximum = time;
                            chart3.ChartAreas[0].AxisX.Minimum = time - 30000;
                            chart3.ChartAreas[0].AxisX.Maximum = time;
                        }

                        double max;
                        max = Math.Abs(theta);
                        if (max > MAX_THETA)
                        {
                            chart1.ChartAreas[0].AxisY.Maximum = MAX_THETA * 2;
                            chart1.ChartAreas[0].AxisY.Minimum = -MAX_THETA * 2;
                            chart1.ChartAreas[0].AxisY.Interval = MAX_THETA;
                            time1 = time;
                        }
                        if (time > time1 + 30000)
                        {
                            chart1.ChartAreas[0].AxisY.Maximum = MAX_THETA;
                            chart1.ChartAreas[0].AxisY.Minimum = -MAX_THETA;
                            chart1.ChartAreas[0].AxisY.Interval = MAX_THETA / 2;
                        }

                        max = Math.Abs(omega);
                        if (max > MAX_OMEGA)
                        {
                            chart1.ChartAreas[0].AxisY2.Maximum = MAX_OMEGA * 2;
                            chart1.ChartAreas[0].AxisY2.Minimum = -MAX_OMEGA * 2;
                            chart1.ChartAreas[0].AxisY2.Interval = MAX_OMEGA;
                            time2 = time;
                        }
                        if (time > time2 + 30000)
                        {
                            chart1.ChartAreas[0].AxisY2.Maximum = MAX_OMEGA;
                            chart1.ChartAreas[0].AxisY2.Minimum = -MAX_OMEGA;
                            chart1.ChartAreas[0].AxisY2.Interval = MAX_OMEGA / 2;
                        }

                        max = Math.Abs(x);
                        if (max > MAX_X)
                        {
                            chart2.ChartAreas[0].AxisY.Maximum = MAX_X * 2;
                            chart2.ChartAreas[0].AxisY.Minimum = -MAX_X * 2;
                            chart2.ChartAreas[0].AxisY.Interval = MAX_X;
                            time3 = time;
                        }
                        if (time > time3 + 30000)
                        {
                            chart2.ChartAreas[0].AxisY.Maximum = MAX_X;
                            chart2.ChartAreas[0].AxisY.Minimum = -MAX_X;
                            chart2.ChartAreas[0].AxisY.Interval = MAX_X / 2;
                        }

                        max = Math.Abs(v);
                        if (max > MAX_V)
                        {
                            chart2.ChartAreas[0].AxisY2.Maximum = MAX_V * 2;
                            chart2.ChartAreas[0].AxisY2.Minimum = -MAX_V * 2;
                            chart2.ChartAreas[0].AxisY2.Interval = MAX_V;
                            time4 = time;
                        }
                        if (time > time4 + 30000)
                        {
                            chart2.ChartAreas[0].AxisY2.Maximum = MAX_V;
                            chart2.ChartAreas[0].AxisY2.Minimum = -MAX_V;
                            chart2.ChartAreas[0].AxisY2.Interval = MAX_V / 2;
                        }

                        chart1.Series[0].Points.AddXY(t, theta);
                        chart1.Series[1].Points.AddXY(t, omega);
                        chart2.Series[0].Points.AddXY(t, x);
                        chart2.Series[1].Points.AddXY(t, v);
                        chart3.Series[0].Points.AddXY(t, y1);
                        chart3.Series[1].Points.AddXY(t, y2);
                        chart3.Series[2].Points.AddXY(t, y3);
                        chart3.Series[3].Points.AddXY(t, y4);
                        chart3.Series[4].Points.AddXY(t, y);
                    }));


                    logCsv.write(
                        t.ToString() + "," +
                        theta.ToString("F2") + "," +
                        omega.ToString("F2") + "," +
                        x.ToString("F2") + "," +
                        v.ToString("F2") + "," +
                        y.ToString()
                        );
                }
                catch
                {
                }

                break;

            // 設定値読み出し応答
            case 'l':
                try
                {
                    K1  = Convert.ToInt32(data.Substring(1, 4), 16);
                    K2  = Convert.ToInt32(data.Substring(5, 4), 16);
                    K3  = Convert.ToInt32(data.Substring(9, 4), 16);
                    K4  = Convert.ToInt32(data.Substring(13, 4), 16);
                    Th0 = Convert.ToInt32(data.Substring(17, 4), 16);
                    int on = Convert.ToInt32(data.Substring(21, 2), 16);

                    this.BeginInvoke((Action)(() => {
                        try
                        {
                            trackK1.Value = K1;
                            textK1.Text = K1.ToString();
                            trackK2.Value = K2;
                            textK2.Text = K2.ToString();
                            trackK3.Value = K3;
                            textK3.Text = K3.ToString();
                            trackK4.Value = K4;
                            textK4.Text = K4.ToString();
                            trackTheta0.Value = Th0;
                            textTheta0.Text = ((float)Th0 / 10.0).ToString("F1");
                            if (on == 0x00)
                            {
                                buttonCtrl.Text = "制御ON";
                            }
                            else
                            {
                                buttonCtrl.Text = "制御OFF";
                            }
                        }
                        catch
                        {
                            MessageBox.Show("異常なパラメータがありました");
                        }
                    }));
                }
                catch
                {
                    MessageBox.Show("設定値の読み出しに失敗しました");
                }
                break;
            }
        }
Example #7
0
        public Form1()
        {
            InitializeComponent();

            rxState = STATE_READY;
            rxPtr   = 0;
            rxBuff  = new char[5000];

            koshiClient = new KoshiClient();
            koshiClientUI.setKoshiClient(koshiClient);
            koshiClient.onConnect      += onConnect;
            koshiClient.onDisconnect   += onDisconnect;
            koshiClient.onUpdateUartRx += onUpdateUartRx;

            K1              = trackK1.Value;
            textK1.Text     = K1.ToString();
            K2              = trackK2.Value;
            textK2.Text     = K2.ToString();
            K3              = trackK3.Value;
            textK3.Text     = K3.ToString();
            K4              = trackK4.Value;
            textK4.Text     = K4.ToString();
            Th0             = trackTheta0.Value;
            textTheta0.Text = ((float)Th0 / 10.0).ToString("F1");

            chart1.ChartAreas[0].Position.X               = 0;
            chart1.ChartAreas[0].Position.Y               = 0;
            chart1.ChartAreas[0].Position.Width           = 85;
            chart1.ChartAreas[0].Position.Height          = 100;
            chart1.ChartAreas[0].InnerPlotPosition.X      = 10;
            chart1.ChartAreas[0].InnerPlotPosition.Y      = 5;
            chart1.ChartAreas[0].InnerPlotPosition.Width  = 80;
            chart1.ChartAreas[0].InnerPlotPosition.Height = 80;
            chart1.Legends[0].Position.X      = 85;
            chart1.Legends[0].Position.Y      = 3;
            chart1.Legends[0].Position.Width  = 15;
            chart1.Legends[0].Position.Height = 50;

            chart2.ChartAreas[0].Position.X               = 0;
            chart2.ChartAreas[0].Position.Y               = 0;
            chart2.ChartAreas[0].Position.Width           = 85;
            chart2.ChartAreas[0].Position.Height          = 100;
            chart2.ChartAreas[0].InnerPlotPosition.X      = 10;
            chart2.ChartAreas[0].InnerPlotPosition.Y      = 5;
            chart2.ChartAreas[0].InnerPlotPosition.Width  = 80;
            chart2.ChartAreas[0].InnerPlotPosition.Height = 80;
            chart2.Legends[0].Position.X      = 85;
            chart2.Legends[0].Position.Y      = 3;
            chart2.Legends[0].Position.Width  = 15;
            chart2.Legends[0].Position.Height = 50;

            chart3.ChartAreas[0].Position.X               = 0;
            chart3.ChartAreas[0].Position.Y               = 0;
            chart3.ChartAreas[0].Position.Width           = 85;
            chart3.ChartAreas[0].Position.Height          = 100;
            chart3.ChartAreas[0].InnerPlotPosition.X      = 10;
            chart3.ChartAreas[0].InnerPlotPosition.Y      = 5;
            chart3.ChartAreas[0].InnerPlotPosition.Width  = 80;
            chart3.ChartAreas[0].InnerPlotPosition.Height = 80;
            chart3.Legends[0].Position.X      = 80;
            chart3.Legends[0].Position.Y      = 3;
            chart3.Legends[0].Position.Width  = 20;
            chart3.Legends[0].Position.Height = 50;

            chart1.Series.Clear();
            chart1.Series.Add("θ");
            chart1.Series.Add("ω");
            chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart1.Series[1].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart1.Series[0].YAxisType = AxisType.Primary;
            chart1.Series[1].YAxisType = AxisType.Secondary;

            chart2.Series.Clear();
            chart2.Series.Add("x");
            chart2.Series.Add("v");
            chart2.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart2.Series[1].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart2.Series[0].YAxisType = AxisType.Primary;
            chart2.Series[1].YAxisType = AxisType.Secondary;

            chart3.Series.Clear();
            chart3.Series.Add("K1・θ");
            chart3.Series.Add("K2・ω");
            chart3.Series.Add("K3・x");
            chart3.Series.Add("K4・v");
            chart3.Series.Add("y");
            chart3.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart3.Series[1].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart3.Series[2].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart3.Series[3].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart3.Series[4].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;

            chart1.ChartAreas[0].AxisY.Maximum            = MAX_THETA;
            chart1.ChartAreas[0].AxisY.Minimum            = -MAX_THETA;
            chart1.ChartAreas[0].AxisY.Interval           = MAX_THETA / 2;
            chart1.ChartAreas[0].AxisY.LabelStyle.Format  = "F2";
            chart1.ChartAreas[0].AxisY2.Maximum           = MAX_OMEGA;
            chart1.ChartAreas[0].AxisY2.Minimum           = -MAX_OMEGA;
            chart1.ChartAreas[0].AxisY2.Interval          = MAX_OMEGA / 2;
            chart1.ChartAreas[0].AxisY2.LabelStyle.Format = "F1";
            chart2.ChartAreas[0].AxisY.Maximum            = MAX_X;
            chart2.ChartAreas[0].AxisY.Minimum            = -MAX_X;
            chart2.ChartAreas[0].AxisY.Interval           = MAX_X / 2;
            chart2.ChartAreas[0].AxisY.LabelStyle.Format  = "F1";
            chart2.ChartAreas[0].AxisY2.Maximum           = MAX_V;
            chart2.ChartAreas[0].AxisY2.Minimum           = -MAX_V;
            chart2.ChartAreas[0].AxisY2.Interval          = MAX_V / 2;
            chart2.ChartAreas[0].AxisY2.LabelStyle.Format = "F1";
            chart3.ChartAreas[0].AxisY.Maximum            = 128;
            chart3.ChartAreas[0].AxisY.Minimum            = -128;
            chart3.ChartAreas[0].AxisY.Interval           = 32;

            logCsv = new LogCsv();
            logCsv.setHeader("t,theta,omega,x,v,y1,y2,y3,y4,y");

            sw    = System.Diagnostics.Stopwatch.StartNew();
            time  = 0;
            time1 = time2 = time3 = time4 = 0;
        }
Example #8
0
    // Use this for initialization
    void Start()
    {
        PlayerIcon.GetComponent <SpriteRenderer>().enabled = true;
        A1.GetComponent <SpriteRenderer>().enabled         = false;
        A2.GetComponent <SpriteRenderer>().enabled         = false;
        A3.GetComponent <SpriteRenderer>().enabled         = false;
        A4.GetComponent <SpriteRenderer>().enabled         = false;
        A5.GetComponent <SpriteRenderer>().enabled         = false;
        A6.GetComponent <SpriteRenderer>().enabled         = false;
        A7.GetComponent <SpriteRenderer>().enabled         = false;
        A8.GetComponent <SpriteRenderer>().enabled         = false;
        A9.GetComponent <SpriteRenderer>().enabled         = false;
        A10.GetComponent <SpriteRenderer>().enabled        = false;
        A11.GetComponent <SpriteRenderer>().enabled        = false;
        B1.GetComponent <SpriteRenderer>().enabled         = false;
        B2.GetComponent <SpriteRenderer>().enabled         = false;
        B3.GetComponent <SpriteRenderer>().enabled         = false;
        B4.GetComponent <SpriteRenderer>().enabled         = false;
        B5.GetComponent <SpriteRenderer>().enabled         = false;
        B6.GetComponent <SpriteRenderer>().enabled         = false;
        B7.GetComponent <SpriteRenderer>().enabled         = false;
        B8.GetComponent <SpriteRenderer>().enabled         = false;
        B9.GetComponent <SpriteRenderer>().enabled         = false;
        B10.GetComponent <SpriteRenderer>().enabled        = false;
        B11.GetComponent <SpriteRenderer>().enabled        = false;
        C1.GetComponent <SpriteRenderer>().enabled         = false;
        C2.GetComponent <SpriteRenderer>().enabled         = false;
        C3.GetComponent <SpriteRenderer>().enabled         = false;
        C4.GetComponent <SpriteRenderer>().enabled         = false;
        C5.GetComponent <SpriteRenderer>().enabled         = false;
        C6.GetComponent <SpriteRenderer>().enabled         = false;
        C7.GetComponent <SpriteRenderer>().enabled         = false;
        C8.GetComponent <SpriteRenderer>().enabled         = false;
        C9.GetComponent <SpriteRenderer>().enabled         = false;
        C10.GetComponent <SpriteRenderer>().enabled        = false;
        C11.GetComponent <SpriteRenderer>().enabled        = false;
        D1.GetComponent <SpriteRenderer>().enabled         = false;
        D2.GetComponent <SpriteRenderer>().enabled         = false;
        D3.GetComponent <SpriteRenderer>().enabled         = false;
        D4.GetComponent <SpriteRenderer>().enabled         = false;
        D5.GetComponent <SpriteRenderer>().enabled         = false;
        D6.GetComponent <SpriteRenderer>().enabled         = false;
        D7.GetComponent <SpriteRenderer>().enabled         = false;
        D8.GetComponent <SpriteRenderer>().enabled         = false;
        D9.GetComponent <SpriteRenderer>().enabled         = false;
        D10.GetComponent <SpriteRenderer>().enabled        = false;
        D11.GetComponent <SpriteRenderer>().enabled        = false;
        E1.GetComponent <SpriteRenderer>().enabled         = false;
        E2.GetComponent <SpriteRenderer>().enabled         = false;
        E3.GetComponent <SpriteRenderer>().enabled         = false;
        E4.GetComponent <SpriteRenderer>().enabled         = false;
        E5.GetComponent <SpriteRenderer>().enabled         = false;
        E6.GetComponent <SpriteRenderer>().enabled         = false;
        E7.GetComponent <SpriteRenderer>().enabled         = false;
        E8.GetComponent <SpriteRenderer>().enabled         = false;
        E9.GetComponent <SpriteRenderer>().enabled         = false;
        E10.GetComponent <SpriteRenderer>().enabled        = false;
        E11.GetComponent <SpriteRenderer>().enabled        = false;
        F1.GetComponent <SpriteRenderer>().enabled         = false;
        F2.GetComponent <SpriteRenderer>().enabled         = false;
        F3.GetComponent <SpriteRenderer>().enabled         = false;
        F4.GetComponent <SpriteRenderer>().enabled         = false;
        F5.GetComponent <SpriteRenderer>().enabled         = false;
        F6.GetComponent <SpriteRenderer>().enabled         = false;
        F7.GetComponent <SpriteRenderer>().enabled         = false;
        F8.GetComponent <SpriteRenderer>().enabled         = false;
        F9.GetComponent <SpriteRenderer>().enabled         = false;
        F10.GetComponent <SpriteRenderer>().enabled        = false;
        F11.GetComponent <SpriteRenderer>().enabled        = false;
        G1.GetComponent <SpriteRenderer>().enabled         = false;
        G2.GetComponent <SpriteRenderer>().enabled         = false;
        G3.GetComponent <SpriteRenderer>().enabled         = false;
        G4.GetComponent <SpriteRenderer>().enabled         = false;
        G5.GetComponent <SpriteRenderer>().enabled         = false;
        G6.GetComponent <SpriteRenderer>().enabled         = false;
        G7.GetComponent <SpriteRenderer>().enabled         = false;
        G8.GetComponent <SpriteRenderer>().enabled         = false;
        G9.GetComponent <SpriteRenderer>().enabled         = false;
        G10.GetComponent <SpriteRenderer>().enabled        = false;
        G11.GetComponent <SpriteRenderer>().enabled        = false;
        H1.GetComponent <SpriteRenderer>().enabled         = false;
        H2.GetComponent <SpriteRenderer>().enabled         = false;
        H3.GetComponent <SpriteRenderer>().enabled         = false;
        H4.GetComponent <SpriteRenderer>().enabled         = false;
        H5.GetComponent <SpriteRenderer>().enabled         = false;
        H6.GetComponent <SpriteRenderer>().enabled         = false;
        H7.GetComponent <SpriteRenderer>().enabled         = false;
        H8.GetComponent <SpriteRenderer>().enabled         = false;
        H9.GetComponent <SpriteRenderer>().enabled         = false;
        H10.GetComponent <SpriteRenderer>().enabled        = false;
        H11.GetComponent <SpriteRenderer>().enabled        = false;
        I1.GetComponent <SpriteRenderer>().enabled         = false;
        I2.GetComponent <SpriteRenderer>().enabled         = false;
        I3.GetComponent <SpriteRenderer>().enabled         = false;
        I4.GetComponent <SpriteRenderer>().enabled         = false;
        I5.GetComponent <SpriteRenderer>().enabled         = false;
        I6.GetComponent <SpriteRenderer>().enabled         = false;
        I7.GetComponent <SpriteRenderer>().enabled         = false;
        I8.GetComponent <SpriteRenderer>().enabled         = false;
        I9.GetComponent <SpriteRenderer>().enabled         = false;
        I10.GetComponent <SpriteRenderer>().enabled        = false;
        I11.GetComponent <SpriteRenderer>().enabled        = false;
        J1.GetComponent <SpriteRenderer>().enabled         = false;
        J2.GetComponent <SpriteRenderer>().enabled         = false;
        J3.GetComponent <SpriteRenderer>().enabled         = false;
        J4.GetComponent <SpriteRenderer>().enabled         = false;
        J5.GetComponent <SpriteRenderer>().enabled         = false;
        J6.GetComponent <SpriteRenderer>().enabled         = false;
        J7.GetComponent <SpriteRenderer>().enabled         = false;
        J8.GetComponent <SpriteRenderer>().enabled         = false;
        J9.GetComponent <SpriteRenderer>().enabled         = false;
        J10.GetComponent <SpriteRenderer>().enabled        = false;
        J11.GetComponent <SpriteRenderer>().enabled        = false;
        K1.GetComponent <SpriteRenderer>().enabled         = false;
        K2.GetComponent <SpriteRenderer>().enabled         = false;
        K3.GetComponent <SpriteRenderer>().enabled         = false;
        K4.GetComponent <SpriteRenderer>().enabled         = false;
        K5.GetComponent <SpriteRenderer>().enabled         = false;
        K6.GetComponent <SpriteRenderer>().enabled         = false;
        K7.GetComponent <SpriteRenderer>().enabled         = false;
        K8.GetComponent <SpriteRenderer>().enabled         = false;
        K9.GetComponent <SpriteRenderer>().enabled         = false;
        K10.GetComponent <SpriteRenderer>().enabled        = false;
        K11.GetComponent <SpriteRenderer>().enabled        = false;
        float ratio = Screen.width / Screen.height;

        if (ratio < 2)
        {
            int screenx = 543;
            int screeny = 653;
        }
        else
        {
            int screenx = 743;
            int screeny = 853;
        }
    }
Example #9
0
 static public void Insert(K3 newRecord)
 {
     db.K3.Add(newRecord);
     db.SaveChanges();
 }
Example #10
0
            // Алгоритм обработки события
            protected override void HandleEvent(ModelEventArgs args)
            {
                for (int i = 0; i < N; i++)
                {
                    if (i == 0)
                    {
                        Model.Shops[i].ProductDemandCurrent.Value = (int)Model.NormalGenerator_VDS1.GenerateValue();
                    }
                    if (i == 1)
                    {
                        Model.Shops[i].ProductDemandCurrent.Value = (int)Model.NormalGenerator_VDS2.GenerateValue();
                    }

                    // Если спрос превысил текущий объем товара в магазине
                    if (Model.Shops[i].ProductAmountCurrent.Value < Model.Shops[i].ProductDemandCurrent.Value)
                    {
                        // Неудовлетворенный спрос
                        Model.Shops[i].ProductUnmetDemandCurrent.Value = Math.Abs(Model.Shops[i].ProductDemandCurrent.Value - Model.Shops[i].ProductAmountCurrent.Value);
                    }
                    else
                    {
                        // Если спрос меньше текущего объема товара, то вычитаем из объема товара объем спроса
                        Model.Shops[i].ProductAmountCurrent.Value    -= Model.Shops[i].ProductDemandCurrent.Value;
                        Model.Shops[i].ProductUnrealizedCurrent.Value = Model.Shops[i].ProductAmountCurrent.Value;
                    }

                    if (Model.Shops[i].ProductAmountCurrent.Value < Model.TV && Model.Shops[i].HasSendRequest == 0)
                    {
                        double deltaTime = i == 0 ? Model.ZR_TV_ValueGenerator1.GenerateValue() : Model.ZR_TV_ValueGenerator2.GenerateValue();
                        var    k2Event   = new K2
                        {
                            ShopNumber  = i,
                            DayOfSupply = DayNumber
                        };
                        Model.Shops[i].HasSendRequest.Value = 1;
                        Model.Shops[i].RequestsTotalCountCurrent.Value++;
                        Model.Shops[i].RequestsTotalCountAll.Value++;
                        Model.PlanEvent(k2Event, DayNumber + deltaTime);

                        // Занесение в файл трассировки записи о запланированном событии
                        Model.Tracer.PlanEventTrace(k2Event,
                                                    DayNumber + deltaTime,
                                                    k2Event.ShopNumber);
                    }

                    Model.Shops[i].ProductDemandAll.Value      += Model.Shops[i].ProductDemandCurrent.Value;          // спроса на товар
                    Model.Shops[i].ProductUnmetDemandAll.Value += Model.Shops[i].ProductUnmetDemandCurrent.Value;     // неудовлетворенного спроса на товар
                    Model.Shops[i].ProductUnrealizedAll.Value  += Model.Shops[i].ProductUnrealizedCurrent.Value;      // пролежанного товара
                }

                //Планирование следующего события окончания рабочего дня; НО!!!!
                //если время кончилось, планируем событие 3
                Model.Day++;
                if (Model.Day <= M)
                {
                    var k1Event = new K1
                    {
                        DayNumber = Model.Day
                    };
                    Model.PlanEvent(k1Event,
                                    1);
                    Model.Tracer.PlanEventTrace(k1Event,
                                                k1Event.DayNumber,
                                                "VS[" + Model.Shops[0].ProductDemandCurrent.Value + "," + Model.Shops[1].ProductDemandCurrent.Value + "]");
                }
                if (Model.Day % 7 == 0) // == 1
                {
                    var k3Event = new K3 {
                        NumberOfWeek = Model.Day / 7
                    };
                    Model.PlanEvent(k3Event, 0);
                    // Занесение в файл трассировки записи о запланированном событии
                    Model.Tracer.PlanEventTrace(k3Event,
                                                Model.Day / 7,
                                                Model.SVSTP.Value,
                                                Model.SVST.Value);
                }
                Model.TraceModel(DayNumber);
            }
Example #11
0
        public static string GenerateInput2(int numberOfData)
        {
            int i, p;

            System.Text.StringBuilder data;
            string K1, K2, K3, K4, K5,
                   K6, K7, K8, K9, K10,
                   K11, K12, K13, K14, K15,
                   K16, K17, K18, K19, K20,
                   K21, K22, K23, K24, K25,
                   K26, K27, K28, K29, K30,
                   K31, K32, K33, K34, K35,
                   K36, K37, K38, K39, K40, K41;
            string answer = "No";

            System.Random rand = new System.Random();

            /*
             * Weights/NeuralNetwork/Excel
             */
            double[] w1 = new double[]
            {
                1.0, 1.0, 1.0, 1.0, 1.0,
                1.0, 1.0, 1.0, 1.0, 0.0,
                1.0, 0.0, 1.0, 0.0, 0.0,
                1.0, 1.0, 1.0, 1.0, 1.0,
                1.0, 1.0, 1.0, 1.0, 1.0,
                0.0, 1.0, 0.1, 1.0, 0.0,
                1.0, 0.0, 1.0, 1.0, 1.0,
                1.0, 1.0, 1.0, 1.0, 1.0,
            };
            double[] w2 = new double[40];

            string path = @"E:\General\Programming\C_Sharp\WPF\FirePredictionSystem\FirePredictionSystem\bin\Debug\Data\new_table_of_fires_2.xlsx";

            if (System.IO.File.Exists(path))
            {
                using (ExcelAPIClass exApi = new ExcelAPIClass(
                           path, "Лист1", "B3", "I100"))
                {
                    exApi.ShowCategoriesWithAttributes();
                    int[][] x = exApi.GetUsefullAttributesValues();

                    int[]      target     = exApi.GetTarget();
                    Perceptron perceptron = new Perceptron(x, w1, target);
                    perceptron.Learn();
                    w2 = perceptron.Weights;
                }
            }
            else
            {
                for (int wi = 0; wi < w2.Length; wi++)
                {
                    w2[wi] = 0.0;
                }
            }

            data = new System.Text.StringBuilder(
                "K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 " +
                "K12 K13 K14 K15 K16 K17 K18 K19 " +
                "K20 K21 K22 K23 K24 K25 K26 K27 " +
                "K28 K29 K30 K31 K32 K33 K34 K35 " +
                "K36 K37 K38 K39 K40 K41 Answer" +
                "\r\n");

            for (i = 0; i < numberOfData; i++)
            {
                answer = "No";
                //горючий потолок
                K1 = rand.Next(0, 1000) > 900 ? "Присутствует" : "Отсутствует";
                //горючий пол
                K2 = rand.Next(0, 1000) > 900 ? "Присутствует" : "Отсутствует";
                //горючая стена
                K3 = rand.Next(0, 1000) > 900 ? "Присутствует" : "Отсутствует";

                #region Печь
                p  = rand.Next(1, 1000);
                K4 = (p <= 700) ? "90"  :
                     (p > 700 && p <= 750) ? "110" :
                     (p > 750 && p <= 950) ? "120" : "140";
                p  = rand.Next(1, 1000);
                K5 = (p <= 666) ? "<=5"  :
                     (p > 666 && p <= 950) ? "5<x<=15" : ">15";
                K6 = rand.Next(0, 1000) < 950 ? "Присутствует" :
                     "Отсутствует";
                p  = rand.Next(1, 1000);
                K7 = (p <= 500) ? "<500" :
                     (p > 500 && p <= 550) ? ">=500" :
                     (p > 550 && p <= 600) ? ">=конька_кровли_или_парапета" :
                     (p > 600 && p <= 650) ? "<=конька_кровли_или_парапета" :
                     (p > 650 && p <= 850) ?
                     ">=линии_проведенной_от_конька_вниз_под_углом_10":
                     "<=линии_проведенной_от_конька_вниз_под_углом_10";
                K8 = rand.Next(0, 10) > 5 ?
                     "Над_плоской_кровлей" :
                     "Над_коньком_кровли_или_парапетом";
                p  = rand.Next(1, 1000);
                K9 = p < 333 ? "<1.5" :
                     (p > 333 && p < 666) ? "1.5<=x<=3" : ">3";

                p   = rand.Next(1, 1000);
                K10 = p <= 250 ? "Из_трех_рядов_кирпичей" :
                      (p > 250 && p <= 500) ? "Из_двух_рядов_кирпичей" :
                      (p < 500 && p <= 750) ?
                      "Металлическая_с_теплоизолированным_перекрытием" :
                      "Металлическая_с_нетеплоизолированным_перекрытием";
                K11 = rand.Next(0, 10) > 5 ? "Защищен" : "Не_защищен";
                K12 = rand.Next(0, 10) > 5 ?
                      "С_периодической_топкой" :
                      "Длительного_горения";
                p   = rand.Next(1, 1000);
                K13 = (p <= 100) ? "250"  :
                      (p > 100 && p <= 200) ? "350"  :
                      (p > 200 && p <= 300) ? "375"  :
                      (p > 300 && p <= 400) ? "525"  :
                      (p > 400 && p <= 500) ? "700"  :
                      (p > 500 && p <= 600) ? "800"  :
                      (p > 600 && p <= 700) ? "1000" :
                      (p > 700 && p <= 800) ? "1050" :
                      (p > 800 && p <= 900) ? "1200" : "1500";
                #endregion

                #region Дымовая_труба
                p   = rand.Next(1, 1000);
                K14 = p <= 333 ? "140x140" :
                      (p > 333 && p <= 666) ?
                      "140x200" : "140x270";
                p   = rand.Next(1, 1000);
                K15 = p <= 250 ? "<3.5" :
                      (p > 250 && p <= 500) ? "3.5<=x<=5.2" :
                      (p < 500 && p <= 750) ? "5.2<=x<=7" : ">7";
                p   = rand.Next(1, 1000);
                K16 = p <= 250 ? "Глиняный_кирпич" :
                      (p > 250 && p <= 500) ? "Жаростойкий_бетон" :
                      (p < 500 && p <= 750) ?
                      "Хризотилоцементные_трубы" :
                      "Нержавеющая_сталь_заводской_готовности";
                p   = rand.Next(1, 1000);
                K17 = p <= 333 ? "60<=x<=120" :
                      (p > 333 && p <= 666) ?
                      ">=120" : "<60";
                K18 = rand.Next(1, 1000) < 300 ? "300" : "400";
                p   = rand.Next(1, 1000);
                K19 = p <= 333 ? "Кирпич" :
                      (p > 333 && p <= 666) ?
                      "Бетон" : "Керамика";
                K20 = rand.Next(1, 1000) <= 500 ? "Присутствует" : "Отсутствует";
                p   = rand.Next(1, 1000);
                K21 = p <= 333 ? "<130" :
                      (p > 333 && p <= 666) ?
                      "130<=x<=250" : ">=250";
                #endregion

                #region Защита_горючих_поверхностей
                p   = rand.Next(1, 1000);
                K22 = p <= 333 ? "Металлический_лист_размером_700х500_мм" :
                      (p > 333 && p <= 666) ?
                      "Листовая_сталь"
                        : "Штукатурка_толщиной_25_мм";
                p   = rand.Next(1, 1000);
                K23 = p <= 333 ? "Металлический_лист_размером_700х500_мм" :
                      (p > 333 && p <= 666) ?
                      "Штукатурка_толщиной_25_мм"
                        : "Листовая_сталь";
                p   = rand.Next(1, 1000);
                K24 = p <= 333 ? "По_асбестовому_картону_толщиной_8_мм" :
                      (p > 333 && p <= 666) ?
                      "По_асбестовому_картону_толщиной_10_мм" :
                      "По_металлической_сетке";
                p   = rand.Next(1, 1000);
                K25 = p <= 333 ? "Длинная_сторона_вдоль_печи" :
                      (p > 333 && p <= 666) ?
                      "От_пола_до_уровня_на_250мм_выше_верха_топочной_дверки"
                      : "В_пределах_горизонтальной_проекции_печи";
                #endregion

                #region Воздуховоды
                p   = rand.Next(1, 1000);
                K26 = p < 999 ? ">=3" : "<3";
                p   = rand.Next(1, 1000);
                K27 = (p <= 250) ? "B1" :
                      (p > 250 && p <= 500) ? "B2" :
                      (p > 500 && p <= 750) ? "B3" : "B4";
                p   = rand.Next(1, 1000);
                K28 = (p <= 400) ? "B1" :
                      (p > 400 && p <= 450) ? "B2" :
                      (p > 450 && p <= 500) ? "B3" :
                      (p > 500 && p <= 600) ? "B4" :
                      (p > 600 && p <= 650) ? "Отсутствует" : "Присутствует";
                p   = rand.Next(1, 1000);
                K29 = p < 800 ? "Присутствует" : "Отсутствует";
                p   = rand.Next(1, 1000);
                K30 = p < 800 ? "Присутствует" : "Отсутствует";
                p   = rand.Next(1, 1000);
                K31 = p < 800 ? "Присутствует" : "Отсутствует";
                p   = rand.Next(1, 1000);
                K32 = p < 800 ? "Присутствует" : "Отсутствует";
                p   = rand.Next(1, 1000);
                #endregion

                #region Электрика
                K33 = p < 800 ? "Алюминий" : "Медь";
                p   = rand.Next(1, 1000);
                if (K33.Equals("Алюминий"))
                {
                    K34 = (p <= 166) ? "<4" :
                          (p > 166 && p <= 332) ? "6" :
                          (p > 332 && p <= 498) ? "10" :
                          (p > 498 && p <= 664) ? "16-25" :
                          (p > 664 && p <= 830) ? "35-50" : "70";
                }
                else
                {
                    K34 = (p <= 166) ? "<2.5" :
                          (p > 166 && p <= 332) ? "-" :
                          (p > 332 && p <= 498) ? "4" :
                          (p > 498 && p <= 664) ? "6-10" :
                          (p > 664 && p <= 830) ? "16" : "25-35";
                }
                p = rand.Next(1, 1000);
                if (K34.Equals("<4"))
                {
                    K35 = (p <= 900) ? "Не_нормируется" :
                          (p > 910 && p <= 920) ? "2.5" :
                          (p > 920 && p <= 930) ? "2.8" :
                          (p > 930 && p <= 940) ? "3.2" :
                          (p > 940 && p <= 950) ? "3.5" : "4";
                }
                else if (K34.Equals("6"))
                {
                    K35 = (p <= 50) ? "Не_нормируется" :
                          (p > 50 && p <= 900) ? "2.5" :
                          (p > 900 && p <= 920) ? "2.8" :
                          (p > 920 && p <= 940) ? "3.2" :
                          (p > 940 && p <= 980) ? "3.5" : "4";
                }
                else if (K34.Equals("10"))
                {
                    K35 = (p <= 50) ? "Не_нормируется" :
                          (p > 50 && p <= 60) ? "2.5" :
                          (p > 60 && p <= 900) ? "2.8" :
                          (p > 900 && p <= 920) ? "3.2" :
                          (p > 920 && p <= 940) ? "3.5" : "4";
                }
                else if (K34.Equals("16-25"))
                {
                    K35 = (p <= 50) ? "Не_нормируется" :
                          (p > 50 && p <= 60) ? "2.5" :
                          (p > 60 && p <= 70) ? "2.8" :
                          (p > 70 && p <= 900) ? "3.2" :
                          (p > 900 && p <= 950) ? "3.5" : "4";
                }
                else if (K34.Equals("35-50"))
                {
                    K35 = (p <= 10) ? "Не_нормируется" :
                          (p > 10 && p <= 20) ? "2.5" :
                          (p > 30 && p <= 40) ? "2.8" :
                          (p > 40 && p <= 50) ? "3.2" :
                          (p > 50 && p <= 950) ? "3.5" : "4";
                }
                else // K34.Equals("70")
                {
                    K35 = (p <= 50) ? "Не_нормируется" :
                          (p > 60 && p <= 70) ? "2.5" :
                          (p > 70 && p <= 80) ? "2.8" :
                          (p > 80 && p <= 90) ? "3.2" :
                          (p > 90 && p <= 100) ? "3.5" : "4";
                }
                p   = rand.Next(1, 1000);
                K36 = p > 500 ? "<50мм" : ">50мм";
                p   = rand.Next(1, 1000);
                K37 = (p <= 333) ? "Изоляция_провода" :
                      (p > 333 && p <= 666) ?
                      "Прибор_нагревательный_отопительный" :
                      "Водонагревательный_прибор";
                p = rand.Next(1, 1000);
                if (K37.Equals("Изоляция_провода"))
                {
                    K38 = (p <= 900) ? "65" :
                          (p > 900 && p <= 950) ? "85" : "90";
                }
                else if (K37.Equals("Прибор_нагревательный_отопительный"))
                {
                    K38 = (p <= 50) ? "65" :
                          (p > 50 && p <= 950) ? "85" : "90";
                }
                else
                {
                    K38 = (p <= 50) ? "65" :
                          (p > 50 && p <= 100) ? "85" : "90";
                }
                p   = rand.Next(1, 1000);
                K39 = (p <= 111) ? "IP20" :
                      (p > 111 && p <= 222) ? "IP23" :
                      (p > 222 && p <= 333) ? "IP51" :
                      (p > 333 && p <= 444) ? "IP53" :
                      (p > 444 && p <= 555) ? "IP54" :
                      (p > 555 && p <= 666) ? "2.0" :
                      (p > 666 && p <= 777) ? "5.0" :
                      (p > 777 && p <= 888) ? "5.3" : "5.4";
                p   = rand.Next(1, 1000);
                K40 = (p <= 333) ? "ЛЛ" :
                      (p > 333 && p <= 666) ? "ЛН" : "ГЛВД";
                p   = rand.Next(1, 1000);
                K41 = (p <= 142) ? "Нормальные" :
                      (p > 142 && p <= 284) ? "Влажные" :
                      (p > 284 && p <= 426) ? "Сырые" :
                      (p > 426 && p <= 568) ? "Особо_сырые" :
                      (p > 568 && p <= 710) ? "Химически_активные" :
                      (p > 710 && p <= 852) ? "Пыльные" : "Жаркие";
                #endregion

                #region K1 - done Потолок из горючих материалов
                //k10 связан с K1
                //K12 - тип печи
                //K13 - расстояние_между_верхом_перекрытия_печи_и_потолком
                if (K1.Equals("Присутствует"))
                {
                    double res = w2[0] + w2[9] + w2[10] + w2[11] + w2[12];
                    if (!K11.Equals("Защищен"))
                    {
                        if (K10.Equals("Из_трех_рядов_кирпичей"))
                        {
                            if (K12.Equals("С_периодической_топкой"))
                            {
                                if (!K13.Equals("250"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                            else if (K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("700"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                        else if (K10.Equals("Из_двух_рядов_кирпичей"))
                        {
                            if (K12.Equals("С_периодической_топкой"))
                            {
                                if (!K13.Equals("375"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                            else if (K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("1050"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                        else if (K10.Equals("Металлическая_с_теплоизолированным_перекрытием"))
                        {
                            if (K12.Equals("С_периодической_топкой")
                                ||
                                K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("800"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                    }
                    else
                    {
                        if (K10.Equals("Из_трех_рядов_кирпичей"))
                        {
                            if (K12.Equals("С_периодической_топкой"))
                            {
                                if (!K13.Equals("350"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                            else if (K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("1000"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                        else if (K10.Equals("Из_двух_рядов_кирпичей"))
                        {
                            if (K12.Equals("С_периодической_топкой"))
                            {
                                if (!K13.Equals("525"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                            else if (K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("1500"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                        else if (K10.Equals("Металлическая_с_нетеплоизолированным_перекрытием"))
                        {
                            if (K12.Equals("С_периодической_топкой")
                                ||
                                K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("1200"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                    }
                }
                #endregion

                #region K2 - done Пол из горючих материалов
                if (K2.Equals("Присутствует"))
                {
                    double res = w2[1] + w2[21] + w2[23] + w2[24];
                    if (K22.Equals("Металлический_лист_размером_700х500_мм"))
                    {
                        if (K24.Equals("По_асбестовому_картону_толщиной_8_мм"))
                        {
                            if (!K25.Equals("Длинная_сторона_вдоль_печи"))
                            {
                                answer = (res > 1.0) ? "Yes" : answer;
                            }
                        }
                        else
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K22.Equals("Листовая_сталь"))
                    {
                        if (K24.Equals("По_асбестовому_картону_толщиной_10_мм"))
                        {
                            if (!K25.Equals("В_пределах_горизонтальной_проекции_печи"))
                            {
                                answer = (res > 1.0) ? "Yes" : answer;
                            }
                        }
                        else
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                #endregion

                #region K3 - done Стена из горючих материалов
                if (K3.Equals("Присутствует"))
                {
                    double res = w2[2] + w2[22] + w2[23] + w2[24];
                    if (K23.Equals("Металлический_лист_размером_700х500_мм"))
                    {
                        if (K24.Equals("По_асбестовому_картону_толщиной_8_мм"))
                        {
                            if (!K25.Equals("От_пола_до_уровня_на_250мм_выше_верха_топочной_дверки"))
                            {
                                answer = (res > 1.0) ? "Yes" : answer;
                            }
                        }
                        else
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K23.Equals("Штукатурка_толщиной_25_мм"))
                    {
                        if (K24.Equals("По_металлической_сетке"))
                        {
                            if (!K25.Equals("От_пола_до_уровня_на_250мм_выше_верха_топочной_дверки"))
                            {
                                answer = (res > 1.0) ? "Yes" : answer;
                            }
                        }
                        else
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                #endregion

                #region K4 - done Температура печи
                if (K4.Equals("110") ||
                    K4.Equals("120"))
                {
                    double res = w2[3] + w2[4] + w2[5];
                    if (K5.Equals(">15"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K4.Equals("140"))
                {
                    double res = w2[3] + w2[4] + w2[5];
                    if (!K6.Equals("Присутствует"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K7 - done Высота дымовых труб
                if (K7.Equals("<500"))
                {
                    double res = w2[6] + w2[7] + w2[8];
                    if (K8.Equals("Над_плоской_кровлей"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                    else if (K8.Equals("Над_коньком_кровли_или_парапетом"))
                    {
                        if (!K9.Equals("<1.5"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                else if (K7.Equals("<=конька_кровли_или_парапета"))
                {
                    double res = w2[6] + w2[8];
                    if (!K9.Equals("1.5<=x<=3"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }

                else if (K7.Equals("<=линии_проведенной_от_конька_вниз_под_углом_10"))
                {
                    double res = w2[6] + w2[8];
                    if (!K9.Equals(">3"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K15 Тепловая мощность
                if (K15.Equals("<3.5"))
                {
                    double res = w2[13] + w2[14];
                    if (!K14.Equals("140x140"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K15.Equals("5.2<=x<=7"))
                {
                    double res = w2[13] + w2[14];
                    if (!K14.Equals("140x200"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K15.Equals(">7"))
                {
                    double res = w2[13] + w2[14];
                    if (!K14.Equals("140x270"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K16 Материал дымовых труб
                if (K16.Equals("Глиняный_кирпич"))
                {
                    double res = w2[15] + w2[16];
                    if (!K17.Equals(">=120"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K16.Equals("Жаростойкий_бетон"))
                {
                    double res = w2[15] + w2[16];
                    if (!K17.Equals("60<=x<=120"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K16.Equals("Хризотилоцементные_трубы"))
                {
                    double res = w2[15] + w2[17];
                    if (!K18.Equals("300"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K16.Equals("Нержавеющая_сталь_заводской_готовности"))
                {
                    double res = w2[15] + w2[17];
                    if (!K18.Equals("400"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K19 Вид материала дымовой трубы
                if (K19.Equals("Кирпич")
                    ||
                    K19.Equals("Бетон"))
                {
                    double res = w2[18] + w2[20];
                    if (!K21.Equals("130<=x<=250")
                        ||
                        !K21.Equals(">=250"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K19.Equals("Керамика"))
                {
                    if (K20.Equals("Присутствует"))
                    {
                        if (!K21.Equals("130<=x<=250")
                            ||
                            !K21.Equals(">=250"))
                        {
                            double res = w2[18] + w2[19] + w2[20];
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K20.Equals("Отсутствует"))
                    {
                        if (!K21.Equals(">=250"))
                        {
                            double res = w2[19] + w2[20];
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                #endregion

                #region K26 Воздуховоды
                if (K26.Equals("<3"))
                {
                    if (!K29.Equals("Присутствует") &&
                        !K30.Equals("Присутствует") &&
                        !K31.Equals("Присутствует") &&
                        !K32.Equals("Присутствует"))
                    {
                        double res = w2[25] + w2[28] + w2[29] + w2[30] + w2[31];
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }

                if (K27.Equals("B1"))
                {
                    if (!K28.Equals("B1") &&
                        !K28.Equals("Присутствует"))
                    {
                        double res = w2[26] + w2[27];
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K27.Equals("B2"))
                {
                    if (!K28.Equals("B1") &&
                        !K28.Equals("B2") &&
                        !K28.Equals("Присутствует"))
                    {
                        double res = w2[26] + w2[27];
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K27.Equals("B3"))
                {
                    if (!K28.Equals("B1") &&
                        !K28.Equals("B2") &&
                        !K28.Equals("B3") &&
                        !K28.Equals("Присутствует"))
                    {
                        double res = w2[26] + w2[27];
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K27.Equals("B4"))
                {
                    if (!K28.Equals("B1") &&
                        !K28.Equals("B2") &&
                        !K28.Equals("B3") &&
                        !K28.Equals("B4") &&
                        !K28.Equals("Присутствует"))
                    {
                        double res = w2[26] + w2[27];
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K33 Материал проводки
                if (K33.Equals("Алюминий"))
                {
                    double res = w2[32] + w2[33] + w2[34];
                    if (K34.Equals("6"))
                    {
                        if (!K35.Equals("2.5"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("10"))
                    {
                        if (!K35.Equals("2.8"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("16-25"))
                    {
                        if (!K35.Equals("3.2"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("35-50"))
                    {
                        if (!K35.Equals("3.5"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("70"))
                    {
                        if (!K35.Equals("4.0"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                else //Медь
                {
                    double res = w2[32] + w2[33] + w2[34];
                    if (K34.Equals("6"))
                    {
                        if (!K35.Equals("-"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("4"))
                    {
                        if (!K35.Equals("2.8"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("6-10"))
                    {
                        if (!K35.Equals("3.2"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("16"))
                    {
                        if (!K35.Equals("3.5"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("25-35"))
                    {
                        if (!K35.Equals("4.0"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                #endregion

                #region 37 Наружная поверхность
                if (K37.Equals("Изоляция_провода"))
                {
                    double res = w2[36] + w2[37];
                    if (!K38.Equals("65"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K37.Equals("Прибор_нагревательный_отопительный"))
                {
                    double res = w2[36] + w2[37];
                    if (!K38.Equals("85"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K37.Equals("Водонагревательный_прибор"))
                {
                    double res = w2[36] + w2[37];
                    if (!K38.Equals("90"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K40 Степень защиты светильников
                if (K40.Equals("ЛЛ"))
                {
                    double res = w2[38] + w2[39] + w2[39];
                    if (K39.Equals("IP20"))
                    {
                        if (K41.Equals("Сырые"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                        else if (K41.Equals("Особо_сырые"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K39.Equals("IP23"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K39.Equals("IP54"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                        else if (K41.Equals("Влажные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K39.Equals("5.4"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                        else if (K41.Equals("Влажные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                else if (K40.Equals("ЛН") || K40.Equals("ГЛВД"))
                {
                    double res = w2[38] + w2[39] + w2[39];
                    if (K39.Equals("IP23"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K39.Equals("IP53"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                        else if (K41.Equals("Влажные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K39.Equals("5.0") ||
                             K39.Equals("5.3") ||
                             K39.Equals("5.4"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                        else if (K41.Equals("Влажные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                #endregion

                #region data_Append
                data.Append(K1 + " "); data.Append(K2 + " ");
                data.Append(K3 + " "); data.Append(K4 + " ");
                data.Append(K5 + " "); data.Append(K6 + " ");
                data.Append(K7 + " "); data.Append(K8 + " ");
                data.Append(K9 + " "); data.Append(K10 + " ");
                data.Append(K11 + " "); data.Append(K12 + " ");
                data.Append(K13 + " "); data.Append(K14 + " ");
                data.Append(K15 + " "); data.Append(K16 + " ");
                data.Append(K17 + " "); data.Append(K18 + " ");
                data.Append(K19 + " "); data.Append(K20 + " ");
                data.Append(K21 + " "); data.Append(K22 + " ");
                data.Append(K23 + " "); data.Append(K24 + " ");
                data.Append(K25 + " "); data.Append(K26 + " ");
                data.Append(K27 + " "); data.Append(K28 + " ");
                data.Append(K29 + " "); data.Append(K30 + " ");
                data.Append(K31 + " "); data.Append(K32 + " ");
                data.Append(K33 + " "); data.Append(K34 + " ");
                data.Append(K35 + " "); data.Append(K36 + " ");
                data.Append(K37 + " "); data.Append(K38 + " ");
                data.Append(K39 + " "); data.Append(K40 + " ");
                data.Append(K41 + " "); data.Append(answer);

                if (i != (numberOfData - 1))
                {
                    data.Append("\r\n");
                }
                #endregion
            }

            return(data.ToString());
        }
Example #12
0
        private void CreateMyListView(string data)
        {
            switch (opt)
            {
            case 1:
            {
                dataSeries1 = data.Split(' ', ',');
                ListViewItem item1 = new ListViewItem(K1.ToString(), 0);
                dataSeries1[1] = dataSeries1[1].Remove(17);
                long tempT1 = long.Parse(dataSeries1[1]) + 116444736000000000;
                dataSeries1[1] = tempT1.ToString();
                DateTime dt = DateTime.FromFileTime(long.Parse(dataSeries1[1]));
                dataSeries1[1] = dt.ToString("yyyy-MM-dd HH:mm:ss.ffff");
                dataSeries1[2] = dataSeries1[2].Remove(17);
                long tempT2 = long.Parse(dataSeries1[2]) + 116444736000000000;
                dataSeries1[2] = tempT2.ToString();
                dt             = DateTime.FromFileTime(long.Parse(dataSeries1[2]));
                dataSeries1[2] = dt.ToString("yyyy-MM-dd HH:mm:ss.ffff");
                if (dataSeries1[5] == "2")
                {
                    dataSeries1[5] = "2.5G POS";
                }
                for (int i = 0; i < dataSeries1.Length; i++)
                {
                    item1.SubItems.Add(dataSeries1[i]);
                }
                checkBoxComboBox2.Items.Add(dataSeries1[0]);
                toolStripComboBox2.Items.Add(dataSeries1[0]);
                listView1.Items.Insert(0, item1);
                ImageList imageListLarge = new ImageList();
                ImageList imageListSmall = new ImageList();
                listView1.LargeImageList = imageListLarge;
                listView1.SmallImageList = imageListSmall;
                K1 = K1 + 1;
                break;
            }

            case 2:
            {
                dataSeries1 = data.Split(' ', ',');
                ListViewItem item1 = new ListViewItem(K2.ToString(), 0);
                for (int i = 0; i < dataSeries1.Length; i++)
                {
                    item1.SubItems.Add(dataSeries1[i]);
                }
                checkBoxComboBox1.Items.Add(dataSeries1[0]);
                toolStripComboBox1.Items.Add(dataSeries1[0]);
                listView2.Items.Insert(0, item1);
                ImageList imageListLarge = new ImageList();
                ImageList imageListSmall = new ImageList();
                listView2.LargeImageList = imageListLarge;
                listView2.SmallImageList = imageListSmall;
                K2 = K2 + 1;
                break;
            }

            case 3:
            {
                dataSeries1 = data.Split(' ', ',');
                ListViewItem item1 = new ListViewItem(K3.ToString(), 0);
                for (int i = 0; i < dataSeries1.Length; i++)
                {
                    item1.SubItems.Add(dataSeries1[i]);
                }
                listView3.Items.Insert(0, item1);
                ImageList imageListLarge = new ImageList();
                ImageList imageListSmall = new ImageList();
                listView3.LargeImageList = imageListLarge;
                listView3.SmallImageList = imageListSmall;
                K3 = K3 + 1;
                break;
            }

            case 4:
            {
                listView1.Visible = false;
                listView2.Visible = false;
                listView3.Visible = false;
                listView4.Visible = true;
                dataSeries1       = data.Split(' ', ',');
                ListViewItem item1 = new ListViewItem(dataSeries1[0], 0);
                for (int i = 1; i < dataSeries1.Length; i++)
                {
                    item1.SubItems.Add(dataSeries1[i]);
                }
                listView4.Items.Insert(0, item1);
                ImageList imageListLarge = new ImageList();
                ImageList imageListSmall = new ImageList();
                listView4.LargeImageList = imageListLarge;
                listView4.SmallImageList = imageListSmall;
                break;
            }

            case 5:
            {
                listView1.Visible = false;
                listView2.Visible = false;
                listView3.Visible = false;
                listView4.Visible = false;
                listView5.Visible = true;
                dataSeries1       = data.Split(' ', ',');
                ListViewItem item1 = new ListViewItem(dataSeries1[0], 0);
                for (int i = 1; i < dataSeries1.Length; i++)
                {
                    item1.SubItems.Add(dataSeries1[i]);
                }
                listView5.Items.Insert(0, item1);
                ImageList imageListLarge = new ImageList();
                ImageList imageListSmall = new ImageList();
                listView5.LargeImageList = imageListLarge;
                listView5.SmallImageList = imageListSmall;

                //richtextBox1.AppendText(data);
                break;
            }
            }
        }