Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }