public async Task <IActionResult> Get([FromQuery] MeetingContentCriteria criteria) { var userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); criteria.UserId = userId; var viewModels = await _meetingContentManager.GetAsync(criteria); this.Response.AddPagination( viewModels.CurrentPage, viewModels.PageSize, viewModels.TotalCount, viewModels.TotalPages); return(Ok(viewModels)); }
public async Task <IActionResult> GetScheduleContents(int id, [FromQuery] MeetingContentCriteria criteria) { var userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); criteria.Model.MeetingAgendaId = id; criteria.UserId = userId; var topics = await _meetingContentManager.GetScheduleContentsAsync(criteria); this.Response.AddPagination( topics.CurrentPage, topics.PageSize, topics.TotalCount, topics.TotalPages); return(Ok(topics)); }
public async Task <PagedList <MeetingContentViewModel> > GetScheduleContentsAsync(MeetingContentCriteria criteria) { try { var contents = Repository .GetQuery(x => x.MeetingAgendaId == criteria.Model.MeetingAgendaId && !x.IsRemoved) .OrderBy(x => x.Ordinal); var query = from content in contents join note in UnitOfWork.MeetingNoteRepository .GetQuery(x => x.UserId == criteria.UserId && !x.IsRemoved) on content.Id equals note.MeetingContentId into lj from note in lj.DefaultIfEmpty() select new MeetingContent { Id = content.Id, FileName = content.FileName, Ordinal = content.Ordinal, MeetingAgendaId = content.MeetingAgendaId, Ratio = content.Ratio, FileBase64 = note == null ? content.FileBase64 : note.Note }; var xx = query.ToList(); return(await this.ToPagedListAsync(query, criteria.PageSize, criteria.PageNumber)); } catch (Exception ex) { var a = ex.Message; throw ex; } }