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));
        }
Beispiel #2
0
        /// <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);
        }