protected override void InternalProcessRecord() { SPList sourceList = SourceList.Read(); SPList targetList = TargetList.Read(); try { Common.Lists.CopyListSecurity.CopySecurity(sourceList, targetList, targetList.ParentWeb, IncludeItemSecurity, false); } finally { sourceList.ParentWeb.Dispose(); sourceList.ParentWeb.Site.Dispose(); targetList.ParentWeb.Dispose(); targetList.ParentWeb.Site.Dispose(); } }
protected override void UpdateDataObject() { SPList targetList = TargetList.Read(); try { switch (ParameterSetName) { case "Exchange": SetListOverlay.AddCalendarOverlay(targetList, ViewName, OwaUrl, WebServiceUrl, OverlayTitle, OverlayDescription, Color, !DoNotAlwaysShow, ClearExisting); break; case "Single": SPList overlayList = OverlayList.Read(); try { SetListOverlay.AddCalendarOverlay(targetList, ViewName, overlayList, OverlayTitle, OverlayDescription, Color, !DoNotAlwaysShow, ClearExisting); } finally { if (overlayList != null) { overlayList.ParentWeb.Dispose(); overlayList.ParentWeb.Site.Dispose(); } } break; case "Multiple": if (OverlayLists.Length > 10) { throw new SPException("You can only have 10 calendar overlays per list."); } for (int i = 0; i < OverlayLists.Length; i++) { SPList ol = OverlayLists[i].Read(); try { SetListOverlay.AddCalendarOverlay(targetList, ViewName, ol, OverlayTitle, OverlayDescription, (CalendarOverlayColor)i, !DoNotAlwaysShow, ClearExisting && i == 0); } finally { if (ol != null) { ol.ParentWeb.Dispose(); ol.ParentWeb.Site.Dispose(); } } } break; } } finally { if (targetList != null) { targetList.ParentWeb.Dispose(); targetList.ParentWeb.Site.Dispose(); } } }