internal PnPCore.IContentType GetContentTypeOrWarn(Cmdlet cmdlet, PnP.Core.Services.PnPContext context, bool searchInSiteHierarchy = true) { var ct = GetContentType(context, searchInSiteHierarchy); if (ct is null) { cmdlet.WriteWarning(NotFoundMessage(searchInSiteHierarchy)); } return(ct); }
public string GetIdOrWarn(Cmdlet cmdlet, PnP.Core.Services.PnPContext context, bool searchInSiteHierarchy = true) { var id = GetId(context, searchInSiteHierarchy); if (id is null) { cmdlet.WriteWarning(NotFoundMessage(searchInSiteHierarchy)); } return(id); }
internal PnPCore.IFolder GetFolder(PnP.Core.Services.PnPContext context, params System.Linq.Expressions.Expression <Func <PnPCore.IFolder, object> >[] selectors) { PnPCore.IFolder returnFolder = null; if (_folder != null) { _folder.EnsureProperties(p => p.UniqueId); returnFolder = context.Web.GetFolderById(_folder.UniqueId, selectors); } else if (_id != Guid.Empty) { returnFolder = context.Web.GetFolderById(_id, selectors); } else if (!string.IsNullOrEmpty(ServerRelativeUrl)) { returnFolder = context.Web.GetFolderByServerRelativeUrl(ServerRelativeUrl, selectors); } return(returnFolder); }
internal PnPCore.IList GetList(PnP.Core.Services.PnPContext context, params System.Linq.Expressions.Expression <Func <PnPCore.IList, object> >[] selectors) { PnPCore.IList returnList = null; if (_corelist != null) { returnList = _corelist; } if (_list != null) { returnList = context.Web.Lists.GetById(_list.Id, selectors); } else if (_id != Guid.Empty) { returnList = context.Web.Lists.GetById(_id, selectors); } else if (!string.IsNullOrEmpty(_name)) { returnList = context.Web.Lists.GetByTitle(_name, selectors); if (returnList == null) { var url = _name; context.Web.EnsurePropertiesAsync(w => w.ServerRelativeUrl).GetAwaiter().GetResult(); if (!_name.ToLower().StartsWith(context.Web.ServerRelativeUrl.ToLower())) { url = $"{context.Web.ServerRelativeUrl}/{url.TrimStart('/')}"; } try { returnList = context.Web.Lists.GetByServerRelativeUrl(url, selectors); } catch (PnP.Core.SharePointRestServiceException) { throw new PSInvalidOperationException("List not found"); } } } if (returnList != null) { returnList.EnsureProperties(l => l.Id, l => l.OnQuickLaunch, l => l.Title, l => l.Hidden, l => l.ContentTypesEnabled, l => l.RootFolder); } return(returnList); }
internal PnPCore.IContentType GetContentType(PnP.Core.Services.PnPContext context, bool searchInSiteHierarchy = true) { if (_coreContentType is object) { return(_coreContentType); } if (!string.IsNullOrEmpty(_idOrName)) { var collection = searchInSiteHierarchy ? context.Web.AvailableContentTypes : context.Web.ContentTypes; if (_idOrName.ToLower().StartsWith("0x0")) { return(collection.Where(ct => ct.StringId == _idOrName).FirstOrDefault()); } else { return(collection.Where(ct => ct.Name == _idOrName).FirstOrDefault()); } } return(null); }
internal PnPCore.IList GetListOrThrow(string paramName, PnP.Core.Services.PnPContext context, params System.Linq.Expressions.Expression <Func <PnPCore.IList, object> >[] retrievals) { return(GetList(context, retrievals) ?? throw new PSArgumentException(NoListMessage, paramName)); }
public string GetId(PnP.Core.Services.PnPContext context, bool searchInSiteHierarchy = true) => GetId() ?? (searchInSiteHierarchy ? context.Web.AvailableContentTypes : context.Web.ContentTypes).Where(ct => ct.Name == _idOrName).FirstOrDefault()?.StringId;
internal PnPCore.IContentType GetContentTypeOrError(Cmdlet cmdlet, string paramName, PnP.Core.Services.PnPContext context, bool searchInSiteHierarchy = true) { var ct = GetContentType(context, searchInSiteHierarchy); if (ct is null) { cmdlet.WriteError(new ErrorRecord(new PSArgumentException(NotFoundMessage(searchInSiteHierarchy), paramName), "CONTENTTYPEDOESNOTEXIST", ErrorCategory.InvalidArgument, this)); } return(ct); }
internal PnPCore.IContentType GetContentTypeOrThrow(string paramName, PnP.Core.Services.PnPContext context, bool searchInSiteHierarchy = true) => GetContentType(context, searchInSiteHierarchy) ?? throw new PSArgumentException(NotFoundMessage(searchInSiteHierarchy), paramName);