Example #1
0
        public void DateTimeUtils_AddWorkDays_AfterMonday_MustBeWednesday()
        {
            DateTime date = new DateTime(2011, 5, 16, 12, 56, 9);

            Assert.AreEqual(DayOfWeek.Monday, date.DayOfWeek);

            date = DateTimeUtils.AddWorkDays(date, 2, false, false, true, false, false, false, false);

            Assert.AreEqual(DayOfWeek.Wednesday, date.DayOfWeek);
            Assert.AreEqual(2011, date.Year);
            Assert.AreEqual(6, date.Month);
            Assert.AreEqual(1, date.Day);
            Assert.AreEqual(12, date.Hour);
            Assert.AreEqual(56, date.Minute);
            Assert.AreEqual(9, date.Second);
        }
Example #2
0
        public void DateTimeUtils_AddWorkDays_AfterThursday_In5DaysWeek_MustBeTuesday()
        {
            DateTime date = new DateTime(2011, 5, 19, 12, 56, 9);

            Assert.AreEqual(DayOfWeek.Thursday, date.DayOfWeek);

            date = DateTimeUtils.AddWorkDays(date, 3, true, true, true, true, true, false, false);

            Assert.AreEqual(DayOfWeek.Tuesday, date.DayOfWeek);
            Assert.AreEqual(2011, date.Year);
            Assert.AreEqual(5, date.Month);
            Assert.AreEqual(24, date.Day);
            Assert.AreEqual(12, date.Hour);
            Assert.AreEqual(56, date.Minute);
            Assert.AreEqual(9, date.Second);
        }
Example #3
0
        /// <summary>
        /// Добавить требуемое количество дней к дате (рабочих или календарных - зависит от этапа)
        /// </summary>
        /// <param name="startDate">Дата</param>
        /// <param name="daysCount">Количество дней</param>
        /// <returns></returns>
        public virtual DateTime AddDays(DateTime startDate, int daysCount)
        {
            if (InWorkDays)
            {
                var productionOrder = Batch.ProductionOrder;

                return(DateTimeUtils.AddWorkDays(startDate, daysCount,
                                                 productionOrder.MondayIsWorkDay,
                                                 productionOrder.TuesdayIsWorkDay,
                                                 productionOrder.WednesdayIsWorkDay,
                                                 productionOrder.ThursdayIsWorkDay,
                                                 productionOrder.FridayIsWorkDay,
                                                 productionOrder.SaturdayIsWorkDay,
                                                 productionOrder.SundayIsWorkDay));
            }
            else
            {
                return(startDate.AddDays(daysCount));
            }
        }