Exemple #1
0
        private void PreData_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            //workChart.Value = 40;
            string _senderName = ((Label)sender).Name;

            int days = _senderName.Equals("nextData") ? 7 : -7;

            DateTime tagetDate = CDateTime.GetDateFromYYYYMMDD(sDate.Content.ToString()).AddDays(days);

            //if (tagetDate.Year == (DateTime.Now.Year - 1))
            //{
            //    if (sDate.Content.ToString().Substring(4, 4).Equals("0101"))
            //    {
            //        //MessageBox.Show("전년도로 이동은 불가합니다.");
            //        _vm.ShowError("전년도로 이동은 불가합니다.");

            //        tagetDate = CDateTime.GetDateFromYYYYMMDD(DateTime.Now.Year + "0101");
            //    }
            //    else
            //    {
            //        tagetDate = CDateTime.GetDateFromYYYYMMDD(DateTime.Now.Year + "0101");
            //    }
            //}
            //else if (tagetDate.Year == (DateTime.Now.Year + 1))
            //{
            //    if (eDate.Content.ToString().Substring(4, 4).Equals("1231"))
            //    {
            //        //MessageBox.Show("내년도로 이동은 불가합니다.");
            //        _vm.ShowError("내년도로 이동은 불가합니다.");
            //        tagetDate = CDateTime.GetDateFromYYYYMMDD(DateTime.Now.Year + "1231");
            //    }
            //    else
            //    {
            //        tagetDate = CDateTime.GetDateFromYYYYMMDD(DateTime.Now.Year + "1231");
            //    }
            //}

            try
            {
                String[] weekinfo = new CommonUtil().getWeekInfo(tagetDate.ToString("yyyyMMdd"));

                if (weekinfo[0] == null || weekinfo[1] == null)
                {
                    _vm.ShowError("연도데이터가 등록되지 않아 이동이 불가합니다.");
                    return;
                }

                lb_week.Content = weekinfo[0];
                String[] wi = weekinfo[1].Split('^');
                sDate.Content = wi[0];
                eDate.Content = wi[1];

                GetList();
            }
            catch (Exception ex)
            {
                _vm.ShowError("연도데이터가 등록되지 않아 이동이 불가합니다.");
            }
        }
        private void Btn_workTimeReg_Click(object sender, RoutedEventArgs e)
        {
            String _workDate = "";

            String _sDateTime = "";
            String _eDateTime = "";

            if (workDate.Text.Equals(""))
            {
                //MessageBox.Show("일자를 입력하여 주시기 바랍니다.");
                _vm.ShowError("일자를 입력하여 주시기 바랍니다.");
                workDate.Focus();
                return;
            }
            else
            {
                _workDate = workDate.Text.Replace("-", "");
            }

            if (vacationReason.Text.Equals(""))
            {
                //MessageBox.Show("휴가사유를 입력하여 주시기 바랍니다.");
                _vm.ShowError("휴가사유를 입력하여 주시기 바랍니다.");
                vacationReason.Focus();
                return;
            }

            //직접입력
            if (cbVacationKb.SelectedIndex == 0)
            {
                //시간입력 체크
                System.DateTime?sdt = startTime.SelectedDateTime;
                System.DateTime?edt = endTime.SelectedDateTime;

                if (sdt == null || edt == null)
                {
                    //MessageBox.Show("시간이 입력되지 않았습니다.");
                    _vm.ShowError("시간이 입력되지 않았습니다.");
                    return;
                }

                _sDateTime = sdt?.ToString("yyyyMMdd") + sdt?.TimeOfDay.ToString().Replace(":", "");
                _eDateTime = edt?.ToString("yyyyMMdd") + edt?.TimeOfDay.ToString().Replace(":", "");
            }
            else if (cbVacationKb.SelectedIndex == 1)
            {
                _sDateTime = _workDate + "130000";
                _eDateTime = _workDate + "180000";
            }
            else
            {
                _sDateTime = _workDate + "090000";
                _eDateTime = _workDate + "170000";
            }

            DateTime workStart = CDateTime.GetDateFrom_yyyyMMddHHmmss(_sDateTime);
            DateTime workEnd   = CDateTime.GetDateFrom_yyyyMMddHHmmss(_eDateTime);

            TimeSpan TS = new TimeSpan(workEnd.Ticks - workStart.Ticks);

            //총근무시간
            int spanMinute = (int)TS.TotalMinutes;

            if (Int32.Parse(_leftTimeCheck.Content.ToString()) < spanMinute)
            {
                //MessageBox.Show("야근 총 시간보다 더 많은 시간을 입력할 수 없습니다.");
                _vm.ShowError("야근 총 시간보다 더 많은 시간을 입력할 수 없습니다.");
                return;
            }

            //데이터베이스 등록처리
            regWorkData(_workDate, _sDateTime, _eDateTime);
        }