public async Task <AllTeachersListViewModel> GetAllEligibleTeacherForGroup(int groupId) { var group = await this.db.Groups.FirstOrDefaultAsync(g => g.Id == groupId); var weekDay = group.DayOfWeek; var startTime = group.StartTime; var duration = group.Duration; var teachers = await this.db.Teachers.Include(t => t.Groups).ToArrayAsync(); var freeTeachers = teachers .Where(t => CheckTeacherIsFree(weekDay, startTime, duration, t)) .Select(t => new TeachersListDetailsViewModel { Id = t.Id, FirstName = t.FirstName, LastName = t.LastName, Groups = t.Groups.Select(x => x.Name).ToArray(), //do I need this here Capacity = 0, //TODO Efficiency = 0, //TODO }) .ToArray(); var model = new AllTeachersListViewModel { Teachers = freeTeachers }; return(model); }
public AllTeachersListViewModel GetAll() { var teachers = this.db.Teachers .Where(x => x.Status != TeacherStatus.Quit) .Select(teacher => new TeachersListDetailsViewModel { Id = teacher.Id, FirstName = teacher.FirstName, LastName = teacher.LastName, Capacity = 0, //TODO Efficiency = 0, //TODO Groups = teacher.Groups.Select(x => x.Name).ToArray(), }) .ToArray() .OrderBy(x => x.Id) .ToArray(); var model = new AllTeachersListViewModel() { Teachers = teachers }; return(model); }