/// <summary> /// Retrieve the configuration for the specified business event. /// </summary> /// <param name="businessEvent">The business event to get the configuration for</param> /// <returns>The business event's configuration. </returns> public BusinessEventTypeConfiguration GetBusinessEventTypeConfiguration(string businessEvent) { IHierarchicalConfig hierarchicalConfig = SharePointServiceLocator.Current.GetInstance <IHierarchicalConfig>(); string adminWebUrl = hierarchicalConfig.GetByKey <string>(Constants.SubSiteCreationConfigSiteKey, ConfigLevel.CurrentSPFarm); if (string.IsNullOrEmpty(adminWebUrl)) { throw new SubSiteCreationException(string.Format(CultureInfo.CurrentCulture, ConfigSiteNotFoundMessage, Constants.SubSiteCreationConfigSiteKey)); } using (SPSite site = new SPSite(adminWebUrl)) { using (SPWeb adminWeb = site.OpenWeb()) { SPList businessEventSiteTemplateList = adminWeb.Lists[Constants.BusinessEventTypeConfigListName]; CAMLQueryBuilder camlQueryBuilder = new CAMLQueryBuilder(); camlQueryBuilder.AddEqual(FieldIds.BusinessEventFieldId, businessEvent); SPListItemCollection items = businessEventSiteTemplateList.GetItems(camlQueryBuilder.Build()); if (items.Count > 0) { return(ListItemFieldMapper.CreateEntity(items[0])); } else { throw new SubSiteCreationException(string.Format(CultureInfo.CurrentCulture, ConfigDataNotFoundMessage, businessEvent)); } } } }
private static SPView CreatePromotionsOnlyView(SPWeb currentWeb, SPList pagesList) { //Create View that only shows PromotionPage content type instances CAMLQueryBuilder queryBuilder = new CAMLQueryBuilder(); queryBuilder.FilterByContentType(PromotionPageContentType); string queryBuilderBuildQuery = queryBuilder.Build().Query; //Add fields to list SPField productSkuField = currentWeb.Site.RootWeb.Fields[new Guid(ProductSkuFieldId)]; SPField promotionNameField = currentWeb.Site.RootWeb.Fields[new Guid(PromotionNameFieldId)]; if (!pagesList.Fields.ContainsField(productSkuField.InternalName)) { pagesList.Fields.Add(productSkuField); } if (!pagesList.Fields.ContainsField(promotionNameField.InternalName)) { pagesList.Fields.Add(promotionNameField); } //Add fields to view using FieldId GUIDs StringCollection viewFields = new StringCollection(); viewFields.Add(currentWeb.Site.RootWeb.Fields[new Guid(LinkFilenameFieldId)].InternalName); //LinkFilename) viewFields.Add(productSkuField.InternalName); //ProductSkuField viewFields.Add(promotionNameField.InternalName); //PromotionNameField SPView promotionsOnlyView = pagesList.Views.Add(PromotionOnlyView, viewFields, queryBuilderBuildQuery, 100, true, false); promotionsOnlyView.Update(); return(promotionsOnlyView); }
public int GetWSSId(string url, string label) { using (var context = new SPContext(url, credentials.Get(url))) { try { var taxonomyList = context.Web.Lists.GetByTitle("TaxonomyHiddenList"); var taxItems = taxonomyList.GetItems(CAMLQueryBuilder.GetItemByTitle(label, new[] { "Title", "ID" })); context.Load(taxItems); context.ExecuteQuery(); if (taxItems.Any()) { return(taxItems[0].Id); } } catch (Exception ex) { SPLog.UnKnownError(ex, ex.Message); } } return(-1); }
public void loadData(uint startRow, uint maxRows) { var repository = new IssueTrackingRepository(view.ViewFields.Select(f => f.Id)); var queryBuilder = new CAMLQueryBuilder(); if (!string.IsNullOrEmpty(view.Status)) { queryBuilder.AddEqual(SPBuiltInFieldName.IssueStatus, view.Status); } var queryString = queryBuilder.Build(); var table = repository.Get(queryString, startRow, maxRows); table.Columns.Add("Title"); table.Columns.Add("Identity"); table.Columns.Add("NavigateUrl"); foreach (DataRow row in table.Rows) { using (SPWeb web = Web.Site.OpenWeb(new Guid(row["WebId"].ToString()))) { row["Title"] = row[view.ViewFields.FirstOrDefault().Id.ToString()]; row["Identity"] = new JavaScriptSerializer().Serialize( new RelatedItem() { WebId = row["WebId"].ToString(), ListId = row["ListId"].ToString(), ItemId = int.Parse(row["ID"].ToString()) }); var url = string.Format("{0}listform.aspx?ListId={1}&PageType=6&ID={2}&Source={3}", SPUtility.GetWebLayoutsFolder(web), row["ListId"], row["ID"], HttpUtility.UrlDecode(HttpContext.Current.Request.Url.PathAndQuery)); row["NavigateUrl"] = url; } } view.Items = table; }
public IEnumerable<Organization> GetOrgs(int orgId) { var queryString = new CAMLQueryBuilder() .AddEqual(SPBuiltInFieldName.ParentID, orgId).Build(); var items = repository.Get(queryString); foreach (var item in items) { yield return OrganizationRepository.Deserialize(item); } }
public string BuildQueryString() { var queryBuilder = new CAMLQueryBuilder(); switch (view.QueryScope) { case "ByBlaming": queryBuilder = queryBuilder .AddCurrentUser(SPBuiltInFieldName.AssignedTo) .AddBeginsWith(SPBuiltInFieldName.ContentTypeId, view.ContentTypeBeginsWithId); break; case "CanBlaiming": queryBuilder = queryBuilder .AddCurrentUser(SPBuiltInFieldName.Author) .AddNotEqual("_x9690__x60a3__x72b6__x6001_", "保存") .AddNotEqual("_x9690__x60a3__x72b6__x6001_", "关闭") .AddEqual("_x662f__x5426__x8ffd__x8d23_", false) .AddBeginsWith(SPBuiltInFieldName.ContentTypeId, view.ContentTypeBeginsWithId); break; case "HasBlaming": queryBuilder = queryBuilder .AddCurrentUser(SPBuiltInFieldName.Author) .AddNotEqual("_x9690__x60a3__x72b6__x6001_", "保存") .AddNotEqual("_x9690__x60a3__x72b6__x6001_", "关闭") .AddEqual("_x662f__x5426__x8ffd__x8d23_", true) .AddBeginsWith(SPBuiltInFieldName.ContentTypeId, view.ContentTypeBeginsWithId); break; case "ByForfeit": queryBuilder = queryBuilder .AddCurrentUser(SPBuiltInFieldName.AssignedTo) .AddBeginsWith(SPBuiltInFieldName.ContentTypeId, view.ContentTypeBeginsWithId); break; case "CanForfeit": queryBuilder = queryBuilder .AddCurrentUser(SPBuiltInFieldName.Author) .AddNotEqual("_x9690__x60a3__x72b6__x6001_", "保存") .AddNotEqual("_x9690__x60a3__x72b6__x6001_", "关闭") .AddEqual("_x662f__x5426__x7f5a__x6b3e_", false) .AddBeginsWith(SPBuiltInFieldName.ContentTypeId, view.ContentTypeBeginsWithId); break; case "HasForfeit": queryBuilder = queryBuilder .AddCurrentUser(SPBuiltInFieldName.Author) .AddNotEqual("_x9690__x60a3__x72b6__x6001_", "保存") .AddNotEqual("_x9690__x60a3__x72b6__x6001_", "关闭") .AddEqual("_x662f__x5426__x7f5a__x6b3e_", true) .AddBeginsWith(SPBuiltInFieldName.ContentTypeId, view.ContentTypeBeginsWithId); break; case "CanClosed": queryBuilder = queryBuilder .AddCurrentUser(SPBuiltInFieldName.Author) .AddEqual("_x9690__x60a3__x72b6__x6001_", "销号") .AddBeginsWith(SPBuiltInFieldName.ContentTypeId, view.ContentTypeBeginsWithId); break; default: break; } return queryBuilder.Build(); }
public void CanAddCustomEqualFilter() { CAMLQueryBuilder target = new CAMLQueryBuilder(); target.AddEqual("Name", "Test", "CustomType"); SPQuery query = target.Build(); Assert.AreEqual("<Where><Eq><FieldRef Name='Name'/><Value Type='CustomType'>Test</Value></Eq></Where>", query.Query); }
public void CanConstructSimpleCAMLQuery() { CAMLQueryBuilder target = new CAMLQueryBuilder(); target.AddEqual("Name", "Value"); SPQuery query = target.Build(); Assert.AreEqual("<Where><Eq><FieldRef Name='Name'/><Value Type='Text'>Value</Value></Eq></Where>", query.Query); }
public void CanConstructNotEqualsCAMLQueryUsingInt() { CAMLQueryBuilder target = new CAMLQueryBuilder(); target.AddNotEqual("Name", 123); SPQuery query = target.Build(); Assert.AreEqual("<Where><Neq><FieldRef Name='Name'/><Value Type='Integer'>123</Value></Neq></Where>", query.Query); }
public void CanFilterOnContentType() { CAMLQueryBuilder target = new CAMLQueryBuilder(); target.FilterByContentType("ContentTypeName"); SPQuery query = target.Build(); Assert.AreEqual("<Where><Eq><FieldRef Name='ContentType'/><Value Type='Text'>ContentTypeName</Value></Eq></Where>", query.Query); }
protected DataTable GetTasks(uint startRow, uint maxRows) { var repository = new WorkflowTaskRepository(); var queryString = new CAMLQueryBuilder() .AddCurrentUser(SPBuiltInFieldName.AssignedTo) .OrCurrentUserGroups(SPBuiltInFieldName.AssignedTo) .AddNotEqual(SPBuiltInFieldName.TaskStatus, CompletedStatus) .AddIsNotNull(SPBuiltInFieldName.RelatedItems) .AddIn(SPBuiltInFieldName.ContentType, view.TaskContentTypes.Select(c => c.Name)).Build(); return repository.Get(queryString, startRow, maxRows); }
public void CanConstructQueryWithMultipleFields() { CAMLQueryBuilder target = new CAMLQueryBuilder(); target.AddEqual("Name", "Value"); target.AddEqual("Name2", "Value2"); SPQuery query = target.Build(); Assert.AreEqual("<Where><And><Eq><FieldRef Name='Name'/><Value Type='Text'>Value</Value></Eq><Eq><FieldRef Name='Name2'/><Value Type='Text'>Value2</Value></Eq></And></Where>", query.Query); }
public void CanConstructNotEqualsCAMLQueryUsingDateTime() { CAMLQueryBuilder target = new CAMLQueryBuilder(); string expectedDateTime = SPUtility.CreateISO8601DateTimeFromSystemDateTime(DateTime.MinValue); target.AddNotEqual("Name", DateTime.MinValue); SPQuery query = target.Build(); Assert.AreEqual(string.Format("<Where><Neq><FieldRef Name='Name'/><Value Type='DateTime'>{0}</Value></Neq></Where>", expectedDateTime), query.Query); }
public void CanFilterUsingIdWithInt() { CAMLQueryBuilder target = new CAMLQueryBuilder(); Guid expectedGuid = Guid.NewGuid(); target.AddEqual(expectedGuid, 123); SPQuery query = target.Build(); Assert.AreEqual(string.Format("<Where><Eq><FieldRef ID='{0}'/><Value Type='Integer'>123</Value></Eq></Where>", expectedGuid.ToString()), query.Query); }
public void CanFilterUsingIdWithDateTime() { CAMLQueryBuilder target = new CAMLQueryBuilder(); Guid expectedGuid = Guid.NewGuid(); string expectedDateTime = SPUtility.CreateISO8601DateTimeFromSystemDateTime(DateTime.MinValue); target.AddEqual(expectedGuid, DateTime.MinValue); SPQuery query = target.Build(); Assert.AreEqual(string.Format("<Where><Eq><FieldRef ID='{0}'/><Value Type='DateTime'>{1}</Value></Eq></Where>", expectedGuid.ToString(), expectedDateTime), query.Query); }
public void CanAddCustomFilter() { CAMLQueryBuilder target = new CAMLQueryBuilder(); target.AddFilter(new CAMLFilter { FilterExpression = "foo" }); SPQuery query = target.Build(); Assert.AreEqual("<Where>foo</Where>", query.Query); }
static void Main(string[] args) { var array = "隐患下达任务;隐患整改任务;隐患复查任务;隐患验收任务;隐患签字任务;隐患签字任务;".Trim(';').Split(';').AsEnumerable(); var siteUrl = "http://58.132.202.99/sites/yanglijun"; using (SPSite site = new SPSite(siteUrl)) { using (SPWeb web = site.OpenWeb()) { var queryString = new CAMLQueryBuilder() .AddCurrentUser(SPBuiltInFieldName.AssignedTo) .OrCurrentUserGroups(SPBuiltInFieldName.AssignedTo) .AddNotEqual(SPBuiltInFieldName.TaskStatus, "Completed") .AddIsNotNull(SPBuiltInFieldName.RelatedItems).Build(); var query = new SPSiteDataQuery() { Webs = "<Webs Scope='SiteCollection' />", Lists = "<Lists ServerTemplate='171' BaseType='0' />", ViewFields = "<FieldRef Name='Title' /><FieldRef Name='ContentType' />", Query = queryString, QueryThrottleMode = SPQueryThrottleOption.Override, RowLimit = 100 }; var data = web.GetSiteData(query); Console.WriteLine(data.Rows.Count); Console.ReadKey(); //foreach (SPGroup group in web.SiteGroups) { // var roleDefinitions = web.RoleDefinitions; // var roleAssignments = web.RoleAssignments; // var assignment = new SPRoleAssignment(group); // var bindings = assignment.RoleDefinitionBindings; // bindings.Add(roleDefinitions["参与讨论"]); // roleAssignments.Add(assignment); // Console.WriteLine(group.Name); //} // SPList list = web.Lists["Workflow Tasks"]; // SPView view = list.Views["所有任务"]; // view.Query = @"<Where> // <Or> // <Membership Type=""CurrentUserGroups"" > // <FieldRef Name=""AssignedTo"" /> // </Membership> // <In> // <FieldRef Name=""AssignedTo"" LookupId=""TRUE"" /> // <Values> // <Value Type=""Integer"" > // <UserID /> // </Value> // </Values> // </In> // </Or> // </Where>"; // view.Update(); } } }
public void CanUseIntegersAndDateTimes() { CAMLQueryBuilder target = new CAMLQueryBuilder(); target.AddEqual("Name", 1); target.AddEqual("Name2", new DateTime(2000, 11, 22)); SPQuery query = target.Build(); string expectedDateTime = SPUtility.CreateISO8601DateTimeFromSystemDateTime(new DateTime(2000, 11, 22)); string expectedQuery = string.Format( "<Where><And><Eq><FieldRef Name='Name'/><Value Type='Integer'>1</Value></Eq>" + "<Eq><FieldRef Name='Name2'/><Value Type='DateTime'>{0}</Value></Eq></And></Where>", expectedDateTime); Assert.AreEqual(expectedQuery, query.Query); }
public PartnerPromotionEntity GetBySku(string sku) { CAMLQueryBuilder camlQueryBuilder = new CAMLQueryBuilder(); camlQueryBuilder.AddEqual("ProductSkuField", sku); SPListItemCollection collection = promotionsList.GetItems(camlQueryBuilder.Build()); if (collection != null && collection.Count > 0) { SPListItem firstListItem = collection[0]; PartnerPromotionEntity partnerPromotion = ListItemFieldMapper.CreateEntity(firstListItem); partnerPromotion.PromotionUrl = string.Format(CultureInfo.CurrentCulture, "{0}/{1}/{2}", promotionsWebUrl, ListName, firstListItem["LinkFilename"]); return(partnerPromotion); } return(null); }
public IList <PartnerPromotionEntity> GetAllMyPromos() { List <PartnerPromotionEntity> partnerPromotions = new List <PartnerPromotionEntity>(); CAMLQueryBuilder camlQueryBuilder = new CAMLQueryBuilder(); camlQueryBuilder.FilterByContentType(ContentTypeName); SPQuery spQuery = camlQueryBuilder.Build(); SPListItemCollection collection = promotionsList.GetItems(spQuery); foreach (SPListItem item in collection) { PartnerPromotionEntity partnerPromotion = ListItemFieldMapper.CreateEntity(item); partnerPromotion.PromotionUrl = string.Format(CultureInfo.CurrentCulture, "{0}/{1}/{2}", promotionsWebUrl, ListName, item["LinkFilename"]); partnerPromotions.Add(partnerPromotion); } return(partnerPromotions); }
private static SPListItem ExecutePartnertSiteDirectoryQuery(SPList siteCollectiongMappingList, string partnerId) { SPListItem itemFound = null; CAMLQueryBuilder camlQueryBuilder = new CAMLQueryBuilder(); camlQueryBuilder.AddEqual(FieldIds.PartnerFieldId, partnerId); SPQuery query = camlQueryBuilder.Build(); ILogger logger = SharePointServiceLocator.Current.GetInstance <ILogger>(); logger.TraceToDeveloper(string.Format(CultureInfo.CurrentCulture, "PartnerSiteDirectory FindPartnerMappingForCurrentPartner CAML: {0}", query.Query)); SPListItemCollection items = siteCollectiongMappingList.GetItems(query); if (items.Count > 0) { itemFound = items[0]; } return(itemFound); }
public IEnumerable <PartnerSiteDirectoryEntry> GetAllPartnerSites() { List <PartnerSiteDirectoryEntry> partnerSiteDirectoryEntries = new List <PartnerSiteDirectoryEntry>(); // Query for items in the Site Directory where the Partner field contains some value CAMLQueryBuilder camlQueryBuilder = new CAMLQueryBuilder(); camlQueryBuilder.AddNotEqual("PartnerDirectoryPartnerField", string.Empty); SPQuery query = camlQueryBuilder.Build(); ILogger logger = SharePointServiceLocator.Current.GetInstance <ILogger>(); logger.TraceToDeveloper(string.Format(CultureInfo.CurrentCulture, "PartnerSiteDirectory FindPartnerMappingForCurrentPartner CAML: {0}", query.Query)); using (SPSite site = new SPSite(partnerDirectoryUrl)) { using (SPWeb siteDirectory = site.OpenWeb()) { SPList siteCollectionMappingList = siteDirectory.Lists["Sites"]; SPListItemCollection items = siteCollectionMappingList.GetItems(query); foreach (SPListItem item in items) { PartnerSiteDirectoryEntry partnerSiteDirectoryEntry = new PartnerSiteDirectoryEntry(); partnerSiteDirectoryEntry.PartnerId = (string)item["PartnerDirectoryPartnerField"]; string url = item["URL"].ToString(); partnerSiteDirectoryEntry.SiteCollectionUrl = url.Split(",".ToCharArray())[0]; partnerSiteDirectoryEntry.Title = (string)item["Title"]; partnerSiteDirectoryEntries.Add(partnerSiteDirectoryEntry); } } } return(partnerSiteDirectoryEntries); }
public static ListItemCollection GetDocuments(string fieldName, string fieldValue) { CAMLQueryFilter filter = new CAMLQueryFilter(); if (!string.IsNullOrEmpty(fieldName)) { SPCAMLQueryBuilder.FieldType fieldType = SharePointDocument.GetFieldTypeByFieldName(fieldName); switch (fieldType) { case SPCAMLQueryBuilder.FieldType.Lookup: int intValue = int.MinValue; bool isInt = int.TryParse(fieldValue, out intValue); if (isInt) { filter = new CAMLQueryLookupFilter(fieldName, intValue, QueryType.Equal); } else { filter = new CAMLQueryLookupFilter(fieldName, fieldValue, QueryType.Equal); } break; default: filter = new CAMLQueryGenericFilter(fieldName, fieldType, fieldValue, QueryType.Equal); break; } } CAMLQueryBuilder builder = new CAMLQueryBuilder(filter); builder.DocumentFilter(FSObjType.Document, true); builder.AddViewFields(SharePointDocument.GetAllFieldNames()); builder.BuildQuery(); builder.OrderBy("Created", false); builder.BuildViewFields(); CamlQuery camlQuery = new CamlQuery(); camlQuery.ViewXml = builder.ToString(); ClientContext ctx = ConnectToSharePoint(); List spList = ctx.Web.Lists.GetByTitle("Documents"); ctx.Load(spList); ctx.ExecuteQuery(); if (spList != null && spList.ItemCount > 0) { ListItemCollection listItems = spList.GetItems(camlQuery); ctx.Load(listItems); ctx.ExecuteQuery(); // ctx.Dispose(); return(listItems); } else { return(null); } }
public SPListItem Get(Guid productId) { string queryString = new CAMLQueryBuilder() .AddEqual(CorporateCatalogBuiltInFields.IsValid, true) .AddEqual(CorporateCatalogBuiltInFields.ProductID, productId).Build(); var item = Get(queryString).FirstOrDefault(); Validation.ArgumentNotNull(item, "item"); return item; }