public TimeRecordController(ITimeRecordBLL timeRecordBLL, IRepository<TimeRecord> timeRecordRepository, IUserBLL userBLL, ITimeRecordCalendarGenerator timeRecordCalendarGenerator) { Check.Require(timeRecordBLL != null); Check.Require(timeRecordCalendarGenerator != null); _timeRecordBLL = timeRecordBLL; _timeRecordRepository = timeRecordRepository; _userBLL = userBLL; _timeRecordCalendarGenerator = timeRecordCalendarGenerator; }
public static TimeRecordEntryViewModel Create(IRepository repository, IUserBLL userBLL, ITimeRecordBLL timeRecordBLL, TimeRecord timeRecord, ITimeRecordCalendarGenerator calendarGenerator) { var viewModel = new TimeRecordEntryViewModel { TimeRecord = timeRecord, TotalHours = repository.OfType<TimeRecordEntry>() .Queryable .Where(x => x.Record.Id == timeRecord.Id) .Sum(x => x.Hours), CalendarDays = calendarGenerator.GenerateCalendar(timeRecord), Projects = userBLL.GetAllProjectsByUser(repository.OfType<Project>()).ToList(), FundTypes = userBLL.GetUser().FundTypes, ActivityCategories = repository.OfType<ActivityCategory>() .Queryable .Where(c => c.IsActive) .OrderBy(c => c.Name) .ToList(), AdjustmentEntries = repository.OfType<TimeRecordEntry>() .Queryable .Where(x => x.Record.Id == timeRecord.Id && x.AdjustmentDate != null) .OrderBy(x => x.AdjustmentDate) .ToList() }; return viewModel; }