/// <summary> /// Retrieves list items from SharePoint /// </summary> /// <param name="obj">The object instance of the corresponding list to be retrieved</param> /// <returns></returns> private async static Task RetrieveListItemsFromSharePoint(object obj) { // Clear list if (obj.GetType() == typeof(OfficeBook)) { _officeBooks.Clear(); list = lists.Where(b => b.DisplayName.Contains("Books")).FirstOrDefault(); } else if (obj.GetType() == typeof(OfficeItem)) { _officeItems.Clear(); list = lists.Where(b => b.DisplayName.Contains("Items")).FirstOrDefault(); } else if (obj.GetType() == typeof(Member)) { _members.Clear(); list = lists.Where(b => b.DisplayName.Contains("Members")).FirstOrDefault(); } //assign the global listId for use in other methods _listId = list.Id; //Getting listItems using msgraph IListItemsCollectionPage listItems = await GetListItems(_listId); foreach (var item in listItems) { IDictionary <string, object> resourceList = item.Fields.AdditionalData; var jsonString = JsonConvert.SerializeObject(resourceList); if (obj.GetType() == typeof(OfficeBook)) { var officeResource = JsonConvert.DeserializeObject <OfficeBook>(jsonString); officeResource.SharePointItemId = item.Id; _officeBooks.Add(officeResource); } else if (obj.GetType() == typeof(OfficeItem)) { var officeResource = JsonConvert.DeserializeObject <OfficeItem>(jsonString); officeResource.SharePointItemId = item.Id; _officeItems.Add(officeResource); } else if (obj.GetType() == typeof(Member)) { var memberResource = JsonConvert.DeserializeObject <Member>(jsonString); memberResource.SharePointItemId = item.Id; _members.Add(memberResource); } } }
private async static Task LoadBooks() { // Clear list officeBooks.Clear(); var list = lists.Where(b => b.DisplayName.Contains("Books")).FirstOrDefault(); //assign the global listId for use in other methods _listId = list.Id; //Getting listItems using msgraph IListItemsCollectionPage listItems = await GetListItems(list.Id); foreach (var item in listItems) { IDictionary <string, object> booksList = item.Fields.AdditionalData; var jsonString = JsonConvert.SerializeObject(booksList); var officeBook = JsonConvert.DeserializeObject <OfficeBook>(jsonString); officeBook.SharePointItemId = item.Id; officeBooks.Add(officeBook); } }
private async static void GetAuthors() { ISiteListsCollectionPage lists = await GetList(); /* We will show existing site list * and filter the Authors List for use * in this sample */ var list = lists.Where(l => l.DisplayName.Contains("Authors")).FirstOrDefault(); //Show existing Site List in the Current Site Console.WriteLine($"Display all {list.DisplayName}"); Console.WriteLine("***************************"); //assign the global listId for use in other methods _listId = list.Id; //Getting listItems using msgraph IListItemsCollectionPage listItems = await GetListItems(list.Id); foreach (var item in listItems) { IDictionary <string, object> columns = item.Fields.AdditionalData; if (columns != null) { string[] filterColumns = new string[] { "Title", "LastName" }; foreach (var col in columns) { if (filterColumns.Contains(col.Key)) { Console.WriteLine($"Id: {item.Id} Field: {col.Key} Value: {col.Value}"); } } } } }