Example #1
0
        public IHttpActionResult GetTags(string filterName, int page = 1, int pageSize = 10, string sortBy = "id", string sortDirection = "asc")
        {
            try
            {
                _logger.Debug(string.Format("ini process - GetAll,idUser: {0}", CurrentIdUser));

                List <FilterOption> filters = new List <FilterOption>();

                if (!string.IsNullOrEmpty(filterName))
                {
                    filters.Add(new FilterOption {
                        Field = "Name", Value = filterName, Sign = "%"
                    });
                }


                List <string> selectColumnsList = new List <string>
                {
                    "Id",
                    "Name",
                    "State"
                };

                List <Tag> entities = _tagBL.GetAll(filters, page, pageSize, sortBy, sortDirection, selectColumnsList);

                List <Setting> settingList = _commonBL.GetByIdCategorySetting((int)EnumCategorySetting.States);

                var result = from entity in entities select new {
                    entity.Id,
                    entity.Name,
                    entity.State,
                    StateName = settingList.SingleOrDefault(x => x.Id == entity.State).Name
                };
                var pagedRecord = new PagedList
                {
                    Content      = result.ToList(),
                    TotalRecords = _tagBL.CountGetAll(filters, page, pageSize),
                    CurrentPage  = page,
                    PageSize     = pageSize
                };

                _logger.Debug(string.Format("finish GetAll , idUser: {0}", CurrentIdUser));
                return(Ok(pagedRecord));
            }
            catch (Exception ex)
            {
                LogError(ex);
                return(InternalServerError(ex));
            }
        }