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; using StackExchange.Redis; namespace Project { public partial class fMain : Form { string SearchKey = string.Empty; public fMain() { InitializeComponent(); this.KeyDown += (s1, e1) => { if (e1.KeyCode == Keys.F12) btSetting.PerformClick(); else if (e1.KeyCode == Keys.F11) btLog.PerformClick(); else if (e1.KeyCode == Keys.F1 && e1.Control && e1.Shift) { Dialog.fDebug f = new Dialog.fDebug(); f.Show(); } else if (e1.KeyCode == Keys.F2 && e1.Control && e1.Shift) { var f = new fLog(); f.Show(); } if (DateTime.Now > Pub.LastInputTime) Pub.LastInputTime = DateTime.Now; }; this.MouseMove += (s1, e1) => { if (DateTime.Now > Pub.LastInputTime) Pub.LastInputTime = DateTime.Now; }; this.FormClosing += __Closing; } private void __Closing(object sender, FormClosingEventArgs e) { MessageWindow.CloseAll(); var rlt = Util.MsgQ(Lang.Question_Exit); if (rlt != DialogResult.Yes) { e.Cancel = true; return; } //close redis if (this.redisConnection != null && this.redisConnection.IsConnected && this.db != null) { this.redisConnection.Close(); this.redisConnection.Dispose(); } Pub.log.Add("Program Close"); Pub.log.Flush(); bBW = false; //backgroundWorker if (bw.IsBusy) bw.CancelAsync(); } ConnectionMultiplexer redisConnection; IDatabase db; private void __Load(object sender, EventArgs e) { this.Text = Application.ProductName + " v" + Application.ProductVersion; Pub.init(); _SetLang(); if (Pub.setting.FullScreen) this.WindowState = FormWindowState.Maximized; else this.WindowState = FormWindowState.Normal; this.Show(); Application.DoEvents(); Pub.barcode = new Device.Barcode(); if (!Pub.setting.Barcode.isEmpty()) Pub.barcode.PortName = Pub.setting.Barcode; Pub.barcode.ReceiveData += barcode_ReceiveData; FCOMMON.info.camIndex = Pub.setting.CamIndex; UpdateControls(); tmDisplay.Start(); //display timer Func_Login(); bw.RunWorkerAsync(); //background worker } void Func_Login() { Dialog.fLogin flogIn = new Dialog.fLogin(); if (flogIn.ShowDialog() != System.Windows.Forms.DialogResult.OK) Application.ExitThread(); if (FCOMMON.info.Login.level >= 10) btDev.Visible = true; sbLogin.Text = string.Format("[{0}] ({1}-{2} T:{3}) - {4}", FCOMMON.info.Login.title, FCOMMON.info.Login.no, FCOMMON.info.Login.nameK, FCOMMON.info.Login.tel, FCOMMON.info.Login.dept); Pub.log.Add("Program Start"); Func_RunStartForm(); } void Func_RunStartForm() { //시작폼 확인 if (Pub.setting.startForm == eFormList.NR구매관리) { menu_nrpurchase(); } } void _SetLang() { btSetting.Text = Lang.Setting; } void barcode_ReceiveData(object sender, Device.Barcode.ReceiveDataEventArgs e) { #region "invoke" if (this.InvokeRequired) { this.BeginInvoke(new EventHandler(barcode_ReceiveData), new object[] { sender, e }); return; } #endregion Pub.log.Add("BCD", "Rx:" + e.StrValue); } void Menu_Log() { var f = new fLog(); f.TopMost = true; f.Show(); } void Menu_Setting() { fSetting f = new fSetting(); if (f.ShowDialog() == DialogResult.OK) { FCOMMON.info.camIndex = Pub.setting.CamIndex; Pub.setting.Save(); Pub.log.AddI("Setting Save"); Pub.log.Add(Pub.setting.ToString()); UpdateControls(); } } #region "util" void UpdateControls() { } #endregion private void settingToolStripMenuItem_Click(object sender, EventArgs e) { Menu_Setting(); } private void logToolStripMenuItem_Click(object sender, EventArgs e) { Menu_Log(); } private void listToolStripMenuItem_Click(object sender, EventArgs e) { menu_projecT_list(); } void menu_work_report() { string formkey = "WORKBOOK"; if (!ShowForm(formkey)) AddForm(formkey, new FPJ0000.fJobReport()); } void menu_dayhistory() { string formkey = "DAYHISTORY"; if (!ShowForm(formkey)) AddForm(formkey, new FPJ0000.fProjectList()); } void menu_projecT_list() { string formkey = "PROJECTS"; if (!ShowForm(formkey)) AddForm(formkey, new FPJ0000.fProjectList()); } private void helpToolStripButton_Click(object sender, EventArgs e) { menu_projecT_list(); } private void itemsToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "ITEMS"; if (!ShowForm(formkey)) AddForm(formkey, new FCM0000.fItems()); } private void staffGridToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "STAFFGRID"; if (!ShowForm(formkey)) AddForm(formkey, new _Info.fInfo_Staff()); } private void dataToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "EQBUMP"; if (!ShowForm(formkey)) AddForm(formkey, new FEQ0000.fEquipment(FEQ0000.fEquipment.eTabletype.BUMP)); } private void dataMoldEOLToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "EQMOLD"; if (!ShowForm(formkey)) AddForm(formkey, new FEQ0000.fEquipment(FEQ0000.fEquipment.eTabletype.MOLD)); } private void dataFOLToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "EQFOL"; if (!ShowForm(formkey)) AddForm(formkey, new FEQ0000.fEquipment(FEQ0000.fEquipment.eTabletype.FOL)); } private void cascadeToolStripMenuItem_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.Cascade); } private void tileVerticalToolStripMenuItem_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.TileVertical); } private void tileHorizontalToolStripMenuItem_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.TileHorizontal); } private void closeAllToolStripMenuItem_Click(object sender, EventArgs e) { foreach (Form childForm in MdiChildren) { childForm.Close(); } } private void arrangeIconsToolStripMenuItem_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.ArrangeIcons); } private void personalInventoryToolStripMenuItem_Click(object sender, EventArgs e) { Menu_Inventory(); } void Menu_Inventory() { string formkey = "INVENTORY"; if (!ShowForm(formkey)) AddForm(formkey, new FCM0000.fInventory()); } private void minutesToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "MINUTES"; if (!ShowForm(formkey)) AddForm(formkey, new FBS0000.fMinutes()); } private void holidayToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "HOLYDAY"; if (!ShowForm(formkey)) AddForm(formkey, new FBS0000.fHolyday()); } private void codesToolStripMenuItem_Click(object sender, EventArgs e) { var f = new FCM0000.fCode(); f.ShowDialog(); } private void mailFormToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "MAILFORM"; if (!ShowForm(formkey)) AddForm(formkey, new FCM0000.fMailform()); } private void requestITemToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "ITEMREQUEST"; if (!ShowForm(formkey)) AddForm(formkey, new FCM0000.fRequestItem()); } private void toolStripButton1_Click(object sender, EventArgs e) { if (FCOMMON.info.Login.level < 10) { FCOMMON.Util.MsgE("테스트 기능이므로 개발자만 사용가능 합니다."); return; } FCM0000.fSendMail f = new FCM0000.fSendMail(); //f.MdiParent = this; f.Show(); } void menu_nrpurchase() { string formkey = "PUCHASE"; if (!ShowForm(formkey)) AddForm(formkey, new FEQ0000.fPurchase()); } private void nRPurchaseToolStripMenuItem_Click(object sender, EventArgs e) { menu_nrpurchase(); } private void purchaseImportToolStripMenuItem_Click(object sender, EventArgs e) { var f = new FEQ0000.fPurchase_Import(); // f.MdiParent = this; f.Show(); } private void purchaseDataConvertToolStripMenuItem_Click(object sender, EventArgs e) { var f = new FEQ0000.fPurchase_Data(); // f.MdiParent = this; f.Show(); } private void customerToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "CUSTOMS"; if (!ShowForm(formkey)) AddForm(formkey, new FCM0000.fCustoms()); var f = new FCM0000.fCustoms(); } private void toolStripButton2_Click(object sender, EventArgs e) { nRPurchaseToolStripMenuItem.PerformClick(); } private void userAccountToolStripMenuItem_Click(object sender, EventArgs e) { var f = new _Common.fUserInfo(); f.ShowDialog(); } private void aDSUserListToolStripMenuItem_Click(object sender, EventArgs e) { if (FCOMMON.info.Login.level < 10) { FCOMMON.Util.MsgE("개발자 이상 사용가능한 메뉴 입니다."); return; } string formkey = "ADUSERS"; if (!ShowForm(formkey)) AddForm(formkey, new _Common.fADSUserList()); } private void myAccouserToolStripMenuItem_Click(object sender, EventArgs e) { string formkey = "USERS"; if (!ShowForm(formkey)) AddForm(formkey, new _Common.fUserList()); } private void toolStripButton3_Click(object sender, EventArgs e) { menu_projecT_list(); } private void workReportToolStripMenuItem_Click(object sender, EventArgs e) { } private void toolStripButton4_Click(object sender, EventArgs e) { Menu_Inventory(); } private void customerImportToolStripMenuItem_Click(object sender, EventArgs e) { var f = new FCM0000.Customer_Import(); // f.MdiParent = this; f.Show(); } Boolean ShowForm(string key) { int tabIndex = this.tabControl1.TabPages.IndexOfKey(key); if (tabIndex != -1) { this.tabControl1.SelectedIndex = tabIndex; return true; } return false; } void AddForm(string key, Form f) { f.TopLevel = false; f.Dock = DockStyle.Fill; f.ControlBox = false; f.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.tabControl1.TabPages.Add(key, f.Text); this.tabControl1.TabPages[this.tabControl1.TabPages.Count - 1].BorderStyle = BorderStyle.Fixed3D; this.tabControl1.TabPages[this.tabControl1.TabPages.Count - 1].Padding = new Padding(10, 10, 10, 10); this.tabControl1.TabPages[this.tabControl1.TabPages.Count - 1].BackColor = Color.LightGray; this.tabControl1.TabPages[this.tabControl1.TabPages.Count - 1].ContextMenuStrip = this.cmTab; this.tabControl1.TabPages[this.tabControl1.TabPages.Count - 1].Controls.Add(f); this.tabControl1.SelectedIndex = this.tabControl1.TabPages.Count - 1; f.Show(); } private void 라인코드관리ToolStripMenuItem_Click(object sender, EventArgs e) { _Management.fLineCode f = new _Management.fLineCode(); f.ShowDialog(); } private void toolStripContainer1_ContentPanel_Load(object sender, EventArgs e) { } private void tabControl1_DrawItem(object sender, DrawItemEventArgs e) { //e.Graphics.FillRectangle(Brushes.Red, e.Bounds); e.DrawBackground(); e.DrawFocusRectangle(); e.Graphics.DrawString(this.tabControl1.TabPages[e.Index].Text, e.Font, new SolidBrush(e.ForeColor), e.Bounds); var tabpos = this.PointToClient(new Point(tabControl1.Left, tabControl1.Top)); e.Graphics.DrawString("X", this.Font, Brushes.Black, tabControl1.Right - 50, tabControl1.Top); } private void toolStripButton5_Click(object sender, EventArgs e) { if(this.tabControl1.TabPages.Count > 1) { while(tabControl1.TabPages.Count > 1) { var tab = this.tabControl1.TabPages[1]; var f = tab.Controls[0] as System.Windows.Forms.Form; f.Close(); f.Dispose(); tabControl1.TabPages.Remove(tab); this.tabControl1.Refresh(); } } Func_Login(); } private void 패치내역ToolStripMenuItem_Click(object sender, EventArgs e) { FCM0000.fPatchList f = new FCM0000.fPatchList(); f.Show(); } private void materialImportToolStripMenuItem_Click(object sender, EventArgs e) { var f = new FCM0000.fMaterial_Import(); f.Show(); } private void projectImportToolStripMenuItem_Click(object sender, EventArgs e) { var f = new FPJ0000.Import(); f.Show(); } private void 프로젝트ToolStripMenuItem_Click(object sender, EventArgs e) { menu_projecT_list(); } private void 업무일지ToolStripMenuItem_Click(object sender, EventArgs e) { menu_work_report(); } private void todoListToolStripMenuItem_Click(object sender, EventArgs e) { } private void projectImportCompleteToolStripMenuItem_Click(object sender, EventArgs e) { var f = new FPJ0000.ImportC(); f.Show(); } private void purchaseOrderImportToolStripMenuItem_Click(object sender, EventArgs e) { var f = new FEQ0000.fPurchase_ImportO(); // f.MdiParent = this; f.Show(); } } }