Exemple #1
0
        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();
                }
            }
        }