public async Task <ResultMessage <StudentDTO> > GetStudentById(int studentId) { StudentDTO student = await GetSingleOrDefault(x => x.StudentId == studentId); if (student == null) { return(new ResultMessage <StudentDTO>(OperationStatus.NotFound)); } if (student.Deleted) { student = new DeletedStudentDTO(student); } return(new ResultMessage <StudentDTO>(student)); }
/// <summary> /// Retuns list of chat messages with specific details. /// </summary> /// <param name="offset">Number of elements to skip</param> /// <param name="limit">Number of elements to take</param> public async Task <List <ChatMessageDTO> > GetWithDetails(int offset, int limit) { List <ChatMessageDTO> messages = await GetRange(offset, limit, condition : x => !x.Deleted, sortKeySelector : x => x.SentOn); foreach (ChatMessageDTO message in messages) { StudentDTO student = await _studentService.GetSingleOrDefault(x => x.StudentId == message.StudentId); if (student.Deleted) { student = new DeletedStudentDTO(student); } message.StudentInitials = student.Initials; message.Username = student.Username; message.Privilege = student.Privilege; } return(messages); }