diff --git a/web/Controllers/GoogleController.cs b/web/Controllers/GoogleController.cs index e6a3ae83..7612a9d3 100644 --- a/web/Controllers/GoogleController.cs +++ b/web/Controllers/GoogleController.cs @@ -217,7 +217,7 @@ namespace Yavsc.Controllers } string cred = OAuth2.GetFreshGoogleCredential (HttpContext.Profile); string json; - Calendar c = new Calendar (); + CalendarApi c = new CalendarApi (); CalendarList cl = c.GetCalendars (cred, out json); ViewData ["json"] = json; return View (cl); @@ -278,7 +278,7 @@ namespace Yavsc.Controllers maxdate = maxdate.AddHours (int.Parse (model.MaxTime.Substring (0, 2))); maxdate = maxdate.AddMinutes (int.Parse (model.MaxTime.Substring (3, 2))); - Calendar c = new Calendar (); + CalendarApi c = new CalendarApi (); CalendarEntryList res; string responseStr; try { diff --git a/web/Helpers/Google/Calendar.cs b/web/Helpers/Google/Calendar.cs deleted file mode 100644 index 4badd376..00000000 --- a/web/Helpers/Google/Calendar.cs +++ /dev/null @@ -1,103 +0,0 @@ -// -// Calendar.cs -// -// Author: -// Paul Schneider -// -// Copyright (c) 2015 Paul Schneider -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this program. If not, see . - -using System; -using Yavsc.Helpers; -using System.Web.Profile; -using Yavsc.Model.Google; -using System.Net; -using System.IO; -using System.Text; -using Newtonsoft.Json; -using System.Web; - -namespace Yavsc.Helpers.Google -{ - public class Calendar: ApiClient - { - protected static string getCalListUri = "https://www.googleapis.com/calendar/v3/users/me/calendarList"; - protected static string getCalEntriesUri = "https://www.googleapis.com/calendar/v3/calendars/{0}/events"; - - private static string dateFormat = "yyyy-MM-ddTHH:mm:ss"; - private string timeZone = "+01:00"; - - public CalendarList GetCalendars (string cred, out string json) - { - CalendarList res = null; - HttpWebRequest webreq = WebRequest.CreateHttp (getCalListUri); - webreq.Headers.Add (HttpRequestHeader.Authorization, cred); - webreq.Method = "GET"; - webreq.ContentType = "application/http"; - using (WebResponse resp = webreq.GetResponse ()) { - using (Stream respstream = resp.GetResponseStream ()) { - using (StreamReader readresp = new StreamReader (respstream, Encoding.UTF8)) { - json = readresp.ReadToEnd (); - res = JsonConvert.DeserializeObject (json); - } - } - resp.Close (); - } - webreq.Abort (); - return res; - } - - public CalendarEntryList GetCalendar (string calid, DateTime mindate, DateTime maxdate, ProfileBase upr, out string responseStr) - { - string uri = string.Format ( - getCalEntriesUri, HttpUtility.UrlEncode (calid)) + - string.Format ("?orderBy=startTime&singleEvents=true&timeMin={0}&timeMax={1}&key=" + API_KEY, - HttpUtility.UrlEncode (mindate.ToString (dateFormat) + timeZone), - HttpUtility.UrlEncode (maxdate.ToString (dateFormat) + timeZone)); - - HttpWebRequest webreq = WebRequest.CreateHttp (uri); - string cred = OAuth2.GetFreshGoogleCredential (upr); - webreq.Headers.Add (HttpRequestHeader.Authorization, cred); - webreq.Method = "GET"; - webreq.ContentType = "application/http"; - CalendarEntryList res = null; - try { - using (WebResponse resp = webreq.GetResponse ()) { - using (Stream respstream = resp.GetResponseStream ()) { - using (StreamReader readresp = new StreamReader (respstream, Encoding.UTF8)) { - responseStr = readresp.ReadToEnd (); - try { - res = JsonConvert.DeserializeObject (responseStr); - } catch (JsonReaderException ex) { - respstream.Close (); - resp.Close (); - webreq.Abort (); - throw new GoogleErrorException(ex,responseStr); - } - } - respstream.Close (); - } - resp.Close (); - } - } catch (WebException ex) { - webreq.Abort (); - throw new GoogleErrorException (ex); - } - webreq.Abort (); - return res; - } - } - -} diff --git a/web/Helpers/Google/CalendarApi.cs b/web/Helpers/Google/CalendarApi.cs index 4badd376..95254888 100644 --- a/web/Helpers/Google/CalendarApi.cs +++ b/web/Helpers/Google/CalendarApi.cs @@ -31,7 +31,7 @@ using System.Web; namespace Yavsc.Helpers.Google { - public class Calendar: ApiClient + public class CalendarApi: ApiClient { protected static string getCalListUri = "https://www.googleapis.com/calendar/v3/users/me/calendarList"; protected static string getCalEntriesUri = "https://www.googleapis.com/calendar/v3/calendars/{0}/events";