public static void AssignProductToDepartment(Guid productId, Guid departmentId)
{
CatalogManager catalogManager = CatalogManager.GetManager();
TaxonomyManager taxonomyManager = TaxonomyManager.GetManager();
var product = catalogManager.GetProducts().Where(x => x.Id == productId).SingleOrDefault();
if (product == null)
{
return; // Product does not exist
}
HierarchicalTaxonomy departments = taxonomyManager.GetTaxonomies<HierarchicalTaxonomy>().Where(x => x.Name == "Departments").Single();
HierarchicalTaxon department = departments.Taxa.Where(x => x.Id == departmentId).SingleOrDefault() as HierarchicalTaxon;
if (department == null)
{
return; // Department does not exist
}
if (product.Organizer.TaxonExists("Department", department.Id) == true)
{
return; // Product already linked to department
}
product.Organizer.AddTaxa("Department", department.Id);
catalogManager.SaveChanges();
}