public async Task <List <CategoryMaster_CategoryDTO> > SingleListCategory([FromBody] CategoryMaster_CategoryFilterDTO CategoryMaster_CategoryFilterDTO)
        {
            CategoryFilter CategoryFilter = new CategoryFilter();

            CategoryFilter.Skip      = 0;
            CategoryFilter.Take      = 20;
            CategoryFilter.OrderBy   = CategoryOrder.Id;
            CategoryFilter.OrderType = OrderType.ASC;
            CategoryFilter.Selects   = CategorySelect.ALL;

            CategoryFilter.Id = new LongFilter {
                Equal = CategoryMaster_CategoryFilterDTO.Id
            };
            CategoryFilter.Code = new StringFilter {
                StartsWith = CategoryMaster_CategoryFilterDTO.Code
            };
            CategoryFilter.Name = new StringFilter {
                StartsWith = CategoryMaster_CategoryFilterDTO.Name
            };
            CategoryFilter.ParentId = new LongFilter {
                Equal = CategoryMaster_CategoryFilterDTO.ParentId
            };
            CategoryFilter.Icon = new StringFilter {
                StartsWith = CategoryMaster_CategoryFilterDTO.Icon
            };

            List <Category> Categorys = await CategoryService.List(CategoryFilter);

            List <CategoryMaster_CategoryDTO> CategoryMaster_CategoryDTOs = Categorys
                                                                            .Select(x => new CategoryMaster_CategoryDTO(x)).ToList();

            return(CategoryMaster_CategoryDTOs);
        }
        public async Task <int> Count([FromBody] CategoryMaster_CategoryFilterDTO CategoryMaster_CategoryFilterDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new MessageException(ModelState);
            }

            CategoryFilter CategoryFilter = ConvertFilterDTOToFilterEntity(CategoryMaster_CategoryFilterDTO);

            return(await CategoryService.Count(CategoryFilter));
        }
        public async Task <List <CategoryMaster_CategoryDTO> > List([FromBody] CategoryMaster_CategoryFilterDTO CategoryMaster_CategoryFilterDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new MessageException(ModelState);
            }

            CategoryFilter CategoryFilter = ConvertFilterDTOToFilterEntity(CategoryMaster_CategoryFilterDTO);

            List <Category> Categorys = await CategoryService.List(CategoryFilter);

            return(Categorys.Select(c => new CategoryMaster_CategoryDTO(c)).ToList());
        }
        public CategoryFilter ConvertFilterDTOToFilterEntity(CategoryMaster_CategoryFilterDTO CategoryMaster_CategoryFilterDTO)
        {
            CategoryFilter CategoryFilter = new CategoryFilter();

            CategoryFilter.Selects = CategorySelect.ALL;

            CategoryFilter.Id = new LongFilter {
                Equal = CategoryMaster_CategoryFilterDTO.Id
            };
            CategoryFilter.Code = new StringFilter {
                StartsWith = CategoryMaster_CategoryFilterDTO.Code
            };
            CategoryFilter.Name = new StringFilter {
                StartsWith = CategoryMaster_CategoryFilterDTO.Name
            };
            CategoryFilter.ParentId = new LongFilter {
                Equal = CategoryMaster_CategoryFilterDTO.ParentId
            };
            CategoryFilter.Icon = new StringFilter {
                StartsWith = CategoryMaster_CategoryFilterDTO.Icon
            };
            return(CategoryFilter);
        }