using KDCS.Utils; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace KMBIM { public partial class Form_Downward : Form { public double m_D1 = 0, m_D2 = 0, m_D3 = 0, m_DMainHgt = 0, m_DBranchHgt = 0, m_Tolerance = 0, m_ReducerDist = 0; public int m_RadIdx = 0; public bool m_FlexPipeLoad = false; public List m_HgtLst = new List(); public double MainHeight { get { return m_DMainHgt; } set { m_DMainHgt = value; } } public double BranchHeight { get { return m_DBranchHgt; } set { m_DBranchHgt = value; } } public double HeaderOffset { get { return m_D1; } set { m_D1 = value; } } public double ConnectDist { get { return m_D2; } set { m_D2 = value; } } public double CapDist { get { return m_D3; } set { m_D3 = value; } } public Form_Downward() { InitializeComponent(); } public double TeeReducerDist { get { return m_ReducerDist; } set { m_ReducerDist = value; } } public double SpkrTol { get { return m_Tolerance; } set { m_Tolerance = value; } } private void Form_Downward_Load(object sender, EventArgs e) { this.KeyPreview = true; txt_Down_mainHgt.Text = "" + m_DMainHgt; txt_Down_BranchHgt.Text = "" + m_DBranchHgt; if (Reg.getReg("Down_D1") == "") { Reg.setReg("Down_D1", "" + m_D1); txt_Down_D1.Text = "" + m_D1; } else { string Str_Down_D1 = Reg.getReg("Down_D1"); txt_Down_D1.Text = Str_Down_D1; } if (Reg.getReg("Down_D2") == "") { Reg.setReg("Down_D2", "" + m_D2); txt_Down_D2.Text = "" + m_D2; } else { string Str_Down_D2 = Reg.getReg("Down_D2"); txt_Down_D2.Text = Str_Down_D2; } if (Reg.getReg("Down_D3") == "") { Reg.setReg("Down_D3", "" + m_D3); txt_Down_D3.Text = "" + m_D3; } else { string Str_Down_D3 = Reg.getReg("Down_D3"); txt_Down_D3.Text = Str_Down_D3; } if(Reg.getReg("Down_Radio") == "") { m_RadIdx = 0; Reg.setReg("Down_Radio", "" + m_RadIdx); } else { string Str_RadIdx = Reg.getReg("Down_Radio"); m_RadIdx = int.Parse(Str_RadIdx); if (m_RadIdx == 0) rad_pipe.Checked = true; else if(m_RadIdx == 1) rad_flex.Checked = true; } if (Reg.getReg("Down_ReducerDist") == "") { Reg.setReg("Down_ReducerDist", "" + m_ReducerDist); txt_Down_TeeReducerLen.Text = "" + m_ReducerDist; } else { string Str_Down_RedDist = Reg.getReg("Down_ReducerDist"); txt_Down_TeeReducerLen.Text = Str_Down_RedDist; } if (Reg.getReg("Down_Tol") == "") { Reg.setReg("Down_Tol", "" + m_Tolerance); txt_dTolerance.Text = "" + m_Tolerance; } else { string Str_Up_Tol = Reg.getReg("Down_Tol"); txt_dTolerance.Text = Str_Up_Tol; } //txt_Down_mainHgt.Text = "" + m_DMainHgt; //txt_Down_BranchHgt.Text = "" + m_DBranchHgt; //txt_Down_D1.Text = "" + m_D1; //txt_Down_D2.Text = "" + m_D2; //txt_Down_D3.Text = "" + m_D3; } private void txt_Down_D1_TextChanged(object sender, EventArgs e) { if (txt_Down_D1.Text == "") return; else { HeaderOffset = double.Parse(txt_Down_D1.Text); Reg.setReg("Down_D1", HeaderOffset.ToString()); } } private void txt_Down_D2_TextChanged(object sender, EventArgs e) { if (txt_Down_D2.Text == "") return; else { ConnectDist = double.Parse(txt_Down_D2.Text); Reg.setReg("Down_D2", ConnectDist.ToString()); } } private void txt_Down_D3_TextChanged(object sender, EventArgs e) { if (txt_Down_D3.Text == "") return; else { CapDist = double.Parse(txt_Down_D3.Text); Reg.setReg("Down_D3", CapDist.ToString()); } } private void txt_Down_BranchHgt_TextChanged(object sender, EventArgs e) { if (txt_Down_BranchHgt.Text == "") return; BranchHeight = double.Parse(txt_Down_BranchHgt.Text); } // 확인 버튼 private void button1_Click(object sender, EventArgs e) { //헤드 리스트 중 메인관과 사이 거리가 안나오면 이벤트 취소 foreach (double SPhgt in m_HgtLst) { //헤드 높이 - 헤드 간격 띄우기 - 100(메인 가지 T연결 최소값) double dd = Math.Round(Unit.FeetToMM(SPhgt), 5) - m_D1 - 100; if (dd <= m_DMainHgt) { MessageBox.Show("헤드와 메인관 사이의 높이가 좁습니다."); this.DialogResult = DialogResult.None; break; } } //메인배관의 높이 + 200이 가지관보다 크면 실행 X if (MainHeight + 200 > BranchHeight) { MessageBox.Show("교차배관과 가지배관 사이의 높이가 좁습니다."); this.DialogResult = DialogResult.None; } } private void rad_pipe_CheckedChanged(object sender, EventArgs e) { m_RadIdx = 0; Reg.setReg("Down_Radio", "" + m_RadIdx); } private void rad_flex_CheckedChanged(object sender, EventArgs e) { if (rad_flex.Checked == true) { if (m_FlexPipeLoad == true) { m_RadIdx = 1; Reg.setReg("Down_Radio", "" + m_RadIdx); } else { MessageBox.Show("로드된 플렉시블 파이프 유형이 없습니다."); m_RadIdx = 0; Reg.setReg("Down_Radio", "" + m_RadIdx); rad_pipe.Checked = true; } } } //Tee 분기 레듀셔 길이 private void txt_Down_TeeReducerLen_TextChanged(object sender, EventArgs e) { if (txt_Down_TeeReducerLen.Text == "") return; else { TeeReducerDist = double.Parse(txt_Down_TeeReducerLen.Text); Reg.setReg("Down_ReducerDist", TeeReducerDist.ToString()); } } //스프링클러 허용 오차 private void txt_dTolerance_TextChanged(object sender, EventArgs e) { if (txt_dTolerance.Text == "") return; else { SpkrTol = double.Parse(txt_dTolerance.Text); Reg.setReg("Down_Tol", SpkrTol.ToString()); } } private void Form_Downward_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Escape) { //this.Close(); this.DialogResult = DialogResult.Cancel; } else if (e.KeyCode == Keys.Enter) { this.DialogResult = DialogResult.OK; } } private void txt_Down_D1_KeyPress(object sender, KeyPressEventArgs e) { int keyCode = (int)e.KeyChar; if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46) e.Handled = true; if (keyCode == 46) { if (string.IsNullOrEmpty(txt_Down_D1.Text) || txt_Down_D1.Text.Contains('.') == true) e.Handled = true; } } private void txt_Down_D2_KeyPress(object sender, KeyPressEventArgs e) { int keyCode = (int)e.KeyChar; if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46) e.Handled = true; if (keyCode == 46) { if (string.IsNullOrEmpty(txt_Down_D2.Text) || txt_Down_D2.Text.Contains('.') == true) e.Handled = true; } } private void txt_Down_D3_KeyPress(object sender, KeyPressEventArgs e) { int keyCode = (int)e.KeyChar; if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46) e.Handled = true; if (keyCode == 46) { if (string.IsNullOrEmpty(txt_Down_D3.Text) || txt_Down_D3.Text.Contains('.') == true) e.Handled = true; } } private void txt_Down_BranchHgt_KeyPress(object sender, KeyPressEventArgs e) { int keyCode = (int)e.KeyChar; if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46) e.Handled = true; if (keyCode == 46) { if (string.IsNullOrEmpty(txt_Down_BranchHgt.Text) || txt_Down_BranchHgt.Text.Contains('.') == true) e.Handled = true; } } private void txt_dTolerance_KeyPress(object sender, KeyPressEventArgs e) { int keyCode = (int)e.KeyChar; if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46) e.Handled = true; if (keyCode == 46) { if (string.IsNullOrEmpty(txt_dTolerance.Text) || txt_dTolerance.Text.Contains('.') == true) e.Handled = true; } } private void txt_Down_TeeReducerLen_KeyPress(object sender, KeyPressEventArgs e) { int keyCode = (int)e.KeyChar; if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46) e.Handled = true; if (keyCode == 46) { if (string.IsNullOrEmpty(txt_Down_TeeReducerLen.Text) || txt_Down_TeeReducerLen.Text.Contains('.') == true) e.Handled = true; } } } }