public async static Task <bool> UpdateListItem(string groupid, string siteId, string listId, string itemId, IDictionary <string, object> data) { _graphClient = GraphServiceClientProvider.GetAuthenticatedClient(); var fieldValueSet = new FieldValueSet { AdditionalData = data, }; try { await _graphClient.Groups[groupid] .Sites[siteId] .Lists[listId] .Items[itemId] .Fields .Request() .UpdateAsync(fieldValueSet); return(true); } catch (Exception ex) { Console.WriteLine(ex.Message); return(false); } }
public static async Task UpdateFlightInSharePoint(Flight updatedFlight) { var crewLookupIds = new List <string>(); // Updating Person fields in SharePoint require a lookup ID, // which is unique to each site. foreach (var email in updatedFlight.FlightCrew) { var lookup = await GetUserLookupId(email); if (!string.IsNullOrEmpty(lookup)) { crewLookupIds.Add(lookup); } } // Format the field as a lookup field var flightAttendantField = new FieldValueSet { AdditionalData = new Dictionary <string, object> { { "*****@*****.**", "Collection(Edm.String)" }, { "FlightAttendantsLookupId", crewLookupIds } } }; var spIds = updatedFlight.Id.Split('/'); await appClient.Drives[spIds[0]].Items[spIds[1]].ListItem.Fields.Request().UpdateAsync(flightAttendantField); }
public async Task <List <string> > GetPlayers() { try { List <string> data = new List <string>(); List <Option> options = new List <Option>(); options.Add(new QueryOption("search", "devsite")); Site site = (await _graphServiceClient.Sites.Request(options).GetAsync()).First(); List playersList = (await(_graphServiceClient.Sites[site.Id].Lists.Request().GetAsync())).Where(x => x.Name == "Players").First(); IEnumerable <Microsoft.Graph.ListItem> players = await _graphServiceClient.Sites[site.Id].Lists[playersList.Id].Items.Request().GetAsync(); foreach (Microsoft.Graph.ListItem listItem in players) { FieldValueSet fieldValueSet = (await _graphServiceClient.Sites[site.Id].Lists[playersList.Id].Items[listItem.Id].Fields.Request().GetAsync()); IDictionary <string, object> keyValuePairs = fieldValueSet.AdditionalData; data.Add(keyValuePairs["Title"].ToString()); } return(data); } catch (Exception ex) { return(null); } }
public static async Task UpdateBooking(Booking b) { var client = GetAuthenticatedClient(); var fieldValueSet = new FieldValueSet(); fieldValueSet.AdditionalData = new Dictionary <string, object>(); fieldValueSet.AdditionalData.Add("Title", b.Title); fieldValueSet.AdditionalData.Add("Description", b.Description); await client.Sites["root"].Lists["078f5835-c141-4ca9-a429-a1bebb14059a"].Items[b.Id].Fields.Request().UpdateAsync(fieldValueSet); }
/// <summary> /// This method will update requests status in SharePoint list. /// </summary> /// <param name="graphClient"></param> /// <param name="log"></param> /// <param name="itemId"></param> public static async void UpdateStatus(GraphServiceClient graphClient, TraceWriter log, string itemId, string siteId, string listId) { var fieldValueSet = new FieldValueSet(); var field = new Dictionary <string, object>() { { "_Status", "Site Created" }, }; fieldValueSet.AdditionalData = field; var result = await graphClient.Sites[siteId].Lists[listId].Items[itemId].Fields .Request() .UpdateAsync(fieldValueSet); log.Info("Update status successfully."); }
/// <summary> /// Update the navigation property fields in drives /// <param name="body"></param> /// <param name="requestConfiguration">Configuration for the request such as headers, query parameters, and middleware options.</param> /// </summary> public RequestInformation CreatePatchRequestInformation(FieldValueSet body, Action <FieldsRequestBuilderPatchRequestConfiguration> requestConfiguration = default) { _ = body ?? throw new ArgumentNullException(nameof(body)); var requestInfo = new RequestInformation { HttpMethod = Method.PATCH, UrlTemplate = UrlTemplate, PathParameters = PathParameters, }; requestInfo.SetContentFromParsable(RequestAdapter, "application/json", body); if (requestConfiguration != null) { var requestConfig = new FieldsRequestBuilderPatchRequestConfiguration(); requestConfiguration.Invoke(requestConfig); requestInfo.AddRequestOptions(requestConfig.Options); requestInfo.AddHeaders(requestConfig.Headers); } return(requestInfo); }
public static async Task PostBooking(Booking b) { var client = GetAuthenticatedClient(); RestClient restClient = new RestClient("https://graph.microsoft.com/v1.0/"); var token = await GetAccessTokenAsync(); restClient.Authenticator = new OAuth2AuthorizationRequestHeaderAuthenticator(token, "Bearer"); var request = new RestRequest("sites/root/lists/1E10CAC5-5E13-4A57-B913-2AEB9EA109C6/items?expand=fields", DataFormat.Json); var response = restClient.Execute(request); var json = JObject.Parse(response.Content)["value"] .Select(_ => _["fields"]) .FirstOrDefault(_ => _["Title"].Value <string>() == b.Person); var lookup = json["id"].Value <string>(); var fieldValueSet = new FieldValueSet(); fieldValueSet.AdditionalData = new Dictionary <string, object>(); fieldValueSet.AdditionalData.Add("Title", b.Title); fieldValueSet.AdditionalData.Add("Description", b.Description); fieldValueSet.AdditionalData.Add("PeopleLookupId", lookup); var listItem = new ListItem { Fields = fieldValueSet }; if (string.IsNullOrEmpty(b.Id)) { await client.Sites["root"].Lists["078f5835-c141-4ca9-a429-a1bebb14059a"].Items .Request() .AddAsync(listItem); } else { await client.Sites["root"].Lists["078f5835-c141-4ca9-a429-a1bebb14059a"].Items[b.Id] .Request() .UpdateAsync(listItem); } }
public static async Task CreateActivities(Activities a) { var graphClient = GetAuthenticatedClient(); var fieldValueSet = new FieldValueSet(); fieldValueSet.AdditionalData = new Dictionary <string, object>(); fieldValueSet.AdditionalData.Add("Title", a.Title); fieldValueSet.AdditionalData.Add("Beskrivning", a.Beskrivning); fieldValueSet.AdditionalData.Add("Startdatum", a.Startdatum.ToString()); fieldValueSet.AdditionalData.Add("Slutdatum", a.Slutdatum.ToString()); fieldValueSet.AdditionalData.Add("Plats1", a.Plats); var listItem = new Microsoft.Graph.ListItem { Fields = fieldValueSet }; await graphClient.Sites[_siteId].Lists[_listId].Items .Request() .AddAsync(listItem); }