Hello,
I am new to Sitefinity development. Can someone tell me where to put this code:
dynamicModuleManager.SaveChanges();
dynamicModuleManager.Lifecycle.Publish(partner);
dynamicModuleManager.SaveChanges();
I have a bunch of partners and I need to change picture for some of them. My code looks like this:
var providerName = "dynamicProvider5";
DynamicModuleManager dynamicModuleManager = DynamicModuleManager.GetManager(providerName);
Type customPartnerType = TypeResolutionService.ResolveType("Telerik.Sitefinity.DynamicTypes.Model.XPartners.XXPartner");
var myCollection = dynamicModuleManager.GetDataItems(customPartnerType).Where(d => d.Status == ContentLifecycleStatus.Master);
foreach (var partner in myCollection)
{
Image emptyHeroImage = partner.GetRelatedItems<Image>("HeroImage").Where(d => d.Status == ContentLifecycleStatus.Master && d.GetValue<string>("Title") == "DefaultImage").FirstOrDefault();
if (emptyHeroImage != null)
{
Image newImage = GetImage(partner.GetString("PartnerID"));
if (newImage!=null)
{
partner.DeleteRelation(emptyHeroImage, "HeroImage");
partner.CreateRelation(newImage, "HeroImage");
dynamicModuleManager.SaveChanges();
dynamicModuleManager.Lifecycle.Publish(partner);
dynamicModuleManager.SaveChanges();
}
}
}