Files
Groupware/SubProject/FCM0000/fCustoms.cs
chikyun.kim 11d7c7f704 ..
2019-07-26 17:28:19 +09:00

252 lines
8.7 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FCM0000
{
public partial class fCustoms : FCOMMON.fBase
{
string fn_fpcolsize1 = "";
string fn_fpcolsize2 = "";
public fCustoms()
{
InitializeComponent();
fn_fpcolsize1 = FCOMMON.Util.MakeFilePath(FCOMMON.Util.CurrentPath, "formSetting", "fp1_" + this.Name + ".ini");
fn_fpcolsize2 = FCOMMON.Util.MakeFilePath(FCOMMON.Util.CurrentPath, "formSetting", "fp2_" + this.Name + ".ini");
}
private void __Load(object sender, EventArgs e)
{
// TODO: 이 코드는 데이터를 'dsMSSQL.Staff' 테이블에 로드합니다. 필요한 경우 이 코드를 이동하거나 제거할 수 있습니다.
this.Show();
Application.DoEvents();
refreshData();
refreshDataS();
this.dsMSSQL.Customs.TableNewRow += Customs_TableNewRow;
this.dsMSSQL.Staff.TableNewRow += Staff_TableNewRow;
}
void Staff_TableNewRow(object sender, DataTableNewRowEventArgs e)
{
e.Row["wuid"] = FCOMMON.info.Login.no;
e.Row["wdate"] = DateTime.Now;
e.Row["cid"] = selcectIDX;
e.Row["gcode"] = FCOMMON.info.Login.gcode;
}
void Customs_TableNewRow(object sender, DataTableNewRowEventArgs e)
{
e.Row["wuid"] = FCOMMON.info.Login.no;
e.Row["wdate"] = DateTime.Now;
e.Row["grp"] = "Supply";
e.Row["gcode"] = FCOMMON.info.Login.gcode;
}
void refreshData()
{
try
{
this.ta.Fill(this.dsMSSQL.Customs,FCOMMON.info.Login.gcode);
// this.taStaff.Fill(this.dsMSSQL.Staff);
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize1);
}catch (Exception ex)
{
FCOMMON.Util.MsgE(ex.Message);
}
}
void refreshDataS()
{
try
{
// this.ta.Fill(this.dsMSSQL.Customs);
this.taStaff.Fill(this.dsMSSQL.Staff, FCOMMON.info.Login.gcode);
FPUtil.ColSizeLoad(ref this.fpSpread2, fn_fpcolsize2);
}
catch (Exception ex)
{
FCOMMON.Util.MsgE(ex.Message);
}
}
private void customsBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.bs.EndEdit();
int cnt = this.ta.Update(this.dsMSSQL.Customs);
if (cnt < 1)
{
FCOMMON.Util.MsgI("변경된 내역이 없습니다.");
}
else FCOMMON.Util.MsgI(string.Format("{0} 건의 자료가 업데이트 되었습니다.",cnt));
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
refreshData();
}
private void autoResizeColummsToolStripMenuItem_Click(object sender, EventArgs e)
{
this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true;
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
this.fpSpread1.ActiveSheet.SetRowHeight(i, 25);
}
private void btFind_Click(object sender, EventArgs e)
{
var search = tbFind.Text.Trim();
search = search.Replace("*", "x");
if (tbFind.Text != search) tbFind.Text = search;
try
{
if (search.isEmpty())
{
this.bs.Filter = "";
tbFind.BackColor = Color.White;
}
else
{
search = search.Replace("'", "''");
string filter = "stafftel like ? or grp like ? or name2 like ? or name like ? or owner like ? or address like ? or tel like ? or email like ? or memo like ? or staff like ?";
filter = filter.Replace("?", "'%" + search + "%'");
this.bs.Filter = filter;
tbFind.BackColor = Color.Lime;
}
tbFind.SelectAll();
tbFind.Focus();
}
catch (Exception ex)
{
this.tbFind.BackColor = Color.Tomato;
FCOMMON.Util.MsgE(ex.Message);
}
}
private void tbFind_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) btFind.PerformClick();
}
private void autoToolStripMenuItem_Click(object sender, EventArgs e)
{
this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true;
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
this.fpSpread1.ActiveSheet.SetRowHeight(i, 25);
}
private void resetToolStripMenuItem_Click(object sender, EventArgs e)
{
foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns)
{
col.Width = 100;
}
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
FCOMMON.Util.FPColsizeSave(this.fpSpread1, fn_fpcolsize1);
}
private void loadToolStripMenuItem_Click(object sender, EventArgs e)
{
FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize1);
}
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
{
}
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsMSSQL.CustomsRow;
if (dr.RowState == DataRowState.Added || dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Deleted) this.bs.RemoveCurrent();
var taq = new DSQueryTableAdapters.QueriesTableAdapter();
var cnt = (int)taq.CheckSupplyUsage(dr.idx);
if(cnt > 0)
{
FCOMMON.Util.MsgE("해당 거래처가 연결된 자료가 있어 삭제할 수 없습니다.\n\n" +
"개발자에 문의 하세요");
return;
}
var dlg =FCOMMON.Util.MsgQ("다음 거래처를 삭제하시겠습니까?\n"+
dr.name + "\n" + dr.staff);
if(dlg == System.Windows.Forms.DialogResult.Yes)
{
this.bs.RemoveCurrent();
}
}
private int selcectIDX = -1;
private void bs_CurrentChanged(object sender, EventArgs e)
{
//선택되면 staff 를 연결해준다.
var drv = this.bs.Current as DataRowView;
if(drv == null)
{
selcectIDX = -1;
this.bsStaff.Filter = "cid=-1";
bindingNavigator1.Enabled = false;
}
else
{
selcectIDX = int.Parse(drv["idx"].ToString());
this.bsStaff.Filter = "cid=" + selcectIDX;
bindingNavigator1.Enabled = true;
}
}
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
FCOMMON.Util.FPColSizeAuto(this.fpSpread2);
}
private void toolStripMenuItem3_Click(object sender, EventArgs e)
{
FCOMMON.Util.FPCollSizeReset(this.fpSpread2);
}
private void toolStripMenuItem4_Click(object sender, EventArgs e)
{
FCOMMON.Util.FPColsizeSave(this.fpSpread2, fn_fpcolsize2);
}
private void toolStripMenuItem5_Click(object sender, EventArgs e)
{
FCOMMON.Util.FPColsizeSave(this.fpSpread2, fn_fpcolsize2);
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
refreshDataS();
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
this.Validate();
this.bsStaff.EndEdit();
int cnt = this.taStaff.Update(this.dsMSSQL.Staff);
if (cnt < 1)
{
FCOMMON.Util.MsgI("변경된 내역이 없습니다.");
}
else FCOMMON.Util.MsgI(string.Format("{0} 건의 자료가 업데이트 되었습니다.", cnt));
}
}
}