Esempio n. 1
0
        public MonthlyRevenue ComputeMonthlyRevenue(string branchName, int year, int month)
        {
            var dateTime = new DateTime(year, month, 1);

            var oneTimeGames = gameRepository
                            .GetGames(branchName, dateTime.FirstDayOfMonth(), dateTime.LastDayOfMonth())
                            .Where(game => game.GamePaymentType == GamePaymentType.OneTime)
                            .ToList();

            var packageGames = oneTimeGames.Where(game => game.PackageType != PackageType.No_Package);
            var nonPackageGames = oneTimeGames.Where(game => game.PackageType == PackageType.No_Package);

            var membershipReCharges = membershipRepository.GetRecharges(branchName, dateTime.FirstDayOfMonth(), dateTime.LastDayOfMonth()).ToList();

            return new MonthlyRevenue
                       {
                           DateTime = dateTime,
                           NonMembershipGamesCount = oneTimeGames.Count,
                           MembershipRechargesCount = membershipReCharges.Count,
                           RevenueByNonPackageOneTimeGames = nonPackageGames.Sum(game => game.Price),
                           RevenueByPackageOneTimeGames = packageGames.Sum(game => game.Price),
                           RevenueByMembershipRecharges = membershipReCharges.Sum(recharge => recharge.Price),
                           EbMeterReading = dailySaleDetailsRepository.GetEbMeterReadingForTheMonth(branchName, year, month),
                           MonthlyExpense = monthlyExpensesRepository.GetMonthlyExpenses(branchName, month, year)
                       };
        }
 public void eom_as_input_calcs_begin_and_end_properly()
 {
     var realLastDay = new DateTime(2012, 02, 29);
     var realFirstDay = new DateTime(2012, 02, 01);
     var today = new DateTime(2012, 02, 29);
     today.LastDayOfMonth().ShouldEqual(realLastDay.ToDate());
     today.FirstDayOfMonth().ShouldEqual(realFirstDay.ToDate());
 }
        public void Can_get_last_day_of_the_DateTime(int year, int month, int expectedLastDay)
        {
            var dateTime = new DateTime(year, month, 1);
            var expectedDateTime = new DateTime(year, month, expectedLastDay);

            var lastDayOfMonth = dateTime.LastDayOfMonth();

            lastDayOfMonth.ShouldEqual(expectedDateTime);
        }
Esempio n. 4
0
        public static FullMonthToAView FullMonthToAViewFor(DateTime dateTime, IDocumentSession session)
        {
            var firstDayOfMonth = dateTime.FirstDayOfMonth();
            var weekDayOfFirstDayOfMonth = firstDayOfMonth.DayOfWeek;
            var firstDateToFind = firstDayOfMonth;
            if (weekDayOfFirstDayOfMonth == DayOfWeek.Tuesday)
                firstDateToFind = firstDayOfMonth.AddDays(-1);
            if (weekDayOfFirstDayOfMonth == DayOfWeek.Wednesday)
                firstDateToFind = firstDayOfMonth.AddDays(-2);
            if (weekDayOfFirstDayOfMonth == DayOfWeek.Thursday)
                firstDateToFind = firstDayOfMonth.AddDays(-3);
            if (weekDayOfFirstDayOfMonth == DayOfWeek.Friday)
                firstDateToFind = firstDayOfMonth.AddDays(-4);
            if (weekDayOfFirstDayOfMonth == DayOfWeek.Saturday)
                firstDateToFind = firstDayOfMonth.AddDays(-5);
            if (weekDayOfFirstDayOfMonth == DayOfWeek.Sunday)
                firstDateToFind = firstDayOfMonth.AddDays(-6);

            var lastDayOfMonth = dateTime.LastDayOfMonth();
            var weekDayOfLastDayOfMonth = lastDayOfMonth.DayOfWeek;
            var lastDateToFind = lastDayOfMonth;
            if (weekDayOfLastDayOfMonth == DayOfWeek.Monday)
                lastDateToFind = lastDayOfMonth.AddDays(6);
            if (weekDayOfLastDayOfMonth == DayOfWeek.Tuesday)
                lastDateToFind = lastDayOfMonth.AddDays(5);
            if (weekDayOfLastDayOfMonth == DayOfWeek.Wednesday)
                lastDateToFind = lastDayOfMonth.AddDays(4);
            if (weekDayOfLastDayOfMonth == DayOfWeek.Thursday)
                lastDateToFind = lastDayOfMonth.AddDays(3);
            if (weekDayOfLastDayOfMonth == DayOfWeek.Friday)
                lastDateToFind = lastDayOfMonth.AddDays(2);
            if (weekDayOfLastDayOfMonth == DayOfWeek.Saturday)
                lastDateToFind = lastDayOfMonth.AddDays(1);

            var bookings = session.Advanced.LuceneQuery<Booking>()
                .WhereBetweenOrEqual(x => x.Date, firstDateToFind, lastDateToFind)
                .ToList();
            return new FullMonthToAView(bookings, firstDateToFind, lastDateToFind);
        }
 public void LastDayOfMonthTest()
 {
     var today = new DateTime(2014, 4, 28);
     today.LastDayOfMonth().ShouldEqual("30/04/2014");
 }
 public void LastDayOfMonthTest()
 {
     var date = new DateTime(2000, 2, 1);
     var expected = new DateTime(2000, 2, 29);
     var actual = date.LastDayOfMonth();
     Assert.AreEqual(expected, actual);
 }
Esempio n. 7
0
		public static CalendarRange Range(
			DateTime date,
			CalendarView vista,
			DayOfWeek firstDayOfWeek = DayOfWeek.Monday,
			DayOfWeek lastDayOfWeek = DayOfWeek.Sunday)
		{
			var selectedDate = date.Date;

			var firstDay = selectedDate.FirstDayOfWeek();

			if (vista == CalendarView.Day)
			{
				firstDay = date;
			}

			if (vista != CalendarView.Month)
			{
				var dates =
					Enumerable
						.Range(0, (int)vista)
						.Select(dayCount => firstDay.AddDays(dayCount))
						.ToList();

				return new CalendarRange(dates.First(), dates.Last());
			}

			var firstDayOfMonth = date.FirstDayOfMonth();
			var first = firstDayOfMonth.FirstDayOfWeek(firstDayOfWeek);

			var lastDayOfMonth = date.LastDayOfMonth();
			var last = lastDayOfMonth.LastDayOfWeek(lastDayOfWeek);

			return new CalendarRange(first, last);
		}
 public void last_day_of_month()
 {
     var date = new DateTime(2012, 6, 7);
     date.LastDayOfMonth().ShouldEqual(new DateTime(2012, 6, 30).ToDate());
 }
 public void end_of_month_calcs_properly_mid_month_input()
 {
     var realLastDay = new DateTime(2012, 02, 29);
     var today = new DateTime(2012, 02, 03);
     today.LastDayOfMonth().ShouldEqual(realLastDay.ToDate());
 }
Esempio n. 10
0
 public void LastDayOfMonth_Returns_Valid_Result(DateTime date, DateTime expectedDate)
 {
     Assert.That(date.LastDayOfMonth(), Is.EqualTo(expectedDate));
 }
Esempio n. 11
0
        private DateTime NextDateAsOf(DateTime startDate, DateTime specificDate)
        {
            specificDate = specificDate.Date;
            DateTime result = DateTime.MinValue;
            if (this.Recurrence.Name == Recurrence.Weekly)
            {
                result = startDate;
                while (result < specificDate)
                {
                    result = result.AddDays(7);
                }
            }
            else if (this.Recurrence.Name == Recurrence.Biweekly)
            {
                result = startDate;
                while (result < specificDate)
                {
                    result = result.AddDays(14);
                }
            }
            else if (this.Recurrence.Name == Recurrence.Monthly)
            {
                result = startDate;
                while (result < specificDate)
                {
                    result = result.AddMonths(1);
                }
            }
            else if (this.Recurrence.Name == Recurrence.Bimonthly)
            {
                result = startDate;
                while (result < specificDate)
                {
                    result = result.AddMonths(2);
                }
            }
            else if (this.Recurrence.Name == Recurrence.LastDayOfMonth)
            {
                result = startDate.LastDayOfMonth();
                while (result < specificDate)
                {
                    result = result.AddMonths(1).LastDayOfMonth();
                }
            }
            else if (this.Recurrence.Name == Recurrence.None && startDate >= specificDate)
            {
                result = startDate;
            }

            return result;
        }
        public void LastDayOfMonth()
        {
            var dateTime1 = new DateTime(2013, 3, 22);
            var dateTime2 = new DateTime(2013, 2, 22);
            var dateTime3 = new DateTime(2012, 2, 22);

            var date1 = dateTime1.LastDayOfMonth();
            var date2 = dateTime1.LastDayOfMonth(DayOfWeek.Monday);
            var date3 = dateTime2.LastDayOfMonth();
            var date4 = dateTime3.LastDayOfMonth();

            Assert.AreEqual(new DateTime(2013, 3, 31), date1);
            Assert.AreEqual(new DateTime(2013, 3, 25), date2);
            Assert.AreEqual(new DateTime(2013, 2, 28), date3);
            Assert.AreEqual(new DateTime(2012, 2, 29), date4);
        }