Example #1
0
        public void InitializeCalendar(DateTime targetDate)
        {
            CalendarDays.Clear();

            // First day of the targeted month.
            var firstDay = new Date(targetDate.Year, targetDate.Month, 1);

            // Make sure that each calendar page starts with a monday.
            var dayOfTheWeek = firstDay.DayOfWeek;

            firstDay = firstDay.AddDays(-dayOfTheWeek);

            // Each calendar page has six weeks (rows). That means that we will show 42 days in total.
            for (var i = 0; i < 42; i++)
            {
                var calendarDay = new CalendarDay
                {
                    Date          = firstDay,
                    IsTargetMonth = targetDate.Month == firstDay.Month,
                    IsToday       = firstDay == Date.Today
                };

                CalendarDays.Add(calendarDay);

                // Move to the next day.
                firstDay = firstDay.AddDays(1);
            }
        }
Example #2
0
        //private static ITrace _tr = Trace.CurrentTrace;

        public static int GetDailyPrintNumber(Date date, int refNumber, Date refDate, SpecialDay noPrintDays, Dictionary <int, int> noPrintDates, Dictionary <int, int> noPrintNumbers)
        {
            int  no    = refNumber;
            Date date2 = refDate;

            while (date > date2)
            {
                date2 = date2.AddDays(1);
                if (!noPrintDates.ContainsKey(date2.AbsoluteDay) && !SpecialDayTools.IsSpecialDay(noPrintDays, date2))
                {
                    do
                    {
                        no++;
                    } while (noPrintNumbers.ContainsKey(no));
                }
            }
            while (date < date2)
            {
                if (!noPrintDates.ContainsKey(date2.AbsoluteDay) && !SpecialDayTools.IsSpecialDay(noPrintDays, date2))
                {
                    do
                    {
                        no--;
                    } while (noPrintNumbers.ContainsKey(no));
                }
                date2 = date2.AddDays(-1);
            }
            return(no);
        }
Example #3
0
        // GetLeMondePrintNumber
        public static int GetPrintNumber(Date date)
        {
            // Le monde - 2012-12-02 - no 21110.pdf
            // Le monde - 2012-10-12 - no 21066.pdf
            // Le monde - 2012-07-19 - no 20993.pdf
            // pas de journal le 1er mai sauf si c'est un dimanche, journal le dimanche 1er mai 2011
            // Test_GetLeMondePrintNumber("2012-04-29"); // ok  20925
            // Test_GetLeMondePrintNumber("2012-05-02"); // ok  20926
            Date dateRef = new Date(2012, 12, 2);
            int  noRef   = 21110;

            while (date > dateRef)
            {
                if (dateRef.DayOfWeek != DayOfWeek.Sunday && (dateRef.Month != 5 || dateRef.Day != 1 || dateRef.DayOfWeek == DayOfWeek.Sunday))
                {
                    noRef++;
                }
                dateRef = dateRef.AddDays(1);
            }
            while (date < dateRef)
            {
                if (dateRef.DayOfWeek != DayOfWeek.Monday && (dateRef.Month != 5 || dateRef.Day != 1 || dateRef.DayOfWeek == DayOfWeek.Sunday))
                {
                    noRef--;
                }
                dateRef = dateRef.AddDays(-1);
            }
            if (date != dateRef)
            {
                throw new PBException("error date not found {0}", date.ToString());
            }
            return(noRef);
        }
Example #4
0
        protected int GetDailyPrintNumber(Date date)
        {
            PrintDateNumberReference dateNumberReference = _dateNumberReferences.GetReference(date);
            int  no    = dateNumberReference.number;
            Date date2 = dateNumberReference.date;

            while (date > date2)
            {
                date2 = date2.AddDays(1);
                if (!_noPrintDates.ContainsKey(date2.AbsoluteDay) && !SpecialDayTools.IsSpecialDay(_noPrintDays, date2))
                {
                    do
                    {
                        no++;
                    } while (_noPrintNumbers.ContainsKey(no));
                }
            }
            while (date < date2)
            {
                if (!_noPrintDates.ContainsKey(date2.AbsoluteDay) && !SpecialDayTools.IsSpecialDay(_noPrintDays, date2))
                {
                    do
                    {
                        no--;
                    } while (_noPrintNumbers.ContainsKey(no));
                }
                date2 = date2.AddDays(-1);
            }
            return(no);
        }
Example #5
0
        public void Ctor_ToValue_Ok()
        {
            Date today  = Date.Today.AddDays(-2);
            var  target = new TimeRange(today, today.AddDays(5));

            Assert.Equal(today.StartOfTheDay(), target.From);
            Assert.Equal(today.AddDays(5).EndOfTheDay(), target.To);
        }
Example #6
0
        private string GetWeekName()
        {
            var diff = (7 + (Date.DayOfWeek - DayOfWeek.Monday)) % 7;
            var week = Date.AddDays(-1 * diff).Date;

            return(week.ToString("d", Culture));
        }
Example #7
0
        /// <summary>
        /// Commandy pro pøepnutí na další nebo pøedchozí v øadì Den, Mìsíc, Rok
        /// </summary>
        private void PrevCommand()
        {
            Messenger.Default.Send(new SimpleMessage {
                Type = SimpleMessage.MessageType.NotInStatisticsView
            });

            if (mode == modes.days)
            {
                Date       = Date.AddDays(-1);
                DateString = Date.ToShortDateString();
            }

            else if (mode == modes.months)
            {
                Date       = Date.AddMonths(-1);
                DateString = monthsString[Date.Month - 1];
            }

            else if (mode == modes.years)
            {
                Date = Date.AddYears(-1);

                DateString = Date.Year.ToString();
            }
            Messenger.Default.Send(Date, "applicationToken");
            Messenger.Default.Send(new SimpleMessage {
                Type = SimpleMessage.MessageType.StopTimer
            });
        }
Example #8
0
        public string GetHtmlToolbar(HttpRequest request)
        {
            var path    = request.Path + "?date=";
            var builder = new StringBuilder();

            builder.AppendFormat("<a href='{1}{0:yyyy-MM-dd}'>&lt;&lt;</a>", Date.AddDays(-1), path);
            builder.AppendFormat("<span>{0:dd.MM.yyyy}</span>", Date);

            if (Date < DateTime.Today.AddDays(-2))
            {
                builder.AppendFormat("<a href='{1}{0:yyyy-MM-dd}'>&gt;&gt;</a>", Date.AddDays(1), path);
            }

            if (Date < DateTime.Today && Date != DateTime.Today.AddDays(-1))
            {
                builder.AppendFormat("<a href='{1}{0:yyyy-MM-dd}'>Yesterday</a>", DateTime.Today.AddDays(-1), path);
            }

            if (Date < DateTime.Today)
            {
                builder.AppendFormat("<a href='{0}'>Today</a>", request.Path);
            }

            if (Date == DateTime.Today)
            {
                builder.Append("<span>Today</span>");
                builder.Append("<label><input type='checkbox' data-bind='checked: isAutoRefresh' />Auto refresh</label>");
                builder.Append("<button data-bind='click: updateLogs, enable: !isAutoRefresh()'>Refresh</button>");
            }

            return(builder.ToString());
        }
Example #9
0
        public void AddDays()
        {
            var date    = new Date(2019, 11, 04);
            var newDate = date.AddDays(45);

            newDate.Should().Be(new Date(2019, 12, 19));
        }
Example #10
0
        //cash flow must be sorted by date
        public static double GetAccruedInterest(Date calcDate, Cashflow[] cashflow, IDayCount dayCount, bool isEod = true)
        {
            int nextCashflow;
            var flg = GetAccruedInterestCommon(out nextCashflow, calcDate, cashflow);

            if (!flg)
            {
                return(0.0);
            }

            var startDate    = nextCashflow == 0 ? cashflow[0].AccrualStartDate : cashflow[nextCashflow - 1].PaymentDate;
            var coupon       = cashflow[nextCashflow].CouponRate;
            var refStartDate = cashflow[nextCashflow].RefStartDate;
            var refEndDate   = cashflow[nextCashflow].RefEndDate;
            var notional     = cashflow[nextCashflow].StartPrincipal;

            if (!isEod)
            {
                return(dayCount.CalcDayCountFraction(startDate, calcDate, refStartDate, refEndDate) * coupon * notional);
            }
            else
            {
                return(dayCount.CalcDayCountFraction(startDate, calcDate.AddDays(1), refStartDate, refEndDate) * coupon * notional);
            }
        }
        public async void GetNonTradingDays(int year, int expectedCount)
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            HttpRequestMessage requestMessage = null;
            var fileName       = String.Format("asx-trading-calendar-{0}.htm", year);
            var messageHandler = mockRepository.CreateFileContentMessageHandler(fileName, "text/html", x => requestMessage = x);

            var httpClient  = new HttpClient(messageHandler.Object);
            var dataService = new AsxDataService(httpClient);

            var result = await dataService.GetNonTradingDays(year, CancellationToken.None);

            requestMessage.Method.Should().Be(HttpMethod.Get);
            requestMessage.RequestUri.AbsoluteUri.Should().Be("http://www.asx.com.au/about/" + fileName);
            result.Should().HaveCount(expectedCount);

            var newYearsDay = new Date(year, 01, 01);

            while (!newYearsDay.WeekDay())
            {
                newYearsDay = newYearsDay.AddDays(1);
            }

            result.First().Should().BeEquivalentTo(new NonTradingDay(newYearsDay, "New Year's Day"));
        }
        public void EndWithProperties()
        {
            var properties = new EffectiveProperties <EffectivePropertyTestClass>();

            var start = new Date(2019, 12, 01);

            properties.Change(start, new EffectivePropertyTestClass("InitialValue"));

            var change = new Date(2019, 12, 31);

            properties.Change(change, new EffectivePropertyTestClass("Change1"));

            var end = new Date(2020, 01, 15);

            properties.End(end);

            properties.Values.Should().SatisfyRespectively(
                first =>
            {
                first.EffectivePeriod.Should().Be(new DateRange(change, end));
                first.Properties.Value.Should().Be("Change1");
            },
                second =>
            {
                second.EffectivePeriod.Should().Be(new DateRange(start, change.AddDays(-1)));
                second.Properties.Value.Should().Be("InitialValue");
            }
                );
        }
        public SummaryTests()
        {
            var startDate = new Date(2019, 1, 1);

            _allDays = Enumerable
                       .Range(1, 365)
                       .Select(day => Summary.DailySummary(startDate.AddDays(day - 1), $"What I did on day {day}"));

            _allWeeks = Enumerable
                        .Range(1, 52)
                        .Select(week => Summary.WeeklySummary(startDate.AddDays(7 * (week - 1)), $"What I did in week {week}"));

            _allMonths = Enumerable
                         .Range(1, 12)
                         .Select(month => Summary.MonthlySummary(((Month)startDate).AddMonths(month - 1), $"What I did in month {month}"));
        }
Example #14
0
    public int CountFilesByDate(string path)
    {
        DirectoryInfo di = new DirectoryInfo(path);

        FileSystemInfo[] files = di.GetFileSystemInfos();
        return(files.Where(f => f.CreationTime >= Date && f.CreationTime < Date.AddDays(1) && f.Extension == ".pdf").Count());
    }
Example #15
0
 public void CanAddNegativeDays()
 {
     var dt = new Date(2000, 1, 1);
     var actual = dt.AddDays(-1);
     var expected = new Date(1999, 12, 31);
     Assert.Equal(expected, actual);
 }
        public void TestDateAddDays()
        {
            Date date   = new Date(2013, 8, 12);
            Date result = date.AddDays(1);

            result.Should().Be(new Date(2013, 8, 13));
        }
Example #17
0
        public FindCourtViewModel(Page page) : base(page)
        {
            int hour = DateTime.Now.Hour;

            Date = DateTime.Now;

            if (hour == 23)
            {
                Hour = new TimeSpan(0, 0, 0);
                Date = Date.AddDays(1);
            }
            else
            {
                Hour = new TimeSpan(DateTime.Now.Hour + 1, 0, 0);
            }

            FindCommand = new Command(async() =>
            {
                DateTime timeToSearch = new DateTime(Date.Year, Date.Month, Date.Day, Hour.Hours, 0, 0);
                if (timeToSearch < DateTime.Now)
                {
                    await DisplayAlertAsync(Services.MessagesTexts.datetime_is_past);
                }
                else
                {
                    await OpenPageAsync(new FindListView(timeToSearch));
                }
            });
        }
        public void ChangeDividendRules()
        {
            var listingDate = new Date(2000, 01, 01);
            var changeDate  = new Date(2001, 01, 01);

            var stock = new Stock(Guid.NewGuid());

            stock.List("ABC", "ABC Pty Ltd", listingDate, false, AssetCategory.AustralianStocks);
            stock.ChangeDividendRules(changeDate, 0.40m, RoundingRule.Truncate, true, DrpMethod.RetainCashBalance);

            using (new AssertionScope())
            {
                stock.DividendRules[changeDate.AddDays(-1)].Should().BeEquivalentTo(new
                {
                    CompanyTaxRate       = 0.30m,
                    DividendRoundingRule = RoundingRule.Round,
                    DrpActive            = false,
                    DrpMethod            = DrpMethod.Round
                });

                stock.DividendRules[changeDate].Should().BeEquivalentTo(new
                {
                    CompanyTaxRate       = 0.40m,
                    DividendRoundingRule = RoundingRule.Truncate,
                    DrpActive            = true,
                    DrpMethod            = DrpMethod.RetainCashBalance
                });
            }
        }
        public void TestDateAddDaysInvalidParmeters()
        {
            Date   date = new Date(1, 1, 1);
            Action test = () => date.AddDays(999999999);

            test.ShouldThrow <ArgumentOutOfRangeException>().WithMessage(Strings.Date_InvalidAddedOrSubtractedResults + "\r\nParameter name: value");
        }
Example #20
0
        public static Date FindNearest(Date date, SkipQuantumEnum skip)
        {
            Date result;

            switch (skip)
            {
            case SkipQuantumEnum.DAYS:
                return(date);

            case SkipQuantumEnum.WEEKS:
                result = date;
                while (result.DayOfWeek != TimesCommon.Current.StartToWeek)
                {
                    result = result.AddDays(-1);
                }
                return(result);

            case SkipQuantumEnum.MONTHS:
                return(new Date(date.Year, date.Month, 1));

            case SkipQuantumEnum.QUARTERS:
                result = new Date(date.Year, date.Month, 1);
                while (result.Month != 1 && result.Month != 4 && result.Month != 7 && result.Month != 10)
                {
                    result = result.AddMonths(-1);
                }
                return(result);

            case SkipQuantumEnum.YEARS:
                return(new Date(date.Year, 1, 1));

            default:
                throw new NotSupportedException(String.Format("Unsupported option: {0}", skip));
            }
        }
        public void ChangeProperties()
        {
            var listingDate = new Date(2000, 01, 01);
            var changeDate  = new Date(2001, 01, 01);

            var stock = new Stock(Guid.NewGuid());

            stock.List("ABC", "ABC Pty Ltd", listingDate, false, AssetCategory.AustralianStocks);
            stock.ChangeProperties(changeDate, "XYZ", "XYZ Pty Ltd", AssetCategory.AustralianProperty);

            using (new AssertionScope())
            {
                stock.Properties[changeDate.AddDays(-1)].Should().BeEquivalentTo(new
                {
                    AsxCode  = "ABC",
                    Name     = "ABC Pty Ltd",
                    Category = AssetCategory.AustralianStocks
                });

                stock.Properties[changeDate].Should().BeEquivalentTo(new
                {
                    AsxCode  = "XYZ",
                    Name     = "XYZ Pty Ltd",
                    Category = AssetCategory.AustralianProperty
                });
            }
        }
Example #22
0
        public Planning()
        {
            DataContext = this;

            Courses           = new ObservableCollection <Course>(App.CurrentUser.Course);
            CoursesOccurrence = new ObservableCollection <CourseOccurrence>(App.Model.courseoccurrence);

            var s = from c in CoursesOccurrence
                    where c.Course.User.Equals(App.CurrentUser) && c.Date.CompareTo(Date) >= 0 && c.Date.CompareTo(Date.AddDays(+7)) < 0
                    select c;

            CourseOccurrence = new ObservableCollection <CourseOccurrence>(s);

            Presences = new ObservableCollection <Presence>(App.Model.presence);

            PreviousWeek = new RelayCommand(() => { Datum.SelectedDate = Date.AddDays(-7); CourseOccurrence.RefreshFromModel(s); });
            NextWeek     = new RelayCommand(() => { Datum.SelectedDate = Date.AddDays(+7); CourseOccurrence.RefreshFromModel(s); });


            App.Messenger.Register <Course>(App.MSG_CANCEL, Course => { });

            DisplayEncodage = new RelayCommand <CourseOccurrence>((co) => {
                foreach (Student st in co.Course.Student)
                {
                    Presence p = new Presence(st.Id, co.Id);
                    if (co.Course.Student.Count() > co.Presence.Count() && !Presences.Any(pr => pr.Student == p.Student && pr.CourseOccurence == p.CourseOccurence))
                    {
                        App.Model.presence.Add(p);
                    }
                }
                App.Messenger.NotifyColleagues(App.MSG_DISPLAY_ENCODAGE, co);
            });

            InitializeComponent();
        }
        public void TestDateAddDays()
        {
            Date date   = new Date(2013, 8, 12);
            Date result = date.AddDays(1);

            Assert.Equal(new Date(2013, 8, 13), result);
        }
        public void ChangeOnSameDateAsExistingProperty()
        {
            var properties = new EffectiveProperties <EffectivePropertyTestClass>();

            var start = new Date(2019, 12, 01);

            properties.Change(start, new EffectivePropertyTestClass("InitialValue"));

            var change = new Date(2019, 12, 31);

            properties.Change(change, new EffectivePropertyTestClass("Change1"));

            properties.Change(change, new EffectivePropertyTestClass("Change2"));

            properties.Values.Should().SatisfyRespectively(
                first =>
            {
                first.EffectivePeriod.Should().Be(new DateRange(change, Date.MaxValue));
                first.Properties.Value.Should().Be("Change2");
            },
                second =>
            {
                second.EffectivePeriod.Should().Be(new DateRange(start, change.AddDays(-1)));
                second.Properties.Value.Should().Be("InitialValue");
            }
                );
        }
Example #25
0
        public void AddAndSubtractTests()
        {
            var date = new Date(2001, 1, 1);

            var nextDay = date.AddDays(1);

            Assert.Equal(2001, nextDay.Year);
            Assert.Equal(1, nextDay.Month);
            Assert.Equal(2, nextDay.Day);

            var nextMonth = nextDay.AddMonths(1);

            Assert.Equal(2001, nextMonth.Year);
            Assert.Equal(2, nextMonth.Month);
            Assert.Equal(2, nextMonth.Day);

            var nextYear = nextMonth.AddYears(1);

            Assert.Equal(2002, nextYear.Year);
            Assert.Equal(2, nextYear.Month);
            Assert.Equal(2, nextYear.Day);

            var previousMonth = nextYear.AddMonths(-2);

            Assert.Equal(2001, previousMonth.Year);
            Assert.Equal(12, previousMonth.Month);
            Assert.Equal(2, previousMonth.Day);

            var previousDay = previousMonth.AddDays(-2);

            Assert.Equal(2001, previousDay.Year);
            Assert.Equal(11, previousDay.Month);
            Assert.Equal(30, previousDay.Day);
        }
        public void SetFirstDerivativeAverageValue(Dictionary <DateTime, StockMarketDaily> allData, int daysback)
        {
            daysback = 0 - daysback;
            DateTime currentDate = Date.AddDays(daysback);

            decimal total     = 0;
            decimal totalDays = 0;

            while (currentDate.IsBefore(this.Date))
            {
                if (allData.ContainsKey(currentDate))
                {
                    var currentDayData = allData[currentDate];
                    total += currentDayData.FirstDerivativeValue;
                    totalDays++;
                }
                currentDate = currentDate.AddDays(1);
            }

            if (totalDays > 0)
            {
                FirstDerivativeAverage = total / totalDays;
            }
            else
            {
                FirstDerivativeAverage = 0;
            }
        }
Example #27
0
        // multiple insert with parameters in one query
        static void generateData(MySqlConnection conn, int countStations)
        {
            int    stationId         = 10010;
            int    hour              = 0;
            Date   date              = new Date(2015, 1, 1);
            int    countObservations = 365 * 24;
            Random random            = new Random();

            int[] six_hour_alp = new int[2];
            six_hour_alp[1] = -9999;
            StringBuilder builder = new StringBuilder();

            builder.Append("insert into test(station_id, date, hour, air_temperature, dew_point, sea_level, wind_direction, wind_speed, cloud_cover, six_hour_alp) values ");

            for (int j = 0; j < countObservations; j++)
            {
                builder.AppendFormat("(@station_id{0}, @date{0}, @hour{0}, @air_temperature{0}, @dew_point{0}, @sea_level{0}, @wind_direction{0}, @wind_speed{0}, @cloud_cover{0}, @six_hour_alp{0}),", j);
            }

            builder.Replace(',', ';', builder.Length - 1, 1);

            using (MySqlCommand command = new MySqlCommand(builder.ToString(), conn))
            {
                command.Prepare();

                for (int i = 0; i < countStations; i++)
                {
                    for (int j = 0; j < countObservations; j++)
                    {
                        command.Parameters.AddWithValue("@station_id" + j, stationId);
                        command.Parameters.AddWithValue("@date" + j, date.ToString("s"));
                        command.Parameters.AddWithValue("@hour" + j, hour);
                        command.Parameters.AddWithValue("@air_temperature" + j, random.Next(-200, 201));
                        command.Parameters.AddWithValue("@dew_point" + j, random.Next(-200, 201));
                        command.Parameters.AddWithValue("@sea_level" + j, random.Next(9000, 11001));
                        command.Parameters.AddWithValue("@wind_direction" + j, random.Next(0, 361));
                        command.Parameters.AddWithValue("@wind_speed" + j, random.Next(0, 301));
                        command.Parameters.AddWithValue("@cloud_cover" + j, random.Next(0, 20));
                        command.Parameters.AddWithValue("@six_hour_alp" + j, six_hour_alp[random.Next(0, 2)]);

                        if (hour < 23)
                        {
                            hour += 1;
                        }
                        else
                        {
                            hour = 0;
                            date = date.AddDays(1);
                        }
                    }

                    command.ExecuteNonQuery();
                    command.Parameters.Clear();

                    stationId += 1;
                    date       = new Date(2015, 1, 1);
                    hour       = 0;
                }
            }
        }
Example #28
0
        public void CanAddZeroDays()
        {
            var dt       = new Date(2000, 1, 1);
            var actual   = dt.AddDays(0);
            var expected = new Date(2000, 1, 1);

            Assert.Equal(expected, actual);
        }
        public void TestDateAddDaysInvalidParmeters()
        {
            Date   date      = new Date(1, 1, 1);
            Action test      = () => date.AddDays(999999999);
            var    exception = Assert.Throws <ArgumentOutOfRangeException>(test);

            Assert.Equal(Strings.Date_InvalidAddedOrSubtractedResults + "\r\nParameter name: value", exception.Message);
        }
Example #30
0
        public void CanAddPositiveDays()
        {
            var dt       = new Date(2000, 1, 1);
            var actual   = dt.AddDays(1);
            var expected = new Date(2000, 1, 2);

            Assert.Equal(expected, actual);
        }
Example #31
0
        public void CanAddNegativeDays()
        {
            var dt       = new Date(2000, 1, 1);
            var actual   = dt.AddDays(-1);
            var expected = new Date(1999, 12, 31);

            Assert.Equal(expected, actual);
        }
Example #32
0
 public void CanAddZeroDays()
 {
     var dt = new Date(2000, 1, 1);
     var actual = dt.AddDays(0);
     var expected = new Date(2000, 1, 1);
     Assert.Equal(expected, actual);
 }
Example #33
0
 public static void Test_CalculatePrintNumber_02(Print print, string directory, Date date, int nb)
 {
     string traceFile = zPath.Combine(zPath.Combine(directory, @"Print\CalculatePrintDateNumber"), string.Format("Print_{0}_Number.txt", print.Name));
     Trace.WriteLine("print {0} frequency {1} calculate number from date {2:dd-MM-yyyy} nb {3} trace file \"{4}\"", print.Name, print.Frequency, date, nb, zPath.GetFileName(traceFile));
     //Trace.CurrentTrace.DisableBaseLog();
     //Trace.CurrentTrace.DisableTraceView = true;
     //Trace.CurrentTrace.AddTraceFile(traceFile, LogOptions.RazLogFile);
     Trace.CurrentTrace.AddOnWrite("Test_CalculatePrintNumber_02", WriteToFile.Create(traceFile, FileOption.RazFile).Write);
     try
     {
         Trace.WriteLine("print {0} frequency {1} calculate number from date {2:dd-MM-yyyy} nb {3}", print.Name, print.Frequency, date, nb);
         Trace.WriteLine();
         if (print.Frequency == PrintFrequency.Daily)
         {
             for (int i = 0; i < nb; i++)
             {
                 PrintIssue issue = print.NewPrintIssue(date);
                 int number = issue.PrintNumber;
                 Trace.WriteLine("{0:yyyy-MM-dd ddd} {1}", issue.Date, number);
                 date = date.AddDays(1);
             }
         }
         else if (print.Frequency == PrintFrequency.Weekly)
         {
             for (int i = 0; i < nb; i++)
             {
                 PrintIssue issue = print.NewPrintIssue(date);
                 int number = issue.PrintNumber;
                 Trace.WriteLine("{0:yyyy-MM-dd ddd} {1}", issue.Date, number);
                 date = date.AddDays(7);
             }
         }
         else if (print.Frequency == PrintFrequency.Monthly)
         {
             for (int i = 0; i < nb; i++)
             {
                 PrintIssue issue = print.NewPrintIssue(date);
                 int number = issue.PrintNumber;
                 Trace.WriteLine("{0:yyyy-MM-dd ddd} {1}", issue.Date, number);
                 date = date.AddMonths(1);
             }
         }
         else if (print.Frequency == PrintFrequency.Bimonthly || print.Frequency == PrintFrequency.Quarterly)
         {
             int lastNumber = 0;
             for (int i = 0; i < nb; )
             {
                 PrintIssue issue = print.NewPrintIssue(date);
                 int number = issue.PrintNumber;
                 if (number != lastNumber)
                 {
                     Trace.WriteLine("{0:yyyy-MM-dd ddd} {1}", issue.Date, number);
                     lastNumber = number;
                     i++;
                 }
                 date = date.AddMonths(1);
             }
         }
     }
     finally
     {
         //Trace.CurrentTrace.EnableBaseLog();
         //Trace.CurrentTrace.RemoveTraceFile(traceFile);
         Trace.CurrentTrace.RemoveOnWrite("Test_CalculatePrintNumber_02");
         Trace.CurrentTrace.DisableViewer = false;
     }
 }
Example #34
0
 public void CanAddPositiveDays()
 {
     var dt = new Date(2000, 1, 1);
     var actual = dt.AddDays(1);
     var expected = new Date(2000, 1, 2);
     Assert.Equal(expected, actual);
 }