DB접속 오류시 메세지 처리

This commit is contained in:
Chikyun
2019-03-02 18:43:17 +09:00
parent f2c368fecb
commit 97407e07b4
12 changed files with 2500 additions and 635 deletions

View File

@@ -24,6 +24,7 @@ namespace Project._Common
{
this.lbDomain.Text = this.DomainName();
this.btInsert.Visible = (FCOMMON.info.Login.level > 9);
this.tbEntry.Text = "LDAP://OU=Office,OU=Users,OU=People,OU=K4,DC=kr,DC=ds,DC=amkor,DC=com";
this.tbEntry.Enabled = this.btInsert.Visible;
}
public string DomainName()
@@ -50,65 +51,144 @@ namespace Project._Common
this.listView1.Visible = false;
this.listView1.View = View.Details;
string[] propliest = new string[] { "whenCreated", "telephonenumber", "title", "employeeNumber", "department", "displayName", "mail", "pager", "sn", "cn" };
Boolean skipuser = false;
string dept = string.Empty;
string whencre = string.Empty;
string empno = string.Empty;
string disp = string.Empty;
string cn = string.Empty;
string sn = string.Empty;
string mail = string.Empty;
string title = string.Empty;
string pager = string.Empty;
string tel = string.Empty;
var deParent = new DirectoryEntry(tbEntry.Text);
foreach (DirectoryEntry deChild in deParent.Children)
string Nodename = "";
try
{
Boolean skipuser = false;
string dept = string.Empty;
string whencre = string.Empty;
string empno = string.Empty;
string disp = string.Empty;
string cn = string.Empty;
string sn = string.Empty;
string mail = string.Empty;
string title = string.Empty;
string pager = string.Empty;
string tel = string.Empty;
string[] propliest = new string[] { "whenCreated", "telephonenumber","title", "employeeNumber", "department", "displayName", "mail", "pager", "sn", "cn" };
foreach (string listIter in propliest)
{
foreach (object Iter in deChild.Properties[listIter.ToString()])
{
string strvalue = Iter.ToString();
switch (listIter.ToString().ToLower())
{
case "department":
dept = strvalue;
var search = toolStripTextBox1.Text.Trim();
if(search != "") if (dept.IndexOf(search) == -1) skipuser = true;
break;
case "whencreated": whencre = strvalue; break;
case "title": title = strvalue; break;
case "telephonenumber": tel = strvalue; break;
case "employeenumber": empno = strvalue; break;
case "displayname": disp = strvalue; break;
case "mail": mail = strvalue; break;
case "pager": pager = strvalue; break;
case "sn": sn = strvalue; break;
case "cn": cn = strvalue; break;
}
if (skipuser) break;
}
if (skipuser) break;
}
if (sn == "" || pager == "" || sn.ToUpper().StartsWith("k4") || sn.ToUpper().StartsWith("test")) skipuser = true;
if (skipuser) continue;
var lv = this.listView1.Items.Add(sn);
lv.Checked = true;
lv.SubItems.Add(cn);
lv.SubItems.Add(disp);
lv.SubItems.Add(dept);
lv.SubItems.Add(title);
lv.SubItems.Add(tel);
lv.SubItems.Add(mail);
lv.SubItems.Add(pager);
lv.SubItems.Add(empno);
lv.SubItems.Add(whencre);
if (listView1.Items.Count > 500) break;
Nodename = deParent.SchemaClassName;
} catch (Exception ex)
{
Util.MsgE(ex.Message + "\n" + tbEntry.Text);
Nodename = string.Empty;
}
if (Nodename != "")
{
if (deParent.Name.StartsWith("CN"))
{
//특정사용자 조회
foreach (string listIter in propliest)
{
foreach (object Iter in deParent.Properties[listIter.ToString()])
{
string strvalue = Iter.ToString();
switch (listIter.ToString().ToLower())
{
case "department":
dept = strvalue;
// var search = toolStripTextBox1.Text.Trim();
// if (search != "") if (dept.IndexOf(search) == -1) skipuser = true;
break;
case "whencreated": whencre = strvalue; break;
case "title": title = strvalue; break;
case "telephonenumber": tel = strvalue; break;
case "employeenumber": empno = strvalue; break;
case "displayname": disp = strvalue; break;
case "mail": mail = strvalue; break;
case "pager": pager = strvalue; break;
case "sn": sn = strvalue; break;
case "cn": cn = strvalue; break;
}
// if (skipuser) break;
}
// if (skipuser) break;
}
var lv = this.listView1.Items.Add(sn);
lv.Checked = true;
lv.SubItems.Add(cn);
lv.SubItems.Add(disp);
lv.SubItems.Add(dept);
lv.SubItems.Add(title);
lv.SubItems.Add(tel);
lv.SubItems.Add(mail);
lv.SubItems.Add(pager);
lv.SubItems.Add(empno);
lv.SubItems.Add(whencre);
}
else
{
foreach (DirectoryEntry deChild in deParent.Children)
{
skipuser = false;
dept = string.Empty;
whencre = string.Empty;
empno = string.Empty;
disp = string.Empty;
cn = string.Empty;
sn = string.Empty;
mail = string.Empty;
title = string.Empty;
pager = string.Empty;
tel = string.Empty;
foreach (string listIter in propliest)
{
foreach (object Iter in deChild.Properties[listIter.ToString()])
{
string strvalue = Iter.ToString();
switch (listIter.ToString().ToLower())
{
case "department":
dept = strvalue;
var search = toolStripTextBox1.Text.Trim();
if (search != "") if (dept.IndexOf(search) == -1) skipuser = true;
break;
case "whencreated": whencre = strvalue; break;
case "title": title = strvalue; break;
case "telephonenumber": tel = strvalue; break;
case "employeenumber": empno = strvalue; break;
case "displayname": disp = strvalue; break;
case "mail": mail = strvalue; break;
case "pager": pager = strvalue; break;
case "sn": sn = strvalue; break;
case "cn": cn = strvalue; break;
}
if (skipuser) break;
}
if (skipuser) break;
}
if (sn == "" || pager == "" || sn.ToUpper().StartsWith("k4") || sn.ToUpper().StartsWith("test")) skipuser = true;
if (skipuser) continue;
var lv = this.listView1.Items.Add(sn);
lv.Checked = true;
lv.SubItems.Add(cn);
lv.SubItems.Add(disp);
lv.SubItems.Add(dept);
lv.SubItems.Add(title);
lv.SubItems.Add(tel);
lv.SubItems.Add(mail);
lv.SubItems.Add(pager);
lv.SubItems.Add(empno);
lv.SubItems.Add(whencre);
if (listView1.Items.Count > 500) break;
}
}
}
FCOMMON.Util.MsgI("exit");
this.listView1.Visible = true;
}