public bool AddCMSCategory(CMSCategoryViewModel viewModel)
        {
            try
            {
                var category = CMSCategoryMapper.ConvertCMSCategoryViewModelToCMSCategory(viewModel);
                _cmsCategoryRepository.Add(category);
                _cmsCategoryRepository.Save();

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public CMSCategoryViewModel GetCMSCategoryById(int?categoryId)
        {
            if (categoryId == null)
            {
                return(null);
            }

            var category = _cmsCategoryRepository.Find(categoryId);

            if (category != null)
            {
                return(CMSCategoryMapper.ConvertCMSCategoryToCMSCategoryViewModel(category));
            }

            return(null);
        }
        public IList <CMSCategoryViewModel> GetChildCategoriesByParentId(int?parentId)
        {
            if (parentId == null)
            {
                return(null);
            }

            var categories = _cmsCategoryRepository.GetCMSCategoriesByParentId(parentId);

            if (categories.Count == 0)
            {
                var category = _cmsCategoryRepository.Find(parentId);
                categories = _cmsCategoryRepository.GetCMSCategoriesByParentId(category.ParentId);

                return(CMSCategoryMapper.ConvertListCMSCategoryToListCMSCategoryViewModel(categories));
            }

            return(CMSCategoryMapper.ConvertListCMSCategoryToListCMSCategoryViewModel(categories));
        }
        public IList <CMSCategoryViewModel> GetCMSCategories(string keyword, int pageNumber, int pageSize, out int totalItems)
        {
            var categories = _cmsCategoryRepository.GetCMSCategories(keyword, pageNumber, pageSize, out totalItems);

            return(CMSCategoryMapper.ConvertListCMSCategoryToListCMSCategoryViewModel(categories));
        }