public static string GetQueryStringFromMode(DistributionWizardEnumerations.Mode mode)
    {
        string modeString = string.Empty;
        switch (mode)
        {
            case DistributionWizardEnumerations.Mode.CommunityCopy:
                modeString = DistributionWizardConstants.QUERY_MODE_COMMUNITYCOPY;
                break;
            case DistributionWizardEnumerations.Mode.CommunityRedistribute:
                modeString = DistributionWizardConstants.QUERY_MODE_COMMUNITYREDISTRIBUTE;
                break;
            case DistributionWizardEnumerations.Mode.CommunityReplace:
                modeString = DistributionWizardConstants.QUERY_MODE_COMMUNITYREPLACE;
                break;
            case DistributionWizardEnumerations.Mode.Sharepoint:
                modeString = DistributionWizardConstants.QUERY_MODE_SHAREPOINTCOPY;
                break;
            case DistributionWizardEnumerations.Mode.SharepointRedistribute:
                modeString = DistributionWizardConstants.QUERY_MODE_SHAREPOINTREDISTRIBUTE;
                break;
        }

        return modeString;
    }
Exemplo n.º 2
0
    /// <summary>
    /// Displays the specifed error message
    /// </summary>
    /// <param name="errorMessage">Message to display</param>
    private void DisplayErrorMessage(DistributionWizardEnumerations.Mode mode, string errorMessage)
    {
        string errorUrl = String.Format(
            "~/Workarea/Community/DistributionWizard/DistributionWizardError.aspx?Error={0}&Mode={1}",
            EkFunctions.UrlEncode(errorMessage),
            DistributionWizardHelperMethods.GetQueryStringFromMode(mode));

        Response.Redirect(errorUrl, true);
    }
Exemplo n.º 3
0
    /// <summary>
    /// In Sharepoint distribution scenarios, the upload of the file must be reverted
    /// if the user cancels the process. 
    /// 
    /// Sharepoint Copy: Delete the content that was copied from sharepoint.
    /// Sharepoint Redistribution: Revert to previous published version.
    /// Other modes: No action is necessary.
    /// </summary>
    /// <param name="mode">Distribution mode</param>
    private void RollbackSharepointDistribution(DistributionWizardEnumerations.Mode mode)
    {
        long contentID = (long)Session[DistributionWizardConstants.SESSION_PARAM_SHAREPOINT_CONTENT_ID];

        ContentData content = contentAPI.GetContentById(contentID, ContentAPI.ContentResultType.Published);
        if (content != null)
        {
            if (mode == DistributionWizardEnumerations.Mode.SharepointRedistribute)
            {
                // Rollback to older version.
                ContentHistoryData previousVersion = GetPreviousPublishedVersion(contentID);

                if (previousVersion != null)
                {
                    int origLanguageID = contentAPI.EkContentRef.RequestInformation.ContentLanguage;
                    contentAPI.EkContentRef.RequestInformation.ContentLanguage = content.LanguageId;

                    try
                    {
                        contentAPI.RestoreHistoryContent(previousVersion.Id);
                        contentAPI.EkContentRef.SubmitForPublicationv2_0(content.Id, content.FolderId, string.Empty);
                    }
                    catch
                    {
                        DisplayErrorMessage(
                            mode,
                            contentAPI.EkMsgRef.GetMessage("distribution wizard restore error"));
                    }
                    finally
                    {
                        contentAPI.EkContentRef.RequestInformation.ContentLanguage = origLanguageID;
                    }
                }
            }
            else
            {
                try
                {
                    contentAPI.DeleteContentItemById(contentID);
                }
                catch
                {
                    DisplayErrorMessage(
                        mode,
                        contentAPI.EkMsgRef.GetMessage("distribution wizard restore error"));
                }
            }
        }
    }
    /// <summary>
    /// Redirect to the distribution wizard's confirmation screen.
    /// </summary>
    /// <param name="mode"></param>
    private void RedirectToConfirmation(DistributionWizardEnumerations.Mode mode)
    {
        string modeParam = string.Empty;

        switch( mode )
        {
            case DistributionWizardEnumerations.Mode.CommunityCopy:
                modeParam = DistributionWizardConstants.QUERY_MODE_COMMUNITYCOPY;
                break;
            case DistributionWizardEnumerations.Mode.CommunityReplace:
                modeParam = DistributionWizardConstants.QUERY_MODE_COMMUNITYREPLACE;
                break;
            case DistributionWizardEnumerations.Mode.CommunityRedistribute:
                modeParam = DistributionWizardConstants.QUERY_MODE_COMMUNITYREDISTRIBUTE;
                break;
            case DistributionWizardEnumerations.Mode.Sharepoint:
                modeParam = DistributionWizardConstants.QUERY_MODE_SHAREPOINTCOPY;
                break;
            case DistributionWizardEnumerations.Mode.SharepointRedistribute:
                modeParam = DistributionWizardConstants.QUERY_MODE_SHAREPOINTREDISTRIBUTE;
                break;
        }

        Response.Redirect(String.Format(
            "~/Workarea/Community/DistributionWizard/DistributionWizardConfirm.aspx?Mode={0}", modeParam),
            false);
    }