public async Task <object> Get(GetTeachers request) { Expression <Func <Teacher, bool> > filter = x => (request.FirstName == null || x.FirstName.Contains(request.FirstName)) && (request.LastName == null || x.LastName.Contains(request.LastName)) && (request.IsManager == null || x.IsManager == request.IsManager) && (request.DepartmentId == null || x.DepartmentId == request.DepartmentId); var teacherEntities = await _teacherService.GetAll(filter : filter, includeProperties : "Department,Subject"); var dtos = teacherEntities.ToList().ConvertAll(x => { var dto = x.ConvertTo <TeacherDto>(); dto.DepartmentName = x.Department.Name; dto.SubjectName = x.Subject?.Name; return(dto); }); return(new { Success = true, StatusCode = (int)HttpStatusCode.OK, Results = dtos, ItemCount = dtos.Count }); }
/// <summary> /// Get a List of all Teachers /// </summary> /// <returns>The <see cref="List{Teacher}"/> of all returned Teachers.</returns> public async Task <List <Teacher> > GetTeachers() { //Get the JSON GetTeachers teachers = new GetTeachers(); //Send and receive JSON from WebUntis string requestJson = JsonConvert.SerializeObject(teachers); string responseJson = await SendJsonAndWait(requestJson, _url, SessionId); //Parse JSON to Class TeachersResult result = JsonConvert.DeserializeObject <TeachersResult>(responseJson); string errorMsg = wus.LastError.Message; if (!SuppressErrors && errorMsg != null) { Logger.Append(Logger.LogLevel.Error, errorMsg); throw new WebUntisException(errorMsg); } //Return all the Teachers return(new List <Teacher>(result.result)); }