using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace FPJ0000.OtConfirm { public partial class fHolyRequestAdd : Form { DSKuntae.EETGW_HolydayRequestRow dr; public fHolyRequestAdd(DSKuntae.EETGW_HolydayRequestRow dr_) { InitializeComponent(); dr = dr_; var 구분목록 = FCOMMON.DBM.getCodeList("50"); var 사유목록 = FCOMMON.DBM.getCodeList("51"); var 위치목록 = FCOMMON.DBM.getCodeList("52"); var 백업목록 = FCOMMON.DBM.getCodeList("53"); tbCate.Items.Clear(); tbReason.Items.Clear(); tbLocation.Items.Clear(); tbBackup.Items.Clear(); foreach (var item in 구분목록) tbCate.Items.Add(item.Value); foreach (var item in 사유목록) tbReason.Items.Add(item.Value); foreach (var item in 위치목록) tbLocation.Items.Add(item.Value); foreach (var item in 백업목록) tbBackup.Items.Add(item.Value); if (dr.RowState == DataRowState.Detached) { this.Text = "휴가신청 추가"; tbName.Text = FCOMMON.info.Login.nameK; tbProcess.Text = FCOMMON.info.Login.process; tbTel.Text = FCOMMON.info.Login.tel; } else { this.Text = "휴가신청 편집"; tbName.Text = dr.name; tbProcess.Text = dr.processs; tbTel.Text = dr.tel; } if (dr.conf == 1) rad1.Checked = true; else if (dr.conf == 2) rad2.Checked = true; else rad0.Checked = true; tbCate.Text = dr.cate; tbRemark.Text = dr.Remark; tbResponse.Text = dr.Response; tbSD.Value = DateTime.Parse(dr.sdate); tbED.Value = DateTime.Parse(dr.edate); tbReason.Text = dr.HolyReason; tbLocation.Text = dr.HolyLocation; tbBackup.Text = dr.HolyBackup; tbDays.Text = dr.HolyDays.ToString(); //211224 tbTimes.Text = dr.HolyTimes.ToString(); } int curLevel = 0; private void fHolyRequestAdd_Load(object sender, EventArgs e) { curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.holyreq)); //관리자라면 관리자패널을 활성해준다. if (dr.RowState == DataRowState.Detached) { grpAdmin.Enabled = false; } else { grpAdmin.Enabled = curLevel >= 5; var 관리자사전멘트 = FCOMMON.DBM.getCodeList("54"); cmbPreset.Items.Clear(); cmbPreset.Items.Add(" -- 저장된 문구를 선택하세요(공용:54) --"); cmbPreset.Items.AddRange(관리자사전멘트.Select(t => t.Value).ToArray()); cmbPreset.SelectedIndex = 0; } } private void button1_Click(object sender, EventArgs e) { var cate = tbCate.Text.Trim(); var remark = tbRemark.Text.Trim(); var response = tbResponse.Text.Trim(); if (string.IsNullOrEmpty(cate)) { FCOMMON.Util.MsgE("구분을 입력하세요 (연차/하기휴가/연장근무)"); tbCate.Focus(); return; } if (tbED.Value.ToShortDateString().CompareTo(tbSD.Value.ToShortDateString()) < 0) { FCOMMON.Util.MsgE("시작일~종료일 범위를 확인하세요"); return; } var vDay = 0; var vTime = 0f; if (tbDays.Text.IsNumeric()) vDay = int.Parse(tbDays.Text.Trim()); if (tbTimes.Text.IsNumeric()) vTime = float.Parse(tbTimes.Text.Trim()); if (vDay < 1 && vTime < 0.1) { FCOMMON.Util.MsgE("사용 일/시간 값을 입력해주세요\n대체휴가에는 시간을 입력하세요"); return; } if (dr.RowState == DataRowState.Detached) { var dlg = FCOMMON.Util.MsgQ("입력을 완료하시겠습니까?\r\n관리자에게 메일로 알림이 발생 합니다"); if (dlg != DialogResult.Yes) return; } if (curLevel >= 5 && rad2.Checked) { if (string.IsNullOrEmpty(response)) { FCOMMON.Util.MsgE("거절 사유를 입력 해주세요"); tbResponse.Focus(); return; } } dr.HolyReason = tbReason.Text.Trim(); dr.HolyLocation = tbLocation.Text.Trim(); dr.HolyBackup = tbBackup.Text.Trim(); dr.cate = tbCate.Text.Trim(); dr.Remark = tbRemark.Text.Trim(); dr.Response = tbResponse.Text.Trim(); dr.sdate = tbSD.Value.ToShortDateString(); dr.edate = tbED.Value.ToShortDateString(); dr.HolyDays = vDay; dr.HolyTimes = vTime;// if (rad0.Checked) dr.conf = 0; else if (rad1.Checked) dr.conf = 1; else if (rad2.Checked) dr.conf = 2; else dr.conf = 0; dr.EndEdit(); DialogResult = DialogResult.OK; } private void button2_Click(object sender, EventArgs e) { } private void cmbPreset_SelectedIndexChanged(object sender, EventArgs e) { if (cmbPreset.SelectedIndex > 0) tbResponse.Text = cmbPreset.Text; } } }