public void CreateCategoryCharacteristic(CategoryCharacteristicDTO ccDTO)
        {
            var categoryCharacteristic = new CategoryCharacteristic();

            categoryCharacteristic.Id               = Guid.NewGuid();
            categoryCharacteristic.CategoryID       = ccDTO.CategoryID;
            categoryCharacteristic.CharacteristicID = ccDTO.CharacteristicID;
            _categoryCharacteristicRepository.Create(categoryCharacteristic);
        }
        public ActionResult AddCategoryCharacteristic(Guid?categoryID, Guid?charID)
        {
            // to do
            var categoryChar = new CategoryCharacteristicDTO();

            categoryChar.CategoryID       = (Guid)categoryID;
            categoryChar.CharacteristicID = (Guid)charID;
            _catalog.CreateCategoryCharacteristic(categoryChar);
            return(RedirectToAction("CategoryEditor", new { id = (Guid)categoryID }));
        }
        public CategoryCharacteristicDTO GetCategoryCharacteristicByID(Guid id)
        {
            var buff = _categoryCharacteristicRepository.GetWithInclude(x => x.Id == id, y => y.Characteristic).FirstOrDefault();
            var dto  = new CategoryCharacteristicDTO();

            dto.Id = buff.Id;
            var CharBuff = new CharacteristicDTO();

            CharBuff.Id          = buff.Characteristic.Id;
            CharBuff.Name        = buff.Characteristic.Name;
            dto.Characteristic   = CharBuff;
            dto.CategoryID       = (Guid)buff.CategoryID;
            dto.CharacteristicID = (Guid)buff.CharacteristicID;
            return(dto);
        }
        public IEnumerable <CategoryCharacteristicDTO> GetCurrentCategoryCharacteristics(Guid CategoryID)
        {
            var DTO = new List <CategoryCharacteristicDTO>();

            var categoryChar = _categoryCharacteristicRepository.GetWithInclude(x => x.CategoryID == CategoryID, y => y.Characteristic);

            foreach (var i in categoryChar)
            {
                var buff = new CategoryCharacteristicDTO();
                buff.Id               = i.Id;
                buff.CategoryID       = (Guid)i.CategoryID;
                buff.CharacteristicID = (Guid)i.CharacteristicID;
                var characteristic = new CharacteristicDTO();
                characteristic.Id   = i.Characteristic.Id;
                characteristic.Name = i.Characteristic.Name;
                buff.Characteristic = characteristic;
                DTO.Add(buff);
            }
            return(DTO);
        }
        public IEnumerable <CategoryCharacteristicDTO> GetAllChainCategoryCharacteristics(Guid CategoryID)
        {
            var DTO = new List <CategoryCharacteristicDTO>();

            var isHaveParentCategory = _categoryRepository.Get(x => x.Id == CategoryID).Count() >= 1 ? true : false;

            if (isHaveParentCategory)
            {
                var parentCategory     = _categoryRepository.Get(x => x.Id == CategoryID).FirstOrDefault().ParentCategoryID;
                var parentCategoryChar = _categoryCharacteristicRepository.GetWithInclude(x => x.CategoryID == parentCategory, y => y.Characteristic);
                foreach (var i in parentCategoryChar)
                {
                    var buff = new CategoryCharacteristicDTO();
                    buff.Id               = i.Id;
                    buff.CategoryID       = (Guid)i.CategoryID;
                    buff.CharacteristicID = (Guid)i.CharacteristicID;
                    var characteristic = new CharacteristicDTO();
                    characteristic.Id   = i.Characteristic.Id;
                    characteristic.Name = i.Characteristic.Name;
                    buff.Characteristic = characteristic;
                    DTO.Add(buff);
                }
            }

            var categoryChar = _categoryCharacteristicRepository.GetWithInclude(x => x.CategoryID == CategoryID, y => y.Characteristic);

            foreach (var i in categoryChar)
            {
                var buff = new CategoryCharacteristicDTO();
                buff.Id               = i.Id;
                buff.CategoryID       = (Guid)i.CategoryID;
                buff.CharacteristicID = (Guid)i.CharacteristicID;
                var characteristic = new CharacteristicDTO();
                characteristic.Id   = i.Characteristic.Id;
                characteristic.Name = i.Characteristic.Name;
                buff.Characteristic = characteristic;
                DTO.Add(buff);
            }
            return(DTO);
        }