public List <ViewProduct> InsertProduct(ViewProduct product)
        {
            var data = _mapper.Map <Product>(product);

            _productRepository.Insert(data, true);

            //Insert Redis
            var cacheKey = string.Format(ProductDetail, data.Id);
            var model    = _mapper.Map <ViewProduct>(data);

            model.SeriNo = product.SeriNo; //SeriNo Decrypt olaraka atanır.
            _redisCacheManager.Set(cacheKey, model);
            //-------------------------------

            //Add RabbitMQ
            ExchangeQueue queueData = new ExchangeQueue()
            {
                ProductID    = data.Id,
                Name         = data.Name,
                ExchangeName = ((ExchangeParseType)data.ExchangeType).ToString(),
                ExchangeType = data.ExchangeType,
                Price        = data.Price,
                ConnectionID = product.ConnectionId,
                TotalCount   = data.TotalCount,
                SeriNo       = product.SeriNo
            };

            _rabbitMQService.Post("product", queueData);
            //------------------------
            var responseData = GetProductList();

            return(responseData);
        }