Exemplo n.º 1
0
        /// <summary>
        /// Add an item to the store hierarchy.
        /// </summary>
        /// <param name="import"></param>
        /// <param name="itemName"></param>
        /// <param name="itemDisplayName"></param>
        /// <param name="isDeleted"></param>
        private void AddHierarchyImportItem(HierarchyValuesImportRequest import, string itemName, string itemDisplayName, bool isDeleted = false)
        {
            HierarchyValuesImportRequestItem channelItem = null;
            HierarchyValuesImportRequestItem storeGroupItem = null;

            if (import.Items != null && import.Items.Count > 0)
            {
                channelItem = import.Items.Where(i => i.AttributeToken == "channel").FirstOrDefault();
                if (channelItem != null)
                {
                    storeGroupItem = channelItem.ChildItems.Where(c => c.AttributeToken == "storegroup").FirstOrDefault();
                }
            }

            if (channelItem == null)
            {
                channelItem = new HierarchyValuesImportRequestItem() { AttributeToken = "channel", Value = _promoSettings.Channel };
                import.Items.Add(channelItem);
            }
            if (storeGroupItem == null)
            {
                storeGroupItem = new HierarchyValuesImportRequestItem() { AttributeToken = "storegroup", Value = _promoSettings.StoreGroup };
                channelItem.ChildItems.Add(storeGroupItem);
            }

            // Finally, add the store to the store group.
            storeGroupItem.ChildItems.Add(new HierarchyValuesImportRequestItem() { AttributeToken = "store", Value = itemName, DisplayName = itemDisplayName, Deleted = isDeleted });

        }
        public HierarchyValuesImportResponse ImportHierarchyTopromoService(HierarchyValuesImportRequest hierarchyImport)
        {
            _logger.Information("ImportHierarchyTopromoService called");

            HierarchyValuesImportResponse importResult = null;
            try
            {
                var importService = _promoSettings.GetImportService();
                importResult = importService.ImportHierarchyValues(hierarchyImport);
            }
            catch (Exception ex)
            {
                _logger.Error("Qixol Promos hierarchy update", ex);
            }

            return importResult;            
        }