// алгоритм обработки события protected override void HandleEvent(ModelEventArgs args) { Model.KPA -= Model.KOP; Model.Tracer.EventTrace(this, "KPA = " + Model.KPA); if (Model.VQ.Count != 0) { Model.SA = 2; Model.VQ.RemoveAt(0); Model.iPassOut++; Model.times[Model.iPassOut] = Time - Model.times[Model.iPassOut]; Model.KPA += 1; Model.LQ.Value -= 1; double dt4 = Model.GenPassIn.GenerateValue(); var ev4 = new K4(); // создание объекта события Model.PlanEvent(ev4, dt4); // планирование события 3 Model.Tracer.PlanEventTrace(ev4); } else { Model.SA = 0; } Model.Tracer.AnyTrace(""); Model.TraceModel(); Model.Tracer.AnyTrace(""); }
private void trackK4_MouseUp(object sender, MouseEventArgs e) { if (K4 != trackK4.Value) { K4 = trackK4.Value; string str = K4.ToString(); textK4.Text = str; koshiClient.uartWrite("#d" + str + "$"); } }
private void trackK4_MouseUp(object sender, MouseEventArgs e) { if (K4 != trackK4.Value) { K4 = trackK4.Value; string str = K4.ToString(); textK4.Text = str; gpduinoClient.send("#d" + str + "$"); } }
// алгоритм обработки события protected override void HandleEvent(ModelEventArgs args) { Model.Tracer.EventTrace(this); if (Model.VQ.Count.Value != 0) { if (Model.B - Model.KPA > 0) { Model.SA = 2; Model.VQ.RemoveAt(0); Model.iPassOut++; Model.times[Model.iPassOut] = Time - Model.times[Model.iPassOut]; Model.LQ.Value -= 1; Model.KPA += 1; double dt4 = Model.GenPassIn.GenerateValue(); var ev4 = new K4(); // создание объекта события Model.PlanEvent(ev4, dt4); // планирование события 3 Model.Tracer.PlanEventTrace(ev4); } else { Model.SA = 0; if (Model.NVAR == 2) { while (Model.times.Count != Model.iPassOut) { Model.iPassOut++; Model.times[Model.iPassOut] = Time - Model.times[Model.iPassOut]; } Model.KNP += Model.VQ.Count; Model.VQ.Clear(); } } } else { Model.SA = 0; } Model.Tracer.AnyTrace(""); Model.TraceModel(); Model.Tracer.AnyTrace(""); }
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; } }
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; }
static public string K4(int idCompanyMiddleman) { int idContractType = 0, idCompanyContractType = 0; List <Franchise> franchise = new List <Franchise>(); List <InsuranceZoneOfRegistration> insuranceZoneOfReg = new List <InsuranceZoneOfRegistration>(); List <bool> isLegal = new List <bool>(); try { idContractType = ContractTypeDataManipulation.GetId("ГО"); idCompanyContractType = CompanyContractTypeDataManipulation.GetId(idCompanyMiddleman, idContractType); franchise = FranchiseDataManipulation.GetFranchises(ContractFranchiseDataManipulation.GetFranchiseIds(idCompanyContractType)); insuranceZoneOfReg = InsuranceZoneOfRegistrationDataManipulation.GetMulti(); isLegal = new List <bool> { true, false }; } catch { responseToClient.responseType = ResponseType.Bad; responseToClient.responseText = "Виникла помилка при генерації умов."; return(js.Serialize(responseToClient)); } foreach (var izor in insuranceZoneOfReg) { foreach (var il in isLegal) { foreach (var f in franchise) { var idContractFranchise = ContractFranchiseDataManipulation.GetId(idCompanyContractType, f.Id); try { if (K4DataManipulation.IsConditionExist(izor.Id, il, idContractFranchise, idCompanyMiddleman)) { var newRowK4 = new K4() { IdInsuranceZoneOfReg = izor.Id, IsLegalEntity = il, IdContractFranchise = idContractFranchise, Value = 0, IdCompanyMiddleman = idCompanyMiddleman, }; try { K4DataManipulation.Insert(newRowK4); } catch { responseToClient.responseType = ResponseType.Bad; responseToClient.responseText = $"Виникла помилка при генерації запису для умов: \"{izor.Name}\"; \"{il}\"; \"{f.Sum}\"."; return(js.Serialize(responseToClient)); } } } catch { responseToClient.responseType = ResponseType.Bad; responseToClient.responseText = $"Виникла помилка при генерації запису."; return(js.Serialize(responseToClient)); } } } } responseToClient.responseType = ResponseType.Good; responseToClient.responseText = "Генерація даних пройшла успішно."; return(js.Serialize(responseToClient)); }
// 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; } }
private void CheckHealthB_Click(object sender, EventArgs e) // определения состояния здоровья { vozrast_temp = Convert.ToInt32(textBox1.Text); // переменная возраста heartbeat_temp = Convert.ToDouble(textBox3.Text); // переменная биения сердца в нормальном режиме heartbeat_f_temp = Convert.ToDouble(textBox4.Text); //подключение к бд ConnectionString = @"Data Source = C:\Users\HomePC\Documents\Visual Studio 2015\Projects\DilplomChildDB\DilplomChildDB\bin\Debug\child_db.db; Version = 3 "; using (SQLiteConnection con = new SQLiteConnection(ConnectionString)) { SQLiteCommand command = new SQLiteCommand("SELECT Id, Vozrast, Nagruzka FROM Age where [Vozrast] = " + vozrast_temp, con); con.Open(); //поиск возраста SQLiteDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { label16.Text = reader["Nagruzka"].ToString(); age_temp = Convert.ToInt32(reader["Vozrast"]); } } else { label16.Text = "No rows found."; } ////////////// поиск переменной К1. Поиск идёт через сравнение возрастапеременной возраста if (age_temp >= 3 && age_temp <= 5) { SQLiteCommand command_02 = new SQLiteCommand("SELECT Id, start, end, K_n_3_5 FROM Age_n_3_5 where (start <= @heartbeat) and (end >= @heartbeat)", con); command_02.Parameters.AddWithValue("@heartbeat", heartbeat_temp); SQLiteDataReader reader_02 = command_02.ExecuteReader(); if (reader_02.HasRows) { while (reader_02.Read()) { label17.Text = reader_02["K_n_3_5"].ToString(); K1 = Convert.ToDouble(label17.Text); } } else { label17.Text = "No rows found."; } } else { if (age_temp >= 6 && age_temp <= 8) { SQLiteCommand command_03 = new SQLiteCommand("SELECT Id, start, end, K_n_6_8 FROM Age_n_6_8 where (start <= @heartbeat) and (end >= @heartbeat)", con); command_03.Parameters.AddWithValue("@heartbeat", heartbeat_temp); SQLiteDataReader reader_03 = command_03.ExecuteReader(); if (reader_03.HasRows) { while (reader_03.Read()) { label18.Text = reader_03["K_n_6_8"].ToString(); K1 = Convert.ToDouble(label18.Text); } } else { label18.Text = "No rows found."; } } else { if (age_temp >= 9 && age_temp <= 11) { SQLiteCommand command_04 = new SQLiteCommand("SELECT Id, start, end, K_n_9_11 FROM Age_n_9_11 where (start <= @heartbeat) and (end >= @heartbeat)", con); command_04.Parameters.AddWithValue("@heartbeat", heartbeat_temp); SQLiteDataReader reader_04 = command_04.ExecuteReader(); if (reader_04.HasRows) { while (reader_04.Read()) { label19.Text = reader_04["K_n_9_11"].ToString(); K1 = Convert.ToDouble(label19.Text); } } else { label19.Text = "No rows found."; } } else { if (age_temp >= 12) { SQLiteCommand command_05 = new SQLiteCommand("SELECT Id, start, end, K_n_12_18 FROM Age_n_12_18 where (start <= @heartbeat) and (end >= @heartbeat)", con); command_05.Parameters.AddWithValue("@heartbeat", heartbeat_temp); SQLiteDataReader reader_05 = command_05.ExecuteReader(); if (reader_05.HasRows) { while (reader_05.Read()) { label20.Text = reader_05["K_n_12_18"].ToString(); K1 = Convert.ToDouble(label20.Text); } } else { label20.Text = "No rows found."; } } else { if (age_temp < 3) { MessageBox.Show("Возраст не должен быть меньше 3 лет!"); } else { return; } } } } } ///////////////////////////////////поиск переменной К2 if (age_temp >= 3 && age_temp <= 5) { SQLiteCommand command_06 = new SQLiteCommand("SELECT Id, start, end, K_t_3_5 FROM Age_t_3_5 where (start <= @heartbeat) and (end >= @heartbeat)", con); command_06.Parameters.AddWithValue("@heartbeat", heartbeat_f_temp); SQLiteDataReader reader_06 = command_06.ExecuteReader(); if (reader_06.HasRows) { while (reader_06.Read()) { label21.Text = reader_06["K_t_3_5"].ToString(); K2 = Convert.ToDouble(label21.Text); } } else { label21.Text = "No rows found."; } } else { if (age_temp >= 6 && age_temp <= 8) { SQLiteCommand command_07 = new SQLiteCommand("SELECT Id, start, end, K_t_6_8 FROM Age_t_6_8 where (start <= @heartbeat) and (end >= @heartbeat)", con); command_07.Parameters.AddWithValue("@heartbeat", heartbeat_f_temp); SQLiteDataReader reader_07 = command_07.ExecuteReader(); if (reader_07.HasRows) { while (reader_07.Read()) { label22.Text = reader_07["K_t_6_8"].ToString(); K2 = Convert.ToDouble(label22.Text); } } else { label22.Text = "No rows found."; } } else { if (age_temp >= 9 && age_temp <= 11) { SQLiteCommand command_08 = new SQLiteCommand("SELECT Id, start, end, K_t_9_11 FROM Age_t_9_11 where (start <= @heartbeat) and (end >= @heartbeat)", con); command_08.Parameters.AddWithValue("@heartbeat", heartbeat_f_temp); SQLiteDataReader reader_08 = command_08.ExecuteReader(); if (reader_08.HasRows) { while (reader_08.Read()) { label23.Text = reader_08["K_t_9_11"].ToString(); K2 = Convert.ToDouble(label23.Text); } } else { label23.Text = "No rows found."; } } else { if (age_temp >= 12) { SQLiteCommand command_09 = new SQLiteCommand("SELECT Id, start, end, K_t_12_18 FROM Age_t_12_18 where (start <= @heartbeat) and (end >= @heartbeat)", con); command_09.Parameters.AddWithValue("@heartbeat", heartbeat_f_temp); SQLiteDataReader reader_09 = command_09.ExecuteReader(); if (reader_09.HasRows) { while (reader_09.Read()) { label24.Text = reader_09["K_t_12_18"].ToString(); K2 = Convert.ToDouble(label24.Text); } } else { label24.Text = "No rows found."; } } else { if (age_temp < 3) { MessageBox.Show("Возраст не должен быть меньше 3 лет!"); } else { return; } } } } } /////////////////////////////////////////////////////// ///////////////// выбор травмы k_travma_s = listBox1.SelectedItem.ToString(); SQLiteCommand command_10 = new SQLiteCommand("SELECT Id, Travma, K_travma FROM Injury where Travma = @k_travma_s", con); command_10.Parameters.AddWithValue("@k_travma_s", k_travma_s); SQLiteDataReader reader_10 = command_10.ExecuteReader(); if (reader_10.HasRows) { while (reader_10.Read()) { label25.Text = reader_10["K_travma"].ToString(); K3 = Convert.ToDouble(label25.Text); } } else { label25.Text = "No rows found."; } /////////////////////// K4 = ((K1 + K2 + K3) / 3); // переменная K4 K4 = Math.Round(K4, 1); // округление до одной переменной после запятой label26.Text = K4.ToString(); /////////////////////////// SQLiteCommand command_11 = new SQLiteCommand("SELECT Id, K4_start, K4_end, UserText FROM Health where (K4_start <= @k4) and (K4_end >= @k4)", con); command_11.Parameters.AddWithValue("@k4", K4); SQLiteDataReader reader_11 = command_11.ExecuteReader(); if (reader_11.HasRows) { while (reader_11.Read()) { label8.Text = reader_11["UserText"].ToString(); } } else { label8.Text = "bug."; } } }
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()); }
public static void Insert(K4 newRecord) { db.K4.Add(newRecord); db.SaveChanges(); }