public async Task <ActionResult <RoomDetailsDTO> > GetById(int id) { var model = await _context.Rooms.Where(x => x.Id == id) .Include(x => x.ClassRoomGroupList).ThenInclude(x => x.Group) .Include(x => x.ClassRoomTeachersList).ThenInclude(x => x.Employee) .Include(x => x.ClassRoomLessonsList).ThenInclude(x => x.Lesson) .FirstOrDefaultAsync(); if (model == null) { return(NotFound()); } model.ClassRoomTeachersList = model.ClassRoomTeachersList.OrderBy(x => x.Order).ToList(); var obj = new RoomDetailsDTO(); obj.Room = model; obj.Groups = model.ClassRoomGroupList.Select(x => x.Group).ToList(); obj.Lessons = model.ClassRoomLessonsList.Select(x => x.Lesson).ToList(); obj.Employees = model.ClassRoomTeachersList.Select(x => new Employee { Id = x.Employee.Id, FirstName = x.Employee.FirstName, MiddleName = x.Employee.MiddleName, LastName = x.Employee.LastName, Age = x.Employee.Age, Profile = x.Employee.Profile, DateOfGotAJob = x.Employee.DateOfGotAJob }).ToList(); return(obj); }
public RoomEntity MapToEntity(RoomDetailsDTO dto, RoomMapperBag bag) { return(new RoomEntity() { Id = dto.Id, Name = dto.Name, Author = bag.Author, ImagePath = dto.ImageUrl, Config = _roomConfigMapper.MapToEntity(dto.RoomConfigDTO) }); }
public async Task <HttpStatusCode> UpdateAsync(int id, RoomDetailsDTO room) { return(await PutAsync($"rooms/{id}", room)); }
public async Task <HttpStatusCode> CreateAsync(RoomDetailsDTO room) { return(await PostAsync("rooms", room)); }