public void getAndDeleteAppointment(int id) { #region get appointment string appstring = wc.DownloadString("https://progenda.be/api/v2/calendars/" + calendar_ID + "/appointments/" + id + "?user_email=" + email + "&user_token=" + token); Appointment app2 = JsonConvert.DeserializeObject <Appointment>(appstring); Appointment2 appointment2 = app2.appointment; #endregion #region delete appointment WebRequest request = WebRequest.Create("https://progenda.be/api/v2/calendars/" + calendar_ID + "/appointments/" + id + "?user_email=" + email + "&user_token=" + token); request.Method = "DELETE"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (appointment2.patient_id != null) { PatientInformation.MakeFile(app2, center_ID, email, token, calendar_ID); } #endregion }
public void GoogleCalendar() { UserCredential credential; using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read)) { // The file token.json stores the user's access and refresh tokens, and is created // automatically when the authorization flow completes for the first time. string credPath = "token.json"; credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result; Console.WriteLine("Credential file saved to: " + credPath); } // Create Google Calendar API service. var service = new CalendarService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, }); // Define parameters of request. EventsResource.ListRequest request = service.Events.List("primary"); request.TimeMin = DateTime.Now; request.ShowDeleted = false; request.SingleEvents = true; request.MaxResults = 10; request.OrderBy = EventsResource.ListRequest.OrderByEnum.StartTime; // List events. string email = "*****@*****.**"; string token = "aLYj5i2DnGcqYSrW4OvdBrdbClI7j/hKpXeZyl0dzLw="; int calendar_ID = 6599; Events events = request.Execute(); Console.WriteLine("Upcoming events:"); if (events.Items != null && events.Items.Count > 0) { foreach (var eventItem in events.Items) { string when = eventItem.Start.DateTime.ToString(); string end = eventItem.End.DateTime.ToString(); string id = eventItem.Id; if (String.IsNullOrEmpty(when)) { when = eventItem.Start.Date; end = eventItem.End.Date; } Console.WriteLine("{0}", id); Console.WriteLine("{0} (startdate: {1} enddate: {2})", eventItem.Summary, when, end); Appointment2 a = new Appointment2(); a.remote_id = id; a.start = (Int32)ToUnixTime((DateTime)eventItem.Start.DateTime); a.stop = (Int32)ToUnixTime((DateTime)eventItem.End.DateTime); a.notes = "true"; a.title = eventItem.Summary; a.color = "#FFEB3B"; a.status = "booked"; try { WebClient wc = new WebClient(); wc.Headers.Add("Content-Type", "application/json"); string body = "{\"appointment\":{\"start\":\"" + a.start + "\", \"stop\":\"" + a.stop + "\", \"remote_id\":\"" + a.remote_id + "\", \"notes\":\"" + a.notes + "\", \"title\":\"" + a.title + "\", \"color\":\"" + a.color + "\"}}"; byte[] postArray = Encoding.ASCII.GetBytes(body); string url = "https://progenda.be/api/v2/calendars/" + calendar_ID + "/appointments?user_email=" + email + "&user_token=" + token; byte[] responseArray = wc.UploadData(url, "POST", postArray); } catch (Exception) { try { WebClient w = new WebClient(); w.Headers.Add("Content-Type", "application/json"); string body = "{\"appointment\":{\"start\":\"" + a.start + "\", \"stop\":\"" + a.stop + "\", \"remote_id\":\"" + a.remote_id + "\", \"notes\":\"" + a.notes + "\", \"title\":\"" + a.title + "\", \"color\":\"" + a.color + "\", \"status\":\"" + a.status + "\"}}"; byte[] postArray = Encoding.ASCII.GetBytes(body); string url = "https://progenda.be/api/v2/calendars/" + calendar_ID + "/appointments/remote_id:" + a.remote_id + "?user_email=" + email + "&user_token=" + token; byte[] responseArray = w.UploadData(url, "PUT", postArray); } catch (Exception) { break; } } } } }