public void FilterProductGroupByParent(List <MasterGroupMapping> listOfProductGroups)
        {
            listOfProductGroups.ForEach(productGroup => {
                List <Product> productsInProductGroup       = productRepo.GetListOfMappedProductsByMasterGroupMapping(productGroup.MasterGroupMappingID);
                List <Product> productsInParentProductGroup = productRepo.GetListOfMappedProductsByMasterGroupMapping(productGroup.ParentMasterGroupMappingID.Value);

                List <Product> productsToDelete = (
                    from p in productsInProductGroup
                    join pp in productsInParentProductGroup on p.ProductID equals pp.ProductID into notExistProducts
                    from nep in notExistProducts.DefaultIfEmpty()
                    where nep == null
                    select p
                    )
                                                  .ToList();

                productsToDelete.ForEach(product => {
                    MasterGroupMappingProduct newMasterGroupMappingProduct = new MasterGroupMappingProduct()
                    {
                        MasterGroupMappingID = productGroup.MasterGroupMappingID,
                        ProductID            = product.ProductID
                    };
                    masterGroupMappingRepo.DeleteMasterGroupMappingProduct(newMasterGroupMappingProduct);
                });
                log.DebugFormat("{0} Products Deleted From Product Group {1}", productsToDelete.Count, productGroup.MasterGroupMappingID);
            });
        }
Esempio n. 2
0
 private void DeleteMappedProducts(List <MasterGroupMappingProduct> listOfMappedProducts)
 {
     listOfMappedProducts.ForEach(product =>
     {
         masterGroupMappingRepo.DeleteMasterGroupMappingProduct(product);
     });
 }
 private void DeleteProducts(int productGroupID, List <MasterGroupMappingProduct> listOfProductsToDelete)
 {
     listOfProductsToDelete.ForEach(product =>
     {
         masterGroupMappingRepo.DeleteMasterGroupMappingProduct(product);
     });
     log.DebugFormat("{1} Products are deleted from product group {0}", productGroupID, listOfProductsToDelete.Count);
 }