Esempio n. 1
0
        private void Init()
        {
            ProductMediaRepository = new ProductMediaRepository(Database, SourceDatabaseName, DestinationDatabaseName);

            ProductMediaTypeIDLookup = new Dictionary <int, int>();

            var mediaTypes = ProductMediaRepository.GetProductMediaTypes();

            foreach (var mediaType in mediaTypes)
            {
                if (!mediaType.RsoTypeID.HasValue)
                {
                    mediaType.RsoTypeID = ProductMediaRepository.AddProductMediaType(mediaType.Type);
                    mediaType.RsoType   = mediaType.Type;
                }

                ProductMediaTypeIDLookup.Add(mediaType.TypeID, mediaType.RsoTypeID.Value);
            }

            IntersportContentVendorID = Database.FirstOrDefault <int>(GetVendorByNameQuery, RsoConstants.Vendor.ContentVendorName);
            if (IntersportContentVendorID <= 0)
            {
                throw new ArgumentNullException("Intersport content vendor not found.");
            }
        }
Esempio n. 2
0
        protected override void ExecuteConnectorTask()
        {
            EmbeddedResourceHelper.Bind(GetType());
            Init();

            var productToProcess = ProductMediaRepository.GetProductsForSync();

            foreach (var productToSync in productToProcess)
            {
                SyncMedia(productToSync);
            }
        }
Esempio n. 3
0
        private void SyncProductMediaData(ProductMediaDifferential productToSync, Database db)
        {
            var productMedia = ProductMediaRepository.GetMediaForProduct(productToSync.ProductID);

            foreach (var productMediaItem in productMedia)
            {
                var newProductMedia = productMediaItem;
                newProductMedia.ProductID = productToSync.RsoProductID;
                newProductMedia.TypeID    = ProductMediaTypeIDLookup[productMediaItem.TypeID];
                newProductMedia.VendorID  = IntersportContentVendorID;
                newProductMedia.MediaPath = GetNewMediaPath(productMediaItem.MediaPath);

                ProductMediaRepository.AddNewProductMedia(newProductMedia, db);
            }
        }
Esempio n. 4
0
        private void SyncProductMediaFiles(ProductMediaDifferential productToSync, Database db)
        {
            var productMedias = ProductMediaRepository.GetMediaForProduct(productToSync.ProductID);

            foreach (var productMedia in productMedias)
            {
                var newFileLocation = Path.Combine(MediaLocationBasePath, GetNewMediaPath(productMedia.MediaPath));

                var directoryName = Path.GetDirectoryName(newFileLocation);
                if (!Directory.Exists(directoryName))
                {
                    Directory.CreateDirectory(directoryName);
                }

                if (!File.Exists(newFileLocation))
                {
                    File.Copy(Path.Combine(MediaSourceLocation, productMedia.MediaPath), newFileLocation);
                }
            }
        }