public async Task <List <ItemInfo> > GetListItems(string url, string listName) { ClientContext context = GetSharepointContext(url); List list = context.Web.Lists.GetByTitle(listName); context.Load(list); await context.ExecuteQueryAsync(); var items = list.GetItems(new CamlQuery()); context.Load(items); await context.ExecuteQueryAsync(); List <ItemInfo> result = new List <ItemInfo>(); foreach (var item in items) { List <ItemInfoValue> values = new List <ItemInfoValue>(); foreach (var field in item.FieldValues) { if (field.Value != null) { //tratar el campo tipo user o grupo if (field.Value is FieldUserValue) { ItemInfoValue toAdd = new ItemInfoValue(field.Key, null); FieldUserValue value = (FieldUserValue)item[field.Key]; toAdd.Value = value.LookupId.ToString(); values.Add(toAdd); } //tratar el campo multichoice else if (field.Value is string[]) { ItemInfoValue toAdd = new ItemInfoValue(field.Key, null); string[] options = (string[])item[field.Key]; foreach (var option in options) { toAdd.Value += option + "; "; } values.Add(toAdd); } else { ItemInfoValue toAdd = new ItemInfoValue(field.Key, field.Value.ToString()); values.Add(toAdd); } } else { ItemInfoValue toAdd = new ItemInfoValue(field.Key, null); values.Add(toAdd); } } ItemInfo actual = new ItemInfo(values); result.Add(actual); } return(result); }
protected WorklistItem(ItemInfoValue itemInfoValue) : base(itemInfoValue) { }
protected QuakeProjectItem(ItemInfoValue iiv) : base(FlipBrowseDialogOnly(iiv)) { _pathSaveRelative = true; }
private static ItemInfoValue FlipBrowseDialogOnly(ItemInfoValue iiv) { iiv.browseDialogOnly = "FALSE"; return(iiv); }
public async Task <List <ItemInfo> > GetListItemsInLargeList(string url, string listName) { ClientContext context = GetSharepointContext(url); List list = context.Web.Lists.GetByTitle(listName); context.Load(list); await context.ExecuteQueryAsync(); List <ItemInfo> result = new List <ItemInfo>(); ListItemCollectionPosition position = null; var page = 1; do { CamlQuery camlQuery = new CamlQuery(); camlQuery.ViewXml = @"<View Scope='RecursiveAll'> <Query> </Query><RowLimit>5000</RowLimit> </View>"; camlQuery.ListItemCollectionPosition = position; var listItems = list.GetItems(camlQuery); context.Load(listItems, a => a.ListItemCollectionPosition); await context.ExecuteQueryAsync(); position = listItems.ListItemCollectionPosition; foreach (var item in listItems) { List <ItemInfoValue> values = new List <ItemInfoValue>(); foreach (var field in item.FieldValues) { if (field.Value != null) { //tratar el campo tipo user o grupo if (field.Value is FieldUserValue) { ItemInfoValue toAdd = new ItemInfoValue(field.Key, null); FieldUserValue value = (FieldUserValue)item[field.Key]; toAdd.Value = value.Email; values.Add(toAdd); } //tratar el campo multichoice else if (field.Value is string[]) { ItemInfoValue toAdd = new ItemInfoValue(field.Key, null); string[] options = (string[])item[field.Key]; foreach (var option in options) { toAdd.Value += option + "; "; } values.Add(toAdd); } else { ItemInfoValue toAdd = new ItemInfoValue(field.Key, field.Value.ToString()); values.Add(toAdd); } } else { ItemInfoValue toAdd = new ItemInfoValue(field.Key, null); values.Add(toAdd); } } ItemInfo actual = new ItemInfo(values); result.Add(actual); } page++; }while (position != null); return(result); }
public async Task <List <ItemInfo> > GetFilteredItems(string url, string listName) { try { ClientContext context = GetSharepointContext(url); List list = context.Web.Lists.GetByTitle(listName); context.Load(list); await context.ExecuteQueryAsync(); List <ItemInfo> result = new List <ItemInfo>(); CamlQuery camlQuery = new CamlQuery(); camlQuery.ViewXml = @"<View> <Query> <Where> <And> <And> <Eq> <FieldRef Name='UserOrGroup' LookupId='TRUE'/> <Value Type='Lookup'>26</Value> </Eq> <Eq> <FieldRef Name='Choice'/> <Value Type='Text'>Ole Betis</Value> </Eq> </And> <Eq> <FieldRef Name='Sevilla'/> <Value Type='Text'>El sevilla es malo</Value> </Eq> </And> </Where></Query><RowLimit>1</RowLimit></View>"; var items = list.GetItems(camlQuery); context.Load(items); await context.ExecuteQueryAsync(); foreach (var item in items) { List <ItemInfoValue> values = new List <ItemInfoValue>(); foreach (var field in item.FieldValues) { if (field.Value != null) { //tratar el campo tipo user o grupo if (field.Value is FieldUserValue) { ItemInfoValue toAdd = new ItemInfoValue(field.Key, null); FieldUserValue value = (FieldUserValue)item[field.Key]; toAdd.Value = value.Email; values.Add(toAdd); } //tratar el campo multichoice else if (field.Value is string[]) { ItemInfoValue toAdd = new ItemInfoValue(field.Key, null); string[] options = (string[])item[field.Key]; foreach (var option in options) { toAdd.Value += option + "; "; } values.Add(toAdd); } else { ItemInfoValue toAdd = new ItemInfoValue(field.Key, field.Value.ToString()); values.Add(toAdd); } } else { ItemInfoValue toAdd = new ItemInfoValue(field.Key, null); values.Add(toAdd); } } ItemInfo actual = new ItemInfo(values); result.Add(actual); } return(result); } catch (Exception Ex) { return(new List <ItemInfo>()); } }
public SampleProjectItem(ItemInfoValue iiv) : base(CleanItemInfo(iiv)) { IsOpen = false; }
private static ItemInfoValue CleanItemInfo(ItemInfoValue iiv) { iiv.typeID = @"sampleItem"; // match the project item type id as was defined in config.xml iiv.type = "SampleProjectItems"; // match the parent container component type return(iiv); }
protected ProDataProjectItem(ItemInfoValue iiv) : base(FlipBrowseDialogOnly(iiv)) { }
public IssueWorklistItem(ItemInfoValue itemInfoValue) : base(itemInfoValue) { }
protected AddToMapCustomItem(ItemInfoValue iiv) : base(FlipBrowseDialogOnly(iiv)) { }
protected ProGPXItem(ItemInfoValue iiv) : base(FlipBrowseDialogOnly(iiv)) { }
public SelectionWorklistItem(ItemInfoValue itemInfoValue) : base(itemInfoValue) { }