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

@@ -50,28 +50,36 @@ namespace Project.Dialog
var encpass = Pub.MakePasswordEnc(tbPW.Text.Trim());
var ta = new dsMSSQLTableAdapters.UsersTableAdapter();
var users = ta.GetIDPW(encpass, tbID.Text.Trim());
if(users.Rows.Count < 1)
try
{
Util.MsgE("No user");
tbPW.SelectAll();
tbPW.Focus();
return;
}
else
var users = ta.GetIDPW(encpass, tbID.Text.Trim());
if (users.Rows.Count < 1)
{
Util.MsgE("No user");
tbPW.SelectAll();
tbPW.Focus();
return;
}
else
{
var userdr = users.Rows[0] as dsMSSQL.UsersRow;
FCOMMON.info.Login.no = userdr.id;
FCOMMON.info.Login.nameK = userdr.name;
FCOMMON.info.Login.dept = userdr.dept;
FCOMMON.info.Login.level = userdr.level;
FCOMMON.info.Login.email = userdr.email;
FCOMMON.info.Login.nameE = userdr.nameE;
FCOMMON.info.Login.hp = userdr.hp;
FCOMMON.info.Login.tel = userdr.tel;
FCOMMON.info.Login.title = userdr.ads_title;
}
DialogResult = DialogResult.OK;
}catch (Exception ex)
{
var userdr = users.Rows[0] as dsMSSQL.UsersRow ;
FCOMMON.info.Login.no = userdr.id;
FCOMMON.info.Login.nameK = userdr.name;
FCOMMON.info.Login.dept = userdr.dept;
FCOMMON.info.Login.level = userdr.level;
FCOMMON.info.Login.email = userdr.email;
FCOMMON.info.Login.nameE = userdr.nameE;
FCOMMON.info.Login.hp = userdr.hp;
FCOMMON.info.Login.tel = userdr.tel;
FCOMMON.info.Login.title = userdr.ads_title;
Util.MsgE("데이터베이스 조회 실패 다음 오류 메세지를 참고하세요.\n\n"+ ex.Message + "\n\n증상이 동일 할 경우 서버가 접속가능한지 먼저 확인하세요");
DialogResult = System.Windows.Forms.DialogResult.Cancel;
}
DialogResult = DialogResult.OK;
}

View File

@@ -1,4 +1,6 @@
190125 chi 프로젝트 메일 관련 기능 준비중
190208 chi AD계정 path 수정 (office 그룹이 추가됨)
190131 chi 클립보드 복사 메세지 제거
190125 chi 프로젝트 메일 관련 기능 준비중
190115 chi 프로젝트 목록 색상 및 정렬 방식 변경 - 필터 적용
190110 chi NR구매 화면 모델 -> 규격명칭 변경
장비기술 공정이 공용코드 09번에 연결됨

View File

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
// 지정되도록 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("19.01.25.1300")]
[assembly: AssemblyFileVersion("19.01.25.1300")]
[assembly: AssemblyVersion("19.02.12.1300")]
[assembly: AssemblyFileVersion("19.02.12.1300")]

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;
}