public async Task <IActionResult> GetAllPublic([FromQuery] MemorizeUnitParams memorizeUnitParams) { //set IsGetTask para memorizeUnitParams.IsGetTaskToday = false; //get units var MemorizeUnits = await _repo.GetMemorizeUnits(memorizeUnitParams); //add paination header to response Response.AddPagination(MemorizeUnits.CurrentPage, MemorizeUnits.TotalPages, MemorizeUnits.PageSize, MemorizeUnits.TotalCount); return(Ok(MemorizeUnits)); }
public async Task <PagedList <MemorizeUnit> > GetMemorizeUnits(MemorizeUnitParams memorizeUnitParams) { var MemorizeUnits = _context.MemorizeUnits.AsQueryable(); //has username then return user Memorize Units, If not return all public Memorize Units if (!string.IsNullOrEmpty(memorizeUnitParams.Username)) { MemorizeUnits = MemorizeUnits.Where(x => x.OwnerUsername == memorizeUnitParams.Username); } else { if (memorizeUnitParams.IsGetTaskToday) { return(null); } else { MemorizeUnits = MemorizeUnits.Where(x => x.IsPrivate == false); } } if (memorizeUnitParams.IsGetTaskToday) { //get review task today MemorizeUnits = MemorizeUnits.Where(x => x.Schedules.Any(y => y.Date.Date == DateTime.Today.Date)); } if (!string.IsNullOrEmpty(memorizeUnitParams.SubjectNameSearch)) { MemorizeUnits = MemorizeUnits.Where(x => x.SubjectName.ToLower().Contains(memorizeUnitParams.SubjectNameSearch.ToLower())); } if (!string.IsNullOrEmpty(memorizeUnitParams.TitleSearch)) { MemorizeUnits = MemorizeUnits.Where(x => x.Title.ToLower().Contains(memorizeUnitParams.TitleSearch.ToLower())); } if (!string.IsNullOrEmpty(memorizeUnitParams.TagsSearch)) { MemorizeUnits = MemorizeUnits.Where(x => x.Tags.ToLower().Contains(memorizeUnitParams.TagsSearch.ToLower())); } return(await PagedList <MemorizeUnit> .CreateAsync(MemorizeUnits, memorizeUnitParams.PageNumber, memorizeUnitParams.PageSize)); }
public async Task <IActionResult> GetReviewTaskToday([FromQuery] MemorizeUnitParams memorizeUnitParams) { //get user name from para,check if user exist var userFromRepo = _repo.GetUserByUsername(memorizeUnitParams.Username); if (userFromRepo == null) { return(Unauthorized()); } //set IsGetTask para memorizeUnitParams.IsGetTaskToday = true; //get units var MemorizeUnits = await _repo.GetMemorizeUnits(memorizeUnitParams); Response.AddPagination(MemorizeUnits.CurrentPage, MemorizeUnits.TotalPages, MemorizeUnits.PageSize, MemorizeUnits.TotalCount); return(Ok(MemorizeUnits)); }