コード例 #1
0
        /// <summary>
        /// 初始化选中年份所有周六、周日为非工作日
        /// </summary>
        /// <param name="year"></param>
        /// <returns></returns>
        public virtual bool InitHoliday(string year, ref string strError)
        {
            using (DataAccessBroker broker = DataAccessFactory.Instance())
            {
                try
                {
                    string startDate = year + "-01-01";
                    string endDate   = year + "-12-31";
                    broker.BeginTransaction();

                    string sqlString = "DELETE FROM CAS_HOLIDAY WHERE HOLIDAY_DATE >= '" + startDate + "' AND HOLIDAY_DATE <= '" + endDate + "'";
                    broker.ExecuteNonQuery(sqlString, null, CommandType.Text);

                    DateTime dtStartDate = DateTime.Parse(startDate);
                    DateTime dtEndDate   = DateTime.Parse(endDate);
                    for (DateTime dt = dtStartDate; dt <= dtEndDate; dt = dt.AddDays(1))
                    {
                        if (((int)dt.DayOfWeek == 0) || ((int)dt.DayOfWeek == 6))
                        {
                            CasHolidayEntity casHolidayEntity = new CasHolidayEntity();
                            casHolidayEntity.HolidayId        = Guid.NewGuid().ToString();
                            casHolidayEntity.HolidayDate      = dt;
                            casHolidayEntity.IsDeleted        = false;
                            casHolidayEntity.CreateTime       = DateTime.Now;
                            casHolidayEntity.CreatedBy        = WebCaching.UserId;
                            casHolidayEntity.LastModifiedTime = DateTime.Now;
                            casHolidayEntity.LastModifiedBy   = WebCaching.UserId;

                            Insert(casHolidayEntity, broker);
                        }
                    }
                    broker.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    strError = ex.Message;
                    broker.RollBack();
                    return(false);
                }
            }
        }