public SuggestionPaggingListVM GetList(bool showIsDeleted = false, string searchText = "", string sortOrder = "", int pageNumber = 1, int pageItemCount = 10, Guid?categoryId = null)
        {
            if (!searchText.IsNullOrEmpty())
            {
                searchText = searchText.Trim().ToUpper();
            }

            SuggestionPaggingListVM result = new SuggestionPaggingListVM();

            result.Records = GetAllAsync(a => a.Title.ToUpper().Contains(searchText) ||
                                         a.Description.ToUpper().Contains(searchText),
                                         true, sortOrder, pageNumber, pageItemCount, categoryId).Result;

            #region Next Page Check
            var query = Repository.Query(showIsDeleted).AsNoTracking().AsQueryable();

            if (!searchText.IsNullOrEmpty())
            {
                query = query.Where(a => a.Title.ToUpper().Contains(searchText) ||
                                    a.Description.ToUpper().Contains(searchText)).AsQueryable();
            }

            result.Pagging = new PaggingVM();
            result.Pagging.IsNextPageExist = query.Skip((pageNumber * pageItemCount)).Take(1).Count() == 1;
            #endregion

            var users = _con.Set <User>().AsNoTracking().Select(s => new { s.Id, s.UserName }).ToList();

            foreach (var item in result.Records)
            {
                item.CreateByName = users.Any(a => a.Id == item.CreateById) ? users.Where(a => a.Id == item.CreateById).Select(s => s.UserName).FirstOrDefault() : "";
            }

            return(result);
        }
Beispiel #2
0
 public virtual async Task <T> GetByIDAysnc(Guid id)
 {
     try
     {
         return(await con.Set <T>().FirstOrDefaultAsync(p => p.Id == id && !p.IsDeleted));
     }
     catch (Exception ex)
     {
         _logger.LogError("Repository.GetByID", ex);
         return(null);
     }
 }
        public CategoryPaggingListVM GetList(bool showIsDeleted = false,
                                             int pageNumber     = 1, int pageItemCount = 10)
        {
            CategoryPaggingListVM result = new CategoryPaggingListVM();

            result.Records = GetAllAsync(null, true, pageNumber, pageItemCount).Result;

            #region Next Page Check
            var query = Repository.Query(showIsDeleted).AsNoTracking().AsQueryable();

            result.Pagging = new PaggingVM();
            result.Pagging.IsNextPageExist = query.Skip((pageNumber * pageItemCount)).Take(1).Count() == 1;
            #endregion

            var users = _con.Set <User>().AsNoTracking().Select(s => new { s.Id, s.UserName }).ToList();

            foreach (var item in result.Records)
            {
                item.CreateByName = users.Any(a => a.Id == item.CreateById) ? users.Where(a => a.Id == item.CreateById).Select(s => s.UserName).FirstOrDefault() : "";
            }

            return(result);
        }
        public UserPaggingListVM GetList(string searchText = "", int pageNumber = 1, int pageItemCount = 10)
        {
            if (!searchText.IsNullOrEmpty())
            {
                searchText = searchText.Trim().ToUpper();
            }

            UserPaggingListVM result = new UserPaggingListVM();

            var query = _con.Set <User>().Where(a => searchText.IsNullOrEmpty() || a.UserName.Contains(searchText)).AsNoTracking().OrderBy(a => a.UserName).AsQueryable();

            if (pageNumber > 1)
            {
                query = query.Skip((pageNumber - 1) * pageItemCount);
            }

            result.Records = (from u in query
                              select new UserVM()
            {
                Id = u.Id,
                PictureUrl = u.PictureUrl,
                Name = u.UserName,
                SuggetionCount = (from s in _con.Set <Suggestion>().AsNoTracking()
                                  where s.CreateBy == u.Id
                                  select s).Count(),
                CommentCount = (from s in _con.Set <SuggestionComment>().AsNoTracking()
                                where s.CreateBy == u.Id
                                select s).Count(),
                ReactionCount = (from s in _con.Set <SuggestionReaction>().AsNoTracking()
                                 where s.CreateBy == u.Id
                                 select s).Count()
            }).Take(pageItemCount).ToList();

            #region Next Page Check
            query = _con.Set <User>().AsNoTracking().AsQueryable();

            if (!searchText.IsNullOrEmpty())
            {
                query = query.Where(a => a.UserName.ToUpper().Contains(searchText)).AsQueryable();
            }

            result.Pagging = new PaggingVM();
            result.Pagging.IsNextPageExist = query.Skip((pageNumber * pageItemCount)).Take(1).Count() == 1;
            #endregion

            return(result);
        }