Client/Desktop/KMBIM3.0/23.10.18/Cmd/SprinklerConnect/Form_Downward.cs

363 lines
11 KiB
C#

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<double> m_HgtLst = new List<double>();
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;
}
}
}
}