public async Task <IActionResult> GetPagedmealType([FromQuery] MealTypeParams mealTypeParams) { var mealTypes = await mealtypeRepository.GetPagedmealType(mealTypeParams); var result = mapper.Map <IEnumerable <ViewMealTypeResource> >(mealTypes); Response.AddPagination(mealTypes.CurrentPage, mealTypes.PageSize, mealTypes.TotalCount, mealTypes.TotalPages); return(Ok(result)); }
public async Task <PagedList <MealType> > GetPagedmealType(MealTypeParams mealTypeParams) { var mealTypes = context.MealType.AsQueryable(); // perlu user id untuk membatasi if (!string.IsNullOrEmpty(mealTypeParams.Code)) { mealTypes = mealTypes.Where(m => m.Code.Contains(mealTypeParams.Code, StringComparison.OrdinalIgnoreCase)); } if (!string.IsNullOrEmpty(mealTypeParams.Name)) { mealTypes = mealTypes.Where(m => m.Name.Contains(mealTypeParams.Name, StringComparison.OrdinalIgnoreCase)); } // if (!string.IsNullOrEmpty(mealTypeParams.vendorName)) // { // mealTypes = mealTypes.Where(m => m.MealVendor.Name.Contains(mealTypeParams.vendorName, StringComparison.OrdinalIgnoreCase)); // } //name,sort if (mealTypeParams.isDescending) { if (!string.IsNullOrEmpty(mealTypeParams.OrderBy)) { switch (mealTypeParams.OrderBy.ToLower()) { case "code": mealTypes = mealTypes.OrderByDescending(m => m.Code); break; case "name": mealTypes = mealTypes.OrderByDescending(m => m.Name); break; // case "vendorname": // mealTypes = mealTypes.OrderByDescending(m => m.MealVendor.Name); // break; default: mealTypes = mealTypes.OrderByDescending(m => m.Code); break; } } else { mealTypes = mealTypes.OrderByDescending(m => m.Code); } } else { if (!string.IsNullOrEmpty(mealTypeParams.OrderBy)) { switch (mealTypeParams.OrderBy.ToLower()) { case "code": mealTypes = mealTypes.OrderBy(m => m.Code); break; case "name": mealTypes = mealTypes.OrderBy(m => m.Name); break; // case "vendorname": // mealTypes = mealTypes.OrderBy(m => m.MealVendor.Name); // break; default: mealTypes = mealTypes.OrderBy(m => m.Code); break; } } else { mealTypes = mealTypes.OrderBy(m => m.Code); } } return(await PagedList <MealType> .CreateAsync(mealTypes, mealTypeParams.PageNumber, mealTypeParams.PageSize)); }