Beispiel #1
0
        private UserStatistics GetUserStatistics(int userId, int numOfDaysBack)
        {
            var info            = new UserStatistics();
            var firstDayOfWeek  = DateTime.Now;
            var firstDayOfMonth = DateTime.Now;

            while (firstDayOfWeek.DayOfWeek != DayOfWeek.Monday)
            {
                firstDayOfWeek = firstDayOfWeek.AddDays(-1);
            }

            while (firstDayOfMonth.Day != 1)
            {
                firstDayOfMonth = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
            }

            info.RegisteredHoursThisWeek  = _timeEntryRepository.GetRegisteredHours(firstDayOfWeek.Date, DateTime.Now, userId);
            info.RegisteredHoursToday     = _timeEntryRepository.GetRegisteredHours(DateTime.Now.Date, DateTime.Now, userId);
            info.RegisteredHoursThisMonth = _timeEntryRepository.GetRegisteredHours(firstDayOfMonth.Date, DateTime.Now, userId);
            info.EarningsToday            = _timeEntryRepository.GetEarningsByUser(DateTime.Now.Date, DateTime.Now, userId);
            info.EarningsThisWeek         = _timeEntryRepository.GetEarningsByUser(firstDayOfWeek.Date, DateTime.Now, userId);
            info.EarningsThisMonth        = _timeEntryRepository.GetEarningsByUser(firstDayOfMonth.Date, DateTime.Now, userId);
            info.BillableHoursToday       = _timeEntryRepository.GetBillableHours(DateTime.Now.Date, DateTime.Now, userId);
            info.BillableHoursThisWeek    = _timeEntryRepository.GetBillableHours(firstDayOfWeek.Date, DateTime.Now, userId);
            info.BillableHoursThisMonth   = _timeEntryRepository.GetBillableHours(firstDayOfMonth.Date, DateTime.Now, userId);

            return(info);
        }