public async Task UpdatePlan(MyPlan myPlan) { var accessToken = await GetGraphAccessTokenAsync(); var restURL = string.Format("{0}plans/{1}", SettingsHelper.GraphResourceUrl, myPlan.id); dynamic postPlanJSON = new JObject(); postPlanJSON.title = myPlan.title; try { using (HttpClient client = new HttpClient()) { byte[] btBodys = Encoding.UTF8.GetBytes(postPlanJSON.ToString()); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(restURL); request.Method = "PATCH"; request.Accept = "application/json"; request.ContentType = "application/json"; request.Headers.Add("Authorization", "Bearer " + accessToken); request.Headers.Add("If-Match", myPlan.Etag); request.GetRequestStream().Write(btBodys, 0, btBodys.Length); using (HttpWebResponse response = await request.GetResponseAsync() as HttpWebResponse) { if (response.StatusCode == HttpStatusCode.NoContent) { //update successfully } } } } catch (Exception el) { el.ToString(); } }
public async Task UpdatePlan(MyPlan myPlan) { if (UseSDK) { await UpdatePlanSDK(myPlan); } else { await UpdatePlanREST(myPlan); } }
public async Task CreatePlan(MyPlan myPlan) { try { string groupId = await CreateGroup(myPlan.title); await CreatePlan(myPlan, groupId); } catch (Exception el) { el.ToString(); } }
private async Task CreatePlanSDK(MyPlan myPlan, string groupId) { try { var graphServiceClient = await GetGraphServiceAsync(); var planToCreate = new PlannerPlan { Title = myPlan.title, Owner = groupId }; //reqPlan.Owner = myPlan.owner; await graphServiceClient.Planner.Plans.Request().AddAsync(planToCreate); } catch (Exception el) { el.ToString(); } }
public async Task UpdatePlanSDK(MyPlan myPlan) { try { var graphServiceClient = await GetGraphServiceAsync(); var reqPlan = await graphServiceClient.Planner.Plans[myPlan.id].Request().GetAsync(); string etag = reqPlan.GetEtag(); var plan = new PlannerPlan { Title = myPlan.title }; //reqPlan.Owner = myPlan.owner; await graphServiceClient.Planner.Plans[reqPlan.Id].Request().Header("If-Match", etag).Header("Prefer", "return=representation").UpdateAsync(plan); } catch (Exception el) { el.ToString(); } }
public async Task <MyPlan> GetPlanSDK(string id) { MyPlan plan = new MyPlan(); var graphServiceClient = await GetGraphServiceAsync(); var reqPlan = await graphServiceClient.Planner.Plans[id].Request().GetAsync(); try { if (reqPlan != null) { plan.title = reqPlan.Title; plan.Etag = reqPlan.GetEtag(); } } catch (Exception el) { el.ToString(); } return(plan); }
public async Task <MyPlan> GetPlan(string id) { MyPlan plan = new MyPlan(); var accessToken = await GetGraphAccessTokenAsync(); var restURL = string.Format("{0}plans/{1}", SettingsHelper.GraphResourceUrl, id); try { using (HttpClient client = new HttpClient()) { var accept = "application/json"; client.DefaultRequestHeaders.Add("Accept", accept); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); using (var response = await client.GetAsync(restURL)) { if (response.IsSuccessStatusCode) { var item = JObject.Parse(await response.Content.ReadAsStringAsync()); if (item != null) { plan.title = !string.IsNullOrEmpty(item["title"].ToString()) ? item["title"].ToString() : string.Empty; plan.Etag = !string.IsNullOrEmpty(item["@odata.etag"].ToString()) ? item["@odata.etag"].ToString() : ""; } } } } } catch (Exception el) { el.ToString(); } return(plan); }
private async Task CreatePlan(MyPlan myPlan, string groupId) { var accessToken = await GetGraphAccessTokenAsync(); var restURL = string.Format("{0}plans/", SettingsHelper.GraphResourceUrl); dynamic postPlanJSON = new JObject(); postPlanJSON.title = myPlan.title; postPlanJSON.owner = groupId; try { using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); var requestMessage = new HttpRequestMessage(HttpMethod.Post, restURL); requestMessage.Content = new StringContent(postPlanJSON.ToString(), System.Text.Encoding.UTF8, "application/json"); using (var response = await client.SendAsync(requestMessage)) { if (response.IsSuccessStatusCode) { return; } else { throw new Exception("add plan error: " + response.StatusCode); } } } } catch (Exception el) { el.ToString(); } }
public async Task<MyPlan> GetPlan(string id) { MyPlan plan = new MyPlan(); var accessToken = await GetGraphAccessTokenAsync(); var restURL = string.Format("{0}plans/{1}", SettingsHelper.GraphResourceUrl, id); try { using (HttpClient client = new HttpClient()) { var accept = "application/json"; client.DefaultRequestHeaders.Add("Accept", accept); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); using (var response = await client.GetAsync(restURL)) { if (response.IsSuccessStatusCode) { var item = JObject.Parse(await response.Content.ReadAsStringAsync()); if (item != null) { plan.title = !string.IsNullOrEmpty(item["title"].ToString()) ? item["title"].ToString() : string.Empty; plan.Etag = !string.IsNullOrEmpty(item["@odata.etag"].ToString()) ? item["@odata.etag"].ToString() : ""; } } } } } catch (Exception el) { el.ToString(); } return plan; }
private async Task CreatePlan(MyPlan myPlan, string groupId) { var accessToken = await GetGraphAccessTokenAsync(); var restURL = string.Format("{0}plans/", SettingsHelper.GraphResourceUrl); dynamic postPlanJSON = new JObject(); postPlanJSON.title = myPlan.title; postPlanJSON.owner = groupId; try { using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); var requestMessage = new HttpRequestMessage(HttpMethod.Post, restURL); requestMessage.Content = new StringContent(postPlanJSON.ToString(), System.Text.Encoding.UTF8, "application/json"); using (var response = await client.SendAsync(requestMessage)) { if (response.IsSuccessStatusCode) return; else throw new Exception("add plan error: " + response.StatusCode); } } } catch (Exception el) { el.ToString(); } }
public async Task<ActionResult> Update(MyPlan myPlan) { await _repo.UpdatePlan(myPlan); return Redirect("/Plan"); }
public async Task<ActionResult> Create() { var myPlan = new MyPlan(); return View(myPlan); }