protected override void ExecuteCmdlet()
        {
            var ctx = PnPConnection.Current.PnPContext;

            if (ctx.Web.IsSyntexContentCenter())
            {
                // Get the model we're publishing
                ISyntexModel model = Model.GetSyntexModel();

                if (model == null)
                {
                    throw new PSArgumentException("Provide a valid model to get publications for");
                }

                var modelPublications = model.GetModelPublications();

                List <Model.Syntex.SyntexModelPublication> modelPublicationsToOutput = new List <Model.Syntex.SyntexModelPublication>();

                foreach (var modelPublication in modelPublications)
                {
                    modelPublicationsToOutput.Add(new Model.Syntex.SyntexModelPublication()
                    {
                        ModelUniqueId = modelPublication.ModelUniqueId,
                        TargetLibraryServerRelativeUrl = modelPublication.TargetLibraryServerRelativeUrl,
                        TargetSiteUrl = modelPublication.TargetSiteUrl,
                        TargetWebServerRelativeUrl = modelPublication.TargetWebServerRelativeUrl,
                        ViewOption = modelPublication.ViewOption
                    });
                }
                WriteObject(modelPublicationsToOutput);
            }
            else
            {
                WriteWarning("The connected site is not a Syntex Content Center site");
            }
        }
Exemple #2
0
 public SyntexModelPipeBind(ISyntexModel syntexModel)
 {
     this.syntexModel = syntexModel;
 }
        protected override void ExecuteCmdlet()
        {
            var ctx = PnPConnection.Current.PnPContext;

            if (ctx.Web.IsSyntexContentCenter())
            {
                if (ParameterSpecified(nameof(Batch)))
                {
                    // Get the model we're publishing
                    ISyntexModel modelToPublish = Model.GetSyntexModel(Batch);

                    if (modelToPublish == null)
                    {
                        throw new PSArgumentException("Provide a valid model to publish");
                    }

                    modelToPublish.UnPublishModelBatch(Batch.Batch, new SyntexModelUnPublishOptions()
                    {
                        TargetSiteUrl = TargetSiteUrl,
                        TargetWebServerRelativeUrl     = TargetWebServerRelativeUrl,
                        TargetLibraryServerRelativeUrl = TargetLibraryServerRelativeUrl,
                    });
                }
                else
                {
                    // Get the model we're publishing
                    ISyntexModel modelToUnPublish = Model.GetSyntexModel();

                    if (modelToUnPublish == null)
                    {
                        throw new PSArgumentException("Provide a valid model to unpublish");
                    }

                    // resolve the list
                    IList listToUnPublishModelFrom = null;
                    using (var listContext = PnPConnection.Current.CloneContext(ListWebUrl))
                    {
                        var pnpContext = PnPCoreSdk.Instance.GetPnPContext(listContext);
                        listToUnPublishModelFrom = List.GetList(pnpContext);
                    }

                    if (listToUnPublishModelFrom == null)
                    {
                        throw new PSArgumentException("Provide a valid list to unpublish the Syntex model from");
                    }

                    var unPublishResult = modelToUnPublish.UnPublishModel(listToUnPublishModelFrom);
                    if (unPublishResult != null)
                    {
                        WriteObject(new SyntexPublicationResult()
                        {
                            ErrorMessage = unPublishResult.ErrorMessage,
                            StatusCode   = unPublishResult.StatusCode,
                            Publication  = new Model.Syntex.SyntexModelPublication()
                            {
                                ModelUniqueId = unPublishResult.Publication.ModelUniqueId,
                                TargetSiteUrl = unPublishResult.Publication.TargetSiteUrl,
                                TargetWebServerRelativeUrl     = unPublishResult.Publication.TargetWebServerRelativeUrl,
                                TargetLibraryServerRelativeUrl = unPublishResult.Publication.TargetLibraryServerRelativeUrl,
                                ViewOption = unPublishResult.Publication.ViewOption
                            }
                        });
                    }
                }
            }
            else
            {
                WriteWarning("The connected site is not a Syntex Content Center site");
            }
        }