コード例 #1
0
        public virtual OperationResultWithData <IEnumerable <ACSessionParticipantDto> > GetAttendanceReport([FromBody] ReportRequestDto request)
        {
            try
            {
                LmsCourseMeeting meeting = this.LmsCourseMeetingModel.GetOneByCourseAndId(LmsCompany.Id, CourseId, request.MeetingId);
                if (meeting == null)
                {
                    return(OperationResultWithData <IEnumerable <ACSessionParticipantDto> > .Error(Messages.MeetingNotFound));
                }

                IEnumerable <ACSessionParticipantDto> report = _reportService.GetAttendanceReports(
                    meeting.GetMeetingScoId(),
                    this.GetAdminProvider(),
                    TimeZoneInfo.Utc,
                    request.StartIndex,
                    request.Limit);

                // TRICK: check that is not API call.
                if (SessionSave != null)
                {
                    // TRICK: clean not to serialize
                    foreach (var item in report)
                    {
                        item.login       = null;
                        item.principalId = null;
                    }
                }

                return(report.ToSuccessResult());
            }
            catch (Exception ex)
            {
                string errorMessage = GetOutputErrorMessage("GetAttendanceReport", ex);
                return(OperationResultWithData <IEnumerable <ACSessionParticipantDto> > .Error(errorMessage));
            }
        }