public bool CastVariables() { try { ProductIDs.AddRange(ProductIDsText.Split(',').Select(s => int.Parse(s))); ProductQuantity.AddRange(ProductQuantityText.Split(',').Select(s => int.Parse(s))); }catch (Exception ex) { return(false); } return(true); }
private IEnumerable <TransferResourceModel> GetTransferResources() { var mediaFiles = GetFilteredMedia(); if (mediaFiles == null) { TraceError("No media found for export on connector {0}", Context.ConnectorID); return(null); } var listOfProductMediaFiles = mediaFiles as ProductMediaModel[] ?? mediaFiles.ToArray(); TraceInformation("Found {0} Media Files.", listOfProductMediaFiles.Length); if (ProductIDs.Any()) { listOfProductMediaFiles = listOfProductMediaFiles .Where(x => ProductIDs.Contains(x.ProductID)) .ToArray(); } var transferFiles = new List <TransferResourceModel>(); foreach (var media in listOfProductMediaFiles) { TransferResourceModel transferResourceModel; if (GenerateTransferFileModel(media, out transferResourceModel)) { transferFiles.Add(transferResourceModel); } } if (transferFiles.Count == 0) { TraceWarning("There are no transfer files to send for connector {0}", Context.ConnectorID); return(null); } return(transferFiles); }
/// <summary> /// Cache some relevant data from a Concentrator database, used for lookup during further processing /// </summary> /// <param name="connectorID">Connector ID from context</param> /// <param name="languageID">Language ID from context</param> /// <param name="vendorID">Vendor ID from context</param> /// <returns>Was caching successful?</returns> private bool LoadDatabaseCache() { var success = false; try { TraceVerbose("Caching product data..."); using (var pDb = new Database(Connection, Resources.PetaPocoProvider)) { _currentProducts = pDb .Query <ConfiguredProductDBModel>(String.Format(GetConfigurableProducts, DefaultConnector.ConnectorID)) .ToList(); _configurableProductWithImage = pDb .Query <int>(string.Format(GetProductWithImage, DefaultConnector.ConnectorID)) .ToList(); if (ProductIDs.Any()) { _currentProducts = _currentProducts .Where(x => ProductIDs.Contains(x.ProductID)) .ToList(); } if (_currentProducts.Any()) { var productsQuery = String.Format(GetProducts, DefaultConnector.ConnectorID, DefaultLanguage.LanguageID, DefaultVendor.VendorID, ProductExporterHelper.SerializeProductsToSqlParm(_currentProducts, false)); _products = pDb .Query <ProductDBModel>(productsQuery) .ToList(); var relatedProductsQuery = String.Format(GetRelatedProducts, DefaultVendor.VendorID, ProductExporterHelper.SerializeProductsToSqlParm(_currentProducts, false)); _relatedProducts = pDb .Query <RelatedProductDBModel>(relatedProductsQuery) .ToList(); List <Int32> listOfAllProducts = _products .Select(x => x.ProductID) .ToList(); listOfAllProducts.AddRange( _relatedProducts.Select(x => x.SimpleProductID) ); var productAttributesQuery = String.Format(GetAttributes, DefaultVendor.VendorID, DefaultLanguage.LanguageID, ProductExporterHelper.SerializeProductsToSqlParm(listOfAllProducts)); _productAttributes = pDb .Query <ProductAttributeValueDBModel>(productAttributesQuery) .ToList(); success = true; } } } catch (Exception ex) { TraceError("Data retrieval aborted: ", ex.Message); } return(success); }