public IHttpActionResult GetAll([FromUri] int categoryId, FilterKMCModel filter) { var query = db.KMCs.Where(k => k.KMCCategoryId == categoryId && (filter.Title == null || k.Title.Contains(filter.Title)) && (filter.CreatedBy == null || k.User.Name.Contains(filter.CreatedBy)) && (filter.DateFrom == null || filter.DateTo == null || DbFunctions.TruncateTime(k.CreatedDate) <= DbFunctions.TruncateTime(filter.DateTo) && DbFunctions.TruncateTime(k.CreatedDate) >= DbFunctions.TruncateTime(filter.DateFrom)) ).Select(s => new KMCModel { Id = s.Id, Title = s.Title, ThumbnailUrl = s.Thumbnail, CreatedBy = s.User.Name, CreatedDate = s.CreatedDate, AvatarUrl = s.User.UserAccount.Avatar }); if (filter.QuickSearch != null) { query = query.Where(k => k.Title.Contains(filter.QuickSearch) || k.CreatedBy.Contains(filter.QuickSearch)); } var kmc = query.ToList(); return(Ok(kmc)); }
public IHttpActionResult GetKMC(int?userId, int categoryId, FilterKMCModel filter) { var query = db.KMCs.Where(k => k.KMCCategoryId == categoryId && k.IsShow && (filter.Title == null || k.Title.Contains(filter.Title)) && (filter.CreatedBy == null || k.User.Name.Contains(filter.CreatedBy)) && (filter.DateFrom == null || filter.DateTo == null || DbFunctions.TruncateTime(k.CreatedDate) <= DbFunctions.TruncateTime(filter.DateTo) && DbFunctions.TruncateTime(k.CreatedDate) >= DbFunctions.TruncateTime(filter.DateFrom)) ); var query1 = query.Where(k => k.IsPublic).ToList(); var query2 = query.Where(k => !k.IsPublic).Join(db.KMCRole, s => s.Id, s => s.KMCId, (s, e) => new { KMC = s, KMCRole = e }).Join(db.UserRole.Where(u => u.UserId == userId), s => s.KMCRole.RoleId, s => s.RoleId, (s, e) => s.KMC).ToList(); var query3 = query1.Union(query2); var data = query3.Select(s => new KMCModel { Id = s.Id, Title = s.Title, ThumbnailUrl = s.Thumbnail, CreatedBy = s.User.Name, CreatedDate = s.CreatedDate, AvatarUrl = s.User.UserAccount.Avatar }); if (filter.QuickSearch != null) { data = data.Where(k => k.Title.Contains(filter.QuickSearch) || k.CreatedBy.Contains(filter.QuickSearch)); } var kmc = data.ToList(); return(Ok(kmc)); }
public async Task <ActionResult> _List(int?Id, FilterKMCModel filter) { var response = await WepApiMethod.SendApiAsync <List <KMCModel> >(HttpVerbs.Post, $"KMC/Home/GetAll?userId={CurrentUser.UserId}&categoryId={Id}", filter); var model = new List <KMCModel>(); if (response.isSuccess) { model = response.Data; } if (model.Count > 0) { ViewBag.PageInfo = "Showing 1 - " + model.Count + " of " + model.Count + " results"; } else { ViewBag.PageInfo = "Showing 0 - 0 of 0 results"; } return(PartialView(model)); }