Client/Desktop/KMBIM3.0/23.10.16/Cmd/SprinklerConnect/From_Upword.cs

231 lines
6.7 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_Upward : Form
{
public double m_D = 0, m_MainHgt = 0, m_BranchHgt = 0, m_Tolerance = 0, m_ReducerDist = 0;
public List<double> m_HgtLst = new List<double>();
public double MainHeight
{
get { return m_MainHgt; }
set { m_MainHgt = value; }
}
public double BranchHeight
{
get { return m_BranchHgt; }
set { m_BranchHgt = value; }
}
public double CapDist
{
get { return m_D; }
set { m_D = value; }
}
public double SpkrTol
{
get { return m_Tolerance; }
set { m_Tolerance = value; }
}
public double TeeReducerDist
{
get { return m_ReducerDist; }
set { m_ReducerDist = value; }
}
public Form_Upward()
{
InitializeComponent();
}
private void Form_Upward_Load(object sender, EventArgs e)
{
this.KeyPreview = true;
//대화상자 기본값
txt_mainHgt.Text = "" + m_MainHgt;
txt_branchHgt.Text = "" + m_BranchHgt;
if(Reg.getReg("Up_D") == "")
{
Reg.setReg("Up_D", "" + m_D);
txt_D.Text = "" + m_D;
}
else
{
string Str_Up_D = Reg.getReg("Up_D");
txt_D.Text = Str_Up_D;
}
if(Reg.getReg("Up_Tol") == "")
{
Reg.setReg("Up_Tol", "" + m_Tolerance);
txt_Tolerance.Text = "" + m_Tolerance;
}
else
{
string Str_Up_Tol = Reg.getReg("Up_Tol");
txt_Tolerance.Text = Str_Up_Tol;
}
if (Reg.getReg("Up_ReducerDist") == "")
{
Reg.setReg("Up_ReducerDist", "" + m_ReducerDist);
txt_Up_TeeReducerLen.Text = "" + m_ReducerDist;
}
else
{
string Str_Down_RedDist = Reg.getReg("Up_ReducerDist");
txt_Up_TeeReducerLen.Text = Str_Down_RedDist;
}
//txt_D.Text = "" + m_D;
}
//가지배관 높이
private void txt_branchHgt_TextChanged(object sender, EventArgs e)
{
if (txt_branchHgt.Text == "") return;
m_BranchHgt = double.Parse(txt_branchHgt.Text);
}
//(D)캡까지의 간격
private void txt_D_TextChanged(object sender, EventArgs e)
{
if (txt_D.Text == "")
return;
else
{
CapDist = double.Parse(txt_D.Text);
Reg.setReg("Up_D", CapDist.ToString());
}
}
//스프링클러 허용오차
private void txt_Tolerance_TextChanged(object sender, EventArgs e)
{
if (txt_Tolerance.Text == "")
return;
else
{
SpkrTol = double.Parse(txt_Tolerance.Text);
Reg.setReg("Up_Tol", SpkrTol.ToString());
}
}
//Tee 분기 레듀셔 길이
private void txt_Up_TeeReducerLen_TextChanged(object sender, EventArgs e)
{
if (txt_Up_TeeReducerLen.Text == "")
return;
else
{
TeeReducerDist = double.Parse(txt_Up_TeeReducerLen.Text);
Reg.setReg("Up_ReducerDist", TeeReducerDist.ToString());
}
}
//확인 버튼
private void button1_Click(object sender, EventArgs e)
{
//헤드 리스트 중 메인관과 사이 거리가 안나오면 이벤트 취소
foreach (double SPhgt in m_HgtLst)
{
//(메인 가지 T연결 최소값)
double MinHgt = m_BranchHgt + 60;
double SpkrHgt = Math.Round(Unit.FeetToMM(SPhgt),3);
if (SpkrHgt < MinHgt)
{
MessageBox.Show("스프링클러 헤드가 가지배관 높이보다 낮아 작도할 수 없습니다.", "오류");
this.DialogResult = DialogResult.None;
break;
}
}
}
private void Form_Upward_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_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_branchHgt.Text) || txt_branchHgt.Text.Contains('.') == true)
e.Handled = true;
}
}
private void txt_D_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_D.Text) || txt_D.Text.Contains('.') == true)
e.Handled = true;
}
}
private void txt_Tolerance_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_Tolerance.Text) || txt_Tolerance.Text.Contains('.') == true)
e.Handled = true;
}
}
private void txt_Up_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_Up_TeeReducerLen.Text) || txt_Up_TeeReducerLen.Text.Contains('.') == true)
e.Handled = true;
}
}
}
}