File name
Commit message
Commit date
File name
Commit message
Commit date
using ClientLib;
using ClientLib.CommonService;
using DevExpress.XtraEditors;
using DevExpress.XtraTreeList;
using DevExpress.XtraTreeList.Nodes;
using PublicLib;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace HANMI_STD
{
public partial class CodeManager : CommonMDI
{
DataView m_Group_View;
DataView m_Code_View;
public CodeManager()
{
InitializeComponent();
this.Shown += (sender, e) =>
{
try
{
SerializedSqlParam[] aParam = new SerializedSqlParam[] {
ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, ConstClass._COMP_CD)
};
ResultData result = ClientClass.GetData("GetRoutingManager", aParam);
if (result.isError)
{
throw new Exception(result.ResultValue);
}
UtilClass.SetLookup(repositoryItemLookUpEdit_ROUT_CD, result.TableData, "ROUT_CD", "ROUT_NM", false, false);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
searchProc();
};
simpleButton_AddMain.Click += (sender, e) =>
{
InsertCateForm from = new InsertCateForm();
if (from.ShowDialog() != System.Windows.Forms.DialogResult.Yes)
{
return;
}
searchProc();
};
gridControl_Main.DoubleClick += (sender, e) =>
{
DataRow row = bandedGridView_Main.GetFocusedDataRow();
if (row != null)
{
InsertCateForm form = new InsertCateForm();
form.setData(row);
if (form.ShowDialog() == System.Windows.Forms.DialogResult.Yes)
{
searchProc();
}
}
};
simpleButton_DeleteMain.Click += (sender, e) =>
{
bandedGridView_Main.PostEditor();
bandedGridView_Main.UpdateCurrentRow();
Application.DoEvents();
DataTable data = gridControl_Main.DataSource as DataTable;
DataRow[] rows = data.Select("SEL_YN = 'Y'");
if (rows == null || rows.Length < 1)
{
MessageBox.Show("삭제할 항목을 선택하십시오.");
return;
}
foreach (DataRow row in rows)
{
row.Delete();
}
};
gridControl_Group.DoubleClick += (sender, e) =>
{
DataRow row = bandedGridView_Group.GetFocusedDataRow();
if (row != null)
{
DataRow mrow = bandedGridView_Main.GetFocusedDataRow();
InsertGroupForm form = new InsertGroupForm(UtilClass.toStr(mrow["CATE_CD"]));
form.setData(row);
if (form.ShowDialog() == System.Windows.Forms.DialogResult.Yes)
{
searchProc();
}
}
};
simpleButton_AddGroup.Click += (sender, e) =>
{
DataRow mrow = bandedGridView_Main.GetFocusedDataRow();
InsertGroupForm from = new InsertGroupForm(UtilClass.toStr(mrow["CATE_CD"]));
if (from.ShowDialog() != System.Windows.Forms.DialogResult.Yes)
{
return;
}
searchProc();
};
simpleButton_DeleteGroup.Click += (sender, e) =>
{
bandedGridView_Group.PostEditor();
bandedGridView_Group.UpdateCurrentRow();
Application.DoEvents();
DataTable data = m_Group_View.Table;
DataRow[] rows = data.Select("SEL_YN = 'Y'");
if (rows == null || rows.Length < 1)
{
MessageBox.Show("삭제할 항목을 선택하십시오.");
return;
}
foreach (DataRow row in rows)
{
row.Delete();
}
};
bandedGridView_Main.FocusedRowChanged += (sender, e) =>
{
DataRow row = bandedGridView_Main.GetFocusedDataRow();
if (row != null)
{
if (m_Group_View != null)
{
m_Group_View.RowFilter = " CATE_CD = '" + UtilClass.toStr(row["CATE_CD"]) + "'";
DataRow grow = bandedGridView_Group.GetFocusedDataRow();
if (grow != null)
{
if (m_Code_View != null)
{
m_Code_View.RowFilter = " CATE_CD = '" + UtilClass.toStr(grow["CATE_CD"]) + "'" +
" AND GRP_CD = '" + UtilClass.toStr(grow["GRP_CD"]) + "'";
}
}
else
{
if (m_Code_View != null)
{
m_Code_View.RowFilter = " CATE_CD = ''" +
" AND GRP_CD = ''";
}
}
}
}
};
bandedGridView_Group.FocusedRowChanged += (sender, e) =>
{
DataRow row = bandedGridView_Group.GetFocusedDataRow();
if (row != null)
{
if (m_Code_View != null)
{
m_Code_View.RowFilter = " GRP_CD = '" + UtilClass.toStr(row["GRP_CD"]) + "'";
}
}
};
bandedGridView_Main.FocusedRowChanged += (sender, e) =>
{
DataRow row = bandedGridView_Main.GetFocusedDataRow();
bandedGridView_Main.Columns["CATE_CD"].OptionsColumn.AllowEdit = row != null && (row.RowState == DataRowState.Added || row.RowState == DataRowState.Detached);
};
bandedGridView_Group.FocusedRowChanged += (sender, e) =>
{
DataRow row = bandedGridView_Group.GetFocusedDataRow();
bandedGridView_Group.Columns["GRP_CD"].OptionsColumn.AllowEdit = row != null && (row.RowState == DataRowState.Added || row.RowState == DataRowState.Detached);
};
bandedGridView_Code.FocusedRowChanged += (sender, e) =>
{
DataRow row = bandedGridView_Code.GetFocusedDataRow();
bandedGridView_Code.Columns["NO_CD"].OptionsColumn.AllowEdit = row != null && (row.RowState == DataRowState.Added || row.RowState == DataRowState.Detached);
};
}
public override void searchProc()
{
try
{
this.Cursor = Cursors.WaitCursor;
ResultData result = ClientClass.GetData("GetCodeManager", null);
if (result.isError)
{
throw new Exception(result.ResultValue);
}
gridControl_Main.DataSource = result.DataList.Tables[0];
m_Group_View = new DataView(result.DataList.Tables[1]);
m_Code_View = new DataView(result.DataList.Tables[2]);
if (result.DataList.Tables[0].Rows.Count > 0)
{
DataRow row = result.DataList.Tables[0].Rows[0];
m_Group_View.RowFilter = " CATE_CD = '" + UtilClass.toStr(row["CATE_CD"]) + "'";
}
if (m_Group_View != null && m_Group_View.Count > 0)
{
DataRow row = m_Group_View.Table.Rows[0];
m_Code_View.RowFilter = " CATE_CD = '" + UtilClass.toStr(row["CATE_CD"]) + "'" +
" AND GRP_CD = '" + UtilClass.toStr(row["GRP_CD"]) + "'";
}
else
{
m_Code_View.RowFilter = " CATE_CD = ''" +
" AND GRP_CD = ''";
}
gridControl_Group.DataSource = m_Group_View;
gridControl_Code.DataSource = m_Code_View;
this.Cursor = Cursors.Arrow;
}
catch (Exception ex)
{
this.Cursor = Cursors.Arrow;
MessageBox.Show(ex.Message);
}
}
public override void newProc()
{
DataRow row = bandedGridView_Group.GetFocusedDataRow();
bandedGridView_Code.AddNewRow();
bandedGridView_Code.GetFocusedDataRow()["CATE_CD"] = UtilClass.toStr(row["CATE_CD"]);
bandedGridView_Code.GetFocusedDataRow()["GRP_CD"] = UtilClass.toStr(row["GRP_CD"]);
bandedGridView_Code.GetFocusedDataRow()["DEL_YN"] = "N";
}
public override void deleteProc()
{
bandedGridView_Code.PostEditor();
bandedGridView_Code.UpdateCurrentRow();
Application.DoEvents();
DataTable data = m_Code_View.Table;
DataRow[] rows = data.Select("SEL_YN = 'Y'");
if (rows == null || rows.Length < 1)
{
MessageBox.Show("삭제할 항목을 선택하십시오.");
return;
}
foreach (DataRow row in rows)
{
row.Delete();
}
}
public override void saveProc()
{
try
{
this.Cursor = Cursors.WaitCursor;
bandedGridView_Main.PostEditor();
bandedGridView_Main.UpdateCurrentRow();
bandedGridView_Group.PostEditor();
bandedGridView_Group.UpdateCurrentRow();
bandedGridView_Code.PostEditor();
bandedGridView_Code.UpdateCurrentRow();
Application.DoEvents();
DataTable aData = gridControl_Main.DataSource as DataTable;
DataTable bData = m_Group_View.Table; // gridControl_Group.DataSource as DataTable;
DataTable cData = m_Code_View.Table; //gridControl_Code.DataSource as DataTable;
ResultData[] dataList = null;
ResultData data1 = new ResultData();
DataTable dtData1 = UtilClass.GetDataTable(aData, true,
"CATE_CD", "CATE_CD_NM", "PRNNO"
);
dtData1.TableName = "ADATA";
data1.TableData = dtData1;
ResultData data2 = new ResultData();
DataTable dtData2 = UtilClass.GetDataTable(bData, true,
"CATE_CD", "GRP_CD", "GRP_CD_NM", "PRNNO"
);
dtData2.TableName = "BDATA";
data2.TableData = dtData2;
ResultData data3 = new ResultData();
DataTable dtData3 = UtilClass.GetDataTable(cData, true,
"CATE_CD", "GRP_CD", "NO_CD", "NO_CD_NM",
"DEL_YN", "NO_RMK", "PRNNO", "WORK_ROUT_CD"
);
dtData3.TableName = "CDATA";
data3.TableData = dtData3;
for (int i = 0; i < dtData3.Rows.Count; i++)
{
if (UtilClass.isNull(dtData3.Rows[i]["NO_CD"]))
{
throw new Exception("코드가 입력되지 않은 데이터가 있습니다.");
}
if (UtilClass.isNull(dtData3.Rows[i]["NO_CD_NM"]))
{
throw new Exception(UtilClass.toStr(dtData3.Rows[i]["NO_CD"]) + "코드의 코드명이 입력되지 않았습니다.");
}
}
dataList = new ResultData[] { data1, data2, data3 };
ResultData result = ClientClass.SetTableData("SaveCodeManager", dataList, null);
if (result.isError)
{
throw new Exception(result.ResultValue);
}
MessageBox.Show("정상적으로 저장하였습니다.");
aData.AcceptChanges();
bData.AcceptChanges();
cData.AcceptChanges();
this.Cursor = Cursors.Arrow;
}
catch (Exception ex)
{
this.Cursor = Cursors.Arrow;
MessageBox.Show(ex.Message);
}
}
}
}