Пример #1
0
        public string update(time_config timeConfig)
        {
            try
            {
                UserInfoService us             = new UserInfoService();
                string          quanxian_save1 = us.new_quanxian("upd", "工作时间及休息日");
                if (quanxian_save1 != null && quanxian_save1.Length > 0 && quanxian_save1 == "是")
                {
                }
                else
                {
                    return(ResultUtil.error("没有权限!"));
                }

                tcs = new TimeConfigService();
                if (tcs.update(timeConfig))
                {
                    return(ResultUtil.success("保存成功"));
                }
                else
                {
                    return(ResultUtil.success("未保存"));
                }
            }
            catch (ErrorUtil err)
            {
                return(ResultUtil.fail(401, err.Message));
            }
            catch
            {
                return(ResultUtil.error("修改失败"));
            }
        }
Пример #2
0
 /// <summary>
 /// 检查时间配置信息,为空改为null
 /// </summary>
 /// <param name="time"></param>
 /// <returns></returns>
 public time_config checkTime(time_config time)
 {
     time.morning_start = time.morning_start.Equals(string.Empty) ? null : time.morning_start;
     time.morning_end   = time.morning_end.Equals(string.Empty) ? null : time.morning_end;
     time.noon_start    = time.noon_start.Equals(string.Empty) ? null : time.noon_start;
     time.noon_end      = time.noon_end.Equals(string.Empty) ? null : time.noon_end;
     time.night_start   = time.night_start.Equals(string.Empty) ? null : time.night_start;
     time.night_end     = time.night_end.Equals(string.Empty) ? null : time.night_end;
     return(time);
 }
Пример #3
0
        public double workHour(DateTime startDateTime)
        {
            getHolidayList();
            if (holidayList.Find(h => h.day_or_reset.Date == startDateTime.Date) != null)
            {
                return(0);
            }
            getTimeList();

            int         week       = startDateTime.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)startDateTime.DayOfWeek;
            time_config timeConfig = timeList.Find(t => t.week == week);

            DateTimeFormatInfo format = new DateTimeFormatInfo();

            format.ShortDatePattern = "HH:mm";

            TimeSpan mStart    = Convert.ToDateTime(timeConfig.morning_start, format).TimeOfDay;
            TimeSpan startTime = startDateTime.TimeOfDay.Hours == 0 ? mStart : startDateTime.TimeOfDay;

            TimeSpan mEnd  = Convert.ToDateTime(timeConfig.morning_end, format).TimeOfDay;
            TimeSpan mHour = mEnd <= startTime ? new TimeSpan(0, 0, 0) : mEnd - mStart;

            TimeSpan oStart = Convert.ToDateTime(timeConfig.noon_start, format).TimeOfDay;
            TimeSpan oEnd   = Convert.ToDateTime(timeConfig.noon_end, format).TimeOfDay;
            TimeSpan oHour  = oEnd <= startTime ? new TimeSpan(0, 0, 0) : oEnd - oStart;

            TimeSpan nStart = Convert.ToDateTime(timeConfig.night_start, format).TimeOfDay;
            TimeSpan nEnd   = Convert.ToDateTime(timeConfig.night_end, format).TimeOfDay;
            TimeSpan nHour  = nEnd <= startTime ? new TimeSpan(0, 0, 0) : nEnd - nStart;

            if (mHour.Hours > 24 || oHour.Hours > 24 || nHour.Hours > 24)
            {
                throw new TimeError("请检查工作时间配置是否正确");
            }
            else
            {
                TimeSpan result = new TimeSpan();

                if (startTime <= nEnd)
                {
                    result = nEnd - startTime;
                }
                if (startTime <= oEnd)
                {
                    result = (nEnd - nStart) + (oEnd - startTime);
                }
                if (startTime <= mEnd)
                {
                    result = (nEnd - nStart) + (oEnd - oStart) + (mEnd - startTime);
                }

                return(result.TotalHours);
            }
        }
Пример #4
0
 /// <summary>
 /// 修改
 /// </summary>
 /// <param name="timeConfig"></param>
 /// <returns></returns>
 public Boolean update(time_config timeConfig)
 {
     return(cd.update <time_config>(checkTime(timeConfig)));
 }
Пример #5
0
 /// <summary>
 /// 新增
 /// </summary>
 /// <param name="timeConfig"></param>
 /// <returns></returns>
 public time_config save(time_config timeConfig)
 {
     timeConfig.company = user.company;
     return(cd.save <time_config>(checkTime(timeConfig)));
 }