207 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			207 lines
		
	
	
		
			7.1 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;
 | |
| using NetOffice;
 | |
| using Outlook = NetOffice.OutlookApi;
 | |
| using NetOffice.OutlookApi.Enums;
 | |
| 
 | |
| namespace FBS0000
 | |
| {
 | |
|     public partial class fHolyday : FCOMMON.fBase
 | |
|     {
 | |
|         public fHolyday()
 | |
|         {
 | |
|             InitializeComponent();
 | |
|             this.dsMSSQL.Holyday.TableNewRow += Holyday_TableNewRow;
 | |
|         }
 | |
| 
 | |
|         private void __Load(object sender, EventArgs e)
 | |
|         {
 | |
|             tbSD.Text = DateTime.Now.Year.ToString("0000") + "-01-01";
 | |
|             tbED.Text = DateTime.Now.AddDays(10).ToShortDateString();
 | |
| 
 | |
|             var userlist = FCOMMON.DBM.getUserTable();
 | |
|             dvc_user.DataSource = userlist;
 | |
|             dvc_user.ValueMember = "Key";
 | |
|             dvc_user.DisplayMember = "Value";
 | |
| 
 | |
|             var cateList = FCOMMON.DBM.getCodeTable("02");
 | |
|             this.dvc_cate.DataSource = cateList;
 | |
|             dvc_cate.ValueMember = "Key";
 | |
|             dvc_cate.DisplayMember = "Value";
 | |
| 
 | |
|             var rrltList = FCOMMON.DBM.getCodeTable("03");
 | |
|             this.dvc_result.DataSource = rrltList;
 | |
|             dvc_result.ValueMember = "Key";
 | |
|             dvc_result.DisplayMember = "Value";
 | |
| 
 | |
|             //udpate user list
 | |
|             var userList = FCOMMON.DBM.getUserList();
 | |
|             this.cmbUser.Items.Clear();
 | |
|             this.cmbUser.Items.Add("-- ALL --");
 | |
|             int curuserindex = -1;
 | |
|             foreach (var user in userList)
 | |
|             {
 | |
|                 this.cmbUser.Items.Add(string.Format("[{0}] {1}", user.Key, user.Value));
 | |
|                 if (user.Key == FCOMMON.info.Login.no) curuserindex = cmbUser.Items.Count - 1;
 | |
|             }
 | |
|             this.cmbUser.SelectedIndex = curuserindex;
 | |
|             
 | |
|             //일반사용자의경우에는 상태를 변경하지 못한다.
 | |
|             int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAutoType.holyday));
 | |
|             if (curLevel >= 5)
 | |
|             {
 | |
|                 //권한이 잇으므로 모든 사용자로 한다.
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 this.cmbUser.Enabled = false;   //사용자를 고칠수 없게 한다.
 | |
|             }
 | |
| 
 | |
|             RefreshData();
 | |
|         }
 | |
| 
 | |
|         void Holyday_TableNewRow(object sender, DataTableNewRowEventArgs e)
 | |
|         {
 | |
|             e.Row["wuid"] = FCOMMON.info.Login.no;
 | |
|             e.Row["uid"] = FCOMMON.info.Login.no;
 | |
|             e.Row["wdate"] = DateTime.Now;
 | |
|             e.Row["cate"] = "10"; //기본 신청
 | |
|             e.Row["sdate"] = DateTime.Now.ToShortDateString();
 | |
|             e.Row["edate"] = DateTime.Now.ToShortDateString();
 | |
|             e.Row["term"] = 1.0f;
 | |
|             e.Row["Result"] = "00";
 | |
|         }
 | |
| 
 | |
| 
 | |
|         void RefreshData()
 | |
|         {
 | |
|             //update data
 | |
|             string uid = "%";
 | |
|             if (cmbUser.SelectedIndex > 0)
 | |
|             {
 | |
|                 uid = cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1);
 | |
|             }
 | |
|             this.ta.Fill(this.dsMSSQL.Holyday, tbSD.Text, tbED.Text, uid);
 | |
| 
 | |
|             //잔량계산
 | |
|             double sumdr = 0;
 | |
|             double sumcr = 0;
 | |
|             double jan = 0;
 | |
|             foreach( dsMSSQL.HolydayRow dr in this.dsMSSQL.Holyday.Rows)
 | |
|             {
 | |
|                 if (dr.RowState == DataRowState.Deleted || dr.RowState == DataRowState.Detached) continue;
 | |
|                 sumdr += dr.termDr;
 | |
|                 sumcr += dr.term;
 | |
|             }
 | |
|             jan = sumdr - sumcr;
 | |
|             sbGen.Text = sumdr.ToString("N0");
 | |
|             sbUse.Text = sumcr.ToString("N0");
 | |
|               sbJan.Text = jan.ToString("N0");
 | |
|               if (jan < 0) sbJan.ForeColor = Color.Red;
 | |
|               else sbJan.ForeColor = Color.Blue;    
 | |
|         }
 | |
|         private void boardBindingNavigatorSaveItem_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             this.Validate();
 | |
|             this.bs.EndEdit();
 | |
|             var dlg = FCOMMON.Util.MsgQ("변경된 내용을 저장하시겠습니까?");
 | |
|             if (dlg != System.Windows.Forms.DialogResult.Yes) return;
 | |
|             try
 | |
|             {
 | |
|                 this.tam.UpdateAll(this.dsMSSQL);
 | |
|             } catch (Exception ex)
 | |
|             {
 | |
|                 FCOMMON.Util.MsgE(ex.Message);
 | |
|             }
 | |
|             
 | |
| 
 | |
|         }
 | |
| 
 | |
|         private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             var newdr = this.dsMSSQL.Holyday.NewHolydayRow();
 | |
|             var f = new fHolyday_Add(newdr);
 | |
|             if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK)
 | |
|             {
 | |
|                 newdr.Delete();
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 newdr.EndEdit();
 | |
|                 this.dsMSSQL.Holyday.AddHolydayRow(newdr);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private void autoResizeComlumnsToolStripMenuItem_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             dv1.AutoResizeColumns();
 | |
|         }
 | |
| 
 | |
|         private void dv1_DataError(object sender, DataGridViewDataErrorEventArgs e)
 | |
|         {
 | |
| 
 | |
|         }
 | |
| 
 | |
|         private void dv1_DoubleClick(object sender, EventArgs e)
 | |
|         {
 | |
|             var drv = this.bs.Current as DataRowView;
 | |
|             if (drv == null) return;
 | |
|             var dr = drv.Row as dsMSSQL.HolydayRow;
 | |
|             var f = new fHolyday_Add(dr);
 | |
|             if(f.ShowDialog() != System.Windows.Forms.DialogResult.OK)
 | |
|             {
 | |
|                 dr.RejectChanges();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private void toolStripButton1_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             RefreshData();
 | |
|         }
 | |
| 
 | |
|         private void tbSD_KeyDown(object sender, KeyEventArgs e)
 | |
|         {
 | |
|             var tb = sender as ToolStripTextBox;
 | |
|             if(e.KeyCode == Keys.Enter)
 | |
|             {
 | |
|                 string datestring ;
 | |
|                 if(FCOMMON.Util.MakeDateString(tb.Text,out datestring))
 | |
|                 {
 | |
|                     tb.Text = datestring;
 | |
|                     SendKeys.Send("{TAB}");
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private void sendToMailToolStripMenuItem_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             var drv = this.bs.Current as DataRowView;
 | |
|             if (drv == null) return;
 | |
|             var dr = drv.Row as dsMSSQL.HolydayRow;
 | |
| 
 | |
|             //string to = dr.tolist;
 | |
|             //string body = "<html><body>test 2<strong>sfd</strong>nice to meet</body></html>";
 | |
|             //string bcc = string.Empty;
 | |
|             //string cc = string.Empty;
 | |
|             //string subject = "etst mail";
 | |
| 
 | |
|             Outlook.Application outlookApplication = new Outlook.Application();
 | |
|             Outlook.MailItem newTask = outlookApplication.CreateItem(OlItemType.olMailItem) as Outlook.MailItem;
 | |
|             newTask.Subject="mail test";
 | |
|             newTask.To = "Chikyun.Kim@amkor.co.kr";
 | |
|             newTask.HTMLBody = "<i><b>this is test mail</b></i>";
 | |
|             newTask.BodyFormat = OlBodyFormat.olFormatHTML;
 | |
|             newTask.Display();
 | |
| 
 | |
|             //FCOMMON.Util.RunDefaultMail(to, subject, body, cc, bcc);
 | |
|         }
 | |
| 
 | |
|     }
 | |
| }
 | 
