public override void Execute()
{
foreach (SiteCollInfo siteCollInfo in Owner.WorkingSiteCollections)
{
using (var siteColl = Owner.ObjectsFactory.GetSite(siteCollInfo.URL))
{
foreach (SiteInfo siteInfo in siteCollInfo.Sites)
{
using(var web = siteColl.OpenWeb(siteInfo.ID))
{
Random rnd = new Random();
int listsToCreate = rnd.Next(WorkingDefinition.MaxNumberOfListsAndLibrariesPerSite+1);
int bigListsToCreate = WorkingDefinition.NumberOfBigListsPerSite;
Log.Write("Creating lists in site '" + web.Url + "'");
listsToCreate += bigListsToCreate;
int bigListsCreated = 0;
for( int s = 0; s < listsToCreate; s++ )
{
try
{
SPDGListTemplateType listTemplate;
if (bigListsCreated >= bigListsToCreate)
{
getNextTemplateType();
listTemplate = _lastTemplateType;
}
else
{
_lastListPrefix = "List";
listTemplate = SPDGListTemplateType.GenericList;
}
string listName = findAvailableListName(web);
Guid listGuid = web.AddList(listName, string.Empty, (int)listTemplate);
Owner.IncrementCurrentTaskProgress("Created List '" + listName + "' in site '" + web.Url + "'");
var list = web.GetList(listGuid);
web.AddNavigationNode(list.Title, list.DefaultViewUrl, NavigationNodeLocation.QuickLaunchLists);
ListInfo listInfo = new ListInfo();
listInfo.Name = listName;
listInfo.TemplateType = listTemplate;
listInfo.isLib = (listTemplate == SPDGListTemplateType.DocumentLibrary ? true : false);
if (!listInfo.isLib && bigListsCreated < bigListsToCreate)
{
listInfo.isBigList = true;
bigListsCreated++;
}
siteInfo.Lists.Add(listInfo);
}
catch(Exception ex )
{
Errors.Log(ex);
}
}
}
}
}
}
}