/// <summary> /// Creates the user view model, including populating the lookups /// </summary> public static UserViewModel Create(IUserBLL userBLL, IRepository repository) { var viewModel = new UserViewModel { Supervisors = userBLL.GetSupervisors().OrderBy(a => a.LastName).ToList(), Projects = userBLL.GetAllProjectsByUser(repository.OfType<Project>()).OrderBy(a => a.Name).ToList(), FundTypes = userBLL.GetAvailableFundTypes(repository.OfType<FundType>()).OrderBy(a => a.Name).ToList(), AvailableRoles = userBLL.GetVisibleRoles(), Subordinates = new List<User>() }; return viewModel; }
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; }
public static UserListViewModel Create(IUserBLL userBLL, IRepository<Project> projectRepository, int? filterProjectId) { var users = filterProjectId == null ? userBLL.GetAllUsers() : userBLL.GetAllUsers().Where(x => x.Projects.Contains(projectRepository.GetById(filterProjectId.Value))); var viewModel = new UserListViewModel { Users = users.ToList(), Projects = userBLL.GetAllProjectsByUser(projectRepository).ToList(), SelectedFilterProjectId = filterProjectId }; return viewModel; }