protected void BtnRevoke_Click(object sender, EventArgs e) { if (XmlDoc.HasChildNodes == false) { XmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\XMLfile.xml"); } string Access_Token = XmlDoc.DocumentElement.SelectSingleNode("//User[@UserID='1']").Attributes[AccessToken].Value; string Refresh_Token = XmlDoc.DocumentElement.SelectSingleNode("//User[@UserID='1']").Attributes[RefreshToken].Value; //Attempt the revoke from google //if successful then do a db / xml delete as well if (GoogleCalendarManager.RevokeAccessToken(Access_Token, Refresh_Token) == true) { XmlDoc.DocumentElement.SelectSingleNode("//User[@UserID='1']").Attributes[AccessToken].Value = ""; XmlDoc.DocumentElement.SelectSingleNode("//User[@UserID='1']").Attributes[RefreshToken].Value = ""; XmlDoc.Save(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\XMLfile.xml"); LblMessage.Text = "Rights revoked successfully.You can <a href='https://accounts.google.com/b/0/IssuedAuthSubTokens?hl=en' target='blank'>view</a> that you gmail account is not linked with your calendar application anymore"; PnlLogin.Visible = false; PnlRegister.Visible = true; PnlEvents.Visible = false; } }
public static void RevokeExpiredAccess(string AccessTokenStatus, string RefreshTokenStatus, string UserName) { string Access_Token = AccessTokenStatus; string Refresh_Token = RefreshTokenStatus; //Attempt the revoke from google //if successful then do a db / if (GoogleCalendarManager.RevokeAccessToken(Access_Token.ToString(), Refresh_Token.ToString()) == true) { SqlConnection konekcija1 = new SqlConnection(); konekcija1.ConnectionString = ConfigurationManager.ConnectionStrings["mojaKonekcija"].ConnectionString; SqlCommand komanda1 = new SqlCommand(); komanda1.Connection = konekcija1; komanda1.CommandText = "UPDATE Users SET AccessToken=@AccessToken,RefreshToken=@RefreshToken WHERE UserName=@UserName"; komanda1.Parameters.Add("@AccessToken", ""); komanda1.Parameters.Add("@RefreshToken", ""); komanda1.Parameters.Add("@UserName", UserName); try { konekcija1.Open(); komanda1.ExecuteNonQuery(); } catch (Exception ex) { } finally { konekcija1.Close(); }; } }
public static bool CheckForNotExpiredAccess(string AccessTokenStatus, string RefreshTokenStatus) { GoogleTokenModel TokenObject = new GoogleTokenModel(); TokenObject.Access_Token = AccessTokenStatus; TokenObject.Refresh_Token = RefreshTokenStatus; CalendarService CalService = GoogleCalendarManager.GetCalendarService(TokenObject); string AllCalendarFeed = @"http://www.google.com/calendar/feeds/default/allcalendars/full"; Uri postUri = new Uri(AllCalendarFeed); CalendarQuery CalendarQuery = new CalendarQuery(); CalendarQuery.Uri = postUri; bool inform = true; try { CalendarFeed calFeed = CalService.Query(CalendarQuery); } catch (Exception e) { inform = false; }; return(inform); }
// odjava na access token i refresh token protected void btnGoogleRevoke_Click(object sender, EventArgs e) { string Access_Token = ""; string Refresh_Token = ""; SqlConnection konekcija = new SqlConnection(); konekcija.ConnectionString = ConfigurationManager.ConnectionStrings["mojaKonekcija"].ConnectionString; SqlCommand komanda = new SqlCommand(); komanda.Connection = konekcija; komanda.CommandText = "SELECT * FROM Users WHERE UserName=@UserName"; komanda.Parameters.Add("@UserName", (string)Session["UserName"]); try { konekcija.Open(); SqlDataReader citac = komanda.ExecuteReader(); while (citac.Read()) { if (citac["UserName"].ToString().ToLower() == ((string)Session["UserName"]).ToLower()) { Access_Token = (string)citac["AccessToken"]; Refresh_Token = (string)citac["RefreshToken"]; } } citac.Close(); } catch (Exception ex) { lblMessage.Text = ex.ToString(); } finally { konekcija.Close(); } //Attempt the revoke from google //if successful then do a db / xml delete as well if (GoogleCalendarManager.RevokeAccessToken(Access_Token.ToString(), Refresh_Token.ToString()) == true) { SqlConnection konekcija1 = new SqlConnection(); konekcija1.ConnectionString = ConfigurationManager.ConnectionStrings["mojaKonekcija"].ConnectionString; SqlCommand komanda1 = new SqlCommand(); komanda1.Connection = konekcija1; komanda1.CommandText = "UPDATE Users SET AccessToken=@AccessToken,RefreshToken=@RefreshToken WHERE UserName=@UserName"; komanda1.Parameters.Add("@AccessToken", ""); komanda1.Parameters.Add("@RefreshToken", ""); komanda1.Parameters.Add("@UserName", (string)Session["UserName"]); try { konekcija1.Open(); komanda1.ExecuteNonQuery(); } catch (Exception ex) { lblMessage.Text = ex.ToString(); } finally { konekcija1.Close(); }; } Response.Redirect("GoogleCalendarRegistration.aspx?message=Revoke"); }
protected void BtnCreateUpdateEvent_Click(object sender, EventArgs e) { List <GoogleCalendarAppointmentModel> GoogleCalendarAppointmentModelList = new List <GoogleCalendarAppointmentModel>(); List <GoogleTokenModel> GoogleTokenModelList = new List <GoogleTokenModel>(); GoogleCalendarAppointmentModel GoogleCalendarAppointmentModelObj = new GoogleCalendarAppointmentModel(); GoogleTokenModel GoogleTokenModelObj = new GoogleTokenModel(); #region populate GoogleAppointment values GoogleCalendarAppointmentModelObj.EventID = "1"; GoogleCalendarAppointmentModelObj.EventTitle = string.IsNullOrEmpty(TxtTitle.Text) == false ? TxtTitle.Text : "New Event from google api"; GoogleCalendarAppointmentModelObj.EventStartTime = Convert.ToDateTime(TxtStartTime.Text); GoogleCalendarAppointmentModelObj.EventEndTime = Convert.ToDateTime(TxtEndTime.Text); //Giving the proper location so you can view on the map in google calendar GoogleCalendarAppointmentModelObj.EventLocation = "Seincomp, Buenos Aires"; GoogleCalendarAppointmentModelObj.EventDetails = string.IsNullOrEmpty(TxtEventDetails.Text) == false ? TxtEventDetails.Text : "New Details"; GoogleCalendarAppointmentModelList.Add(GoogleCalendarAppointmentModelObj); #endregion #region populate GoogleToken values if (XmlDoc.HasChildNodes == false) { XmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\XMLfile.xml"); } GoogleTokenModelObj.Access_Token = XmlDoc.DocumentElement.SelectSingleNode("//User[@UserID='1']").Attributes[AccessToken].Value; GoogleTokenModelObj.Refresh_Token = XmlDoc.DocumentElement.SelectSingleNode("//User[@UserID='1']").Attributes[RefreshToken].Value; GoogleTokenModelList.Add(GoogleTokenModelObj); #endregion #region Add event to google calendar if (GoogleCalendarManager.AddUpdateDeleteEvent(GoogleCalendarAppointmentModelList, GoogleTokenModelList, 0) == true) { if (XmlDoc.HasChildNodes == false) { XmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\XMLfile.xml"); } //save data in DB / xml XmlDoc.DocumentElement.SelectSingleNode("//Event").Attributes["EventTitle"].Value = GoogleCalendarAppointmentModelObj.EventTitle; XmlDoc.DocumentElement.SelectSingleNode("//Event").Attributes["EventStartTime"].Value = GoogleCalendarAppointmentModelObj.EventStartTime.ToString(); XmlDoc.DocumentElement.SelectSingleNode("//Event").Attributes["EventEndTime"].Value = GoogleCalendarAppointmentModelObj.EventEndTime.ToString(); XmlDoc.DocumentElement.SelectSingleNode("//Event").Attributes["EventLocation"].Value = GoogleCalendarAppointmentModelObj.EventLocation; XmlDoc.DocumentElement.SelectSingleNode("//Event").Attributes["EventDetails"].Value = GoogleCalendarAppointmentModelObj.EventDetails; XmlDoc.Save(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\XMLfile.xml"); LblMessage.Text = "Event Created / updated successfully. Go to <a href='https://www.google.com/calendar/' target='blank'>Google Calendar</a> to view your event "; BtnDeleteEvent.Enabled = true; } #endregion }
//private void PopulateDDLEvent() //{ // if (XmlDoc.HasChildNodes == false) // { // XmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\XMLfile.xml"); // } // XmlNodeList AllEventNodes = XmlDoc.DocumentElement.SelectNodes("//Events/Event"); // if (AllEventNodes != null && AllEventNodes.Count > 0) // { // foreach (XmlNode XmlNodeObj in AllEventNodes) // { // DDLEvent.Items.Add(new ListItem(XmlNodeObj.Attributes["EventTitle"].Value, XmlNodeObj.Attributes["EventID"].Value)); // } // } //} //protected void DDLEvent_SelectedIndexChanged(object sender, EventArgs e) //{ // if (DDLEvent.SelectedIndex != 0) // { // HdnEventID.Value = DDLEvent.SelectedValue; // } //} protected void BtnDeleteEvent_Click(object sender, EventArgs e) { List <GoogleCalendarAppointmentModel> GoogleCalendarAppointmentModelList = new List <GoogleCalendarAppointmentModel>(); List <GoogleTokenModel> GoogleTokenModelList = new List <GoogleTokenModel>(); GoogleCalendarAppointmentModel GoogleCalendarAppointmentModelObj = new GoogleCalendarAppointmentModel(); GoogleTokenModel GoogleTokenModelObj = new GoogleTokenModel(); #region populate GoogleAppointment values GoogleCalendarAppointmentModelObj.EventID = "1"; GoogleCalendarAppointmentModelObj.DeleteAppointment = true; GoogleCalendarAppointmentModelList.Add(GoogleCalendarAppointmentModelObj); #endregion #region populate GoogleToken values if (XmlDoc.HasChildNodes == false) { XmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\XMLfile.xml"); } GoogleTokenModelObj.Access_Token = XmlDoc.DocumentElement.SelectSingleNode("//User[@UserID='1']").Attributes[AccessToken].Value; GoogleTokenModelObj.Refresh_Token = XmlDoc.DocumentElement.SelectSingleNode("//User[@UserID='1']").Attributes[RefreshToken].Value; GoogleTokenModelList.Add(GoogleTokenModelObj); #endregion if (GoogleCalendarManager.AddUpdateDeleteEvent(GoogleCalendarAppointmentModelList, GoogleTokenModelList, 0) == true) { if (XmlDoc.HasChildNodes == false) { XmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\XMLfile.xml"); } //save data in DB / xml XmlDoc.DocumentElement.SelectSingleNode("//Event").Attributes["EventTitle"].Value = ""; XmlDoc.DocumentElement.SelectSingleNode("//Event").Attributes["EventStartTime"].Value = ""; XmlDoc.DocumentElement.SelectSingleNode("//Event").Attributes["EventEndTime"].Value = ""; XmlDoc.DocumentElement.SelectSingleNode("//Event").Attributes["EventLocation"].Value = ""; XmlDoc.DocumentElement.SelectSingleNode("//Event").Attributes["EventDetails"].Value = ""; XmlDoc.Save(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\XMLfile.xml"); LblMessage.Text = "Event deleted successfully. Go to <a href='https://www.google.com/calendar/' target='blank'>Google Calendar</a> to view your event "; BtnDeleteEvent.Enabled = false; } }
// brisenje na nastan protected void DeleteEventMethod() { List <GoogleCalendarAppointmentModel> GoogleCalendarAppointmentModelList = new List <GoogleCalendarAppointmentModel>(); List <GoogleTokenModel> GoogleTokenModelList = new List <GoogleTokenModel>(); GoogleCalendarAppointmentModel GoogleCalendarAppointmentModelObj = new GoogleCalendarAppointmentModel(); GoogleTokenModel GoogleTokenModelObj = new GoogleTokenModel(); #region populate GoogleAppointment values GoogleCalendarAppointmentModelObj.EventID = ViewState["eventID"].ToString(); GoogleCalendarAppointmentModelObj.DeleteAppointment = true; GoogleCalendarAppointmentModelList.Add(GoogleCalendarAppointmentModelObj); #endregion #region populate GoogleToken values SqlConnection konekcija = new SqlConnection(); konekcija.ConnectionString = ConfigurationManager.ConnectionStrings["mojaKonekcija"].ConnectionString; SqlCommand komanda = new SqlCommand(); komanda.Connection = konekcija; komanda.CommandText = "SELECT * FROM Users WHERE UserName=@UserName"; komanda.Parameters.Add("@UserName", (string)Session["UserName"]); try { konekcija.Open(); SqlDataReader citac = komanda.ExecuteReader(); while (citac.Read()) { GoogleTokenModelObj.Access_Token = (string)citac["AccessToken"]; GoogleTokenModelObj.Refresh_Token = (string)citac["RefreshToken"]; } citac.Close(); } catch (Exception ex) { lblMessage.Text = ex.ToString(); } finally { konekcija.Close(); } GoogleTokenModelList.Add(GoogleTokenModelObj); #endregion if (GoogleCalendarManager.AddUpdateDeleteEvent(GoogleTokenModelList, GoogleCalendarAppointmentModelList, 0) == true) { //save data in DB SqlConnection konekcija2 = new SqlConnection(); konekcija2.ConnectionString = ConfigurationManager.ConnectionStrings["mojaKonekcija"].ConnectionString; SqlCommand komanda2 = new SqlCommand(); komanda2.Connection = konekcija2; komanda2.CommandText = "DELETE FROM Events WHERE UserName=@username AND EventID=@EventID"; komanda2.Parameters.Add("@username", (string)Session["UserName"]); komanda2.Parameters.Add("@EventID", (string)ViewState["eventID"]); try { konekcija2.Open(); komanda2.ExecuteNonQuery(); } catch (Exception ex) { lblMessage.Text = ex.ToString(); } finally { konekcija2.Close(); FillGridView(); } } }
// povikuvanje na id na defaultniot calendar public string GetCalendarIdentifier() { GoogleTokenModel GoogleTokenModelObject = new GoogleTokenModel(); SqlConnection konekcija3 = new SqlConnection(); konekcija3.ConnectionString = ConfigurationManager.ConnectionStrings["mojaKonekcija"].ConnectionString; SqlCommand komanda = new SqlCommand(); komanda.Connection = konekcija3; komanda.CommandText = "SELECT * FROM Users WHERE UserName=@UserName"; komanda.Parameters.Add("@UserName", (string)Session["UserName"]); try { konekcija3.Open(); SqlDataReader citac = komanda.ExecuteReader(); while (citac.Read()) { GoogleTokenModelObject.Access_Token = (string)citac["AccessToken"]; GoogleTokenModelObject.Refresh_Token = (string)citac["RefreshToken"]; } citac.Close(); } catch (Exception ex) { lblMessage.Text = ex.ToString(); } finally { konekcija3.Close(); } // zapocnuva get calendar id CalendarService CalService = GoogleCalendarManager.GetCalendarService(GoogleTokenModelObject); string AllCalendarFeed = @"http://www.google.com/calendar/feeds/default/allcalendars/full"; Uri postUri = new Uri(AllCalendarFeed); CalendarQuery CalendarQuery = new CalendarQuery(); CalendarQuery.Uri = postUri; string CalendarID = ""; try { CalendarFeed calFeed = CalService.Query(CalendarQuery); if (calFeed != null && calFeed.Entries.Count > 0) { foreach (CalendarEntry CalEntry in calFeed.Entries) { //Commented to post the new appointments on the main calendar instead of cleverfox calendar //if (CalEntry.Title.Text.Contains("Cleverfox") == true) //{ //CalendarID = CalEntry.Title.Text; CalendarID = CalEntry.EditUri.ToString().Substring(CalEntry.EditUri.ToString().LastIndexOf("/") + 1); break; //} } } } catch (Exception e) { lblMessage.Text = e.ToString(); } return(CalendarID); }
// zacuvuvanje i azuriranje na nastan protected void btnSaveUpdate_Click(object sender, EventArgs e) { ///// mm/dd//yyyy lblMessage.Text = ""; string[] separator1 = { "/" }; string [] startdate = txtStartDate.Text.ToString().Split(separator1, StringSplitOptions.None); string[] enddate = txtEndDate.Text.ToString().Split(separator1, StringSplitOptions.None); int starthour = Convert.ToInt16(lstboxStartHour.SelectedValue.ToString()); int startminutes = Convert.ToInt16(lstboxStartMinutes.SelectedValue.ToString()); int endhour = Convert.ToInt16(lstboxEndHours.SelectedValue.ToString()); int endminute = Convert.ToInt16(lstboxEndMinutes0.SelectedValue.ToString()); DateTime StartDateTime = new DateTime(Convert.ToInt16(startdate[2]), Convert.ToInt16(startdate[0]), Convert.ToInt16(startdate[1]), starthour, startminutes, 0); DateTime EndDateTime = new DateTime(Convert.ToInt16(enddate[2]), Convert.ToInt16(enddate[0]), Convert.ToInt16(enddate[1]), endhour, endminute, 0); //ako startDatetime e postaro od momentot na save if (DateTime.Compare(DateTime.Now, StartDateTime) > 0) { lblDateMessage.Text = "Start Date-Time Should be Later from Now !!!"; } else { int rez = DateTime.Compare(StartDateTime, EndDateTime); if (rez == 0) { lblErorEntryMessages.Text = "Star Date-time and End Date-time are equal !!!"; } else if (rez > 0) { lblErorEntryMessages.Text = "Start Date-time is Later than End Date-time"; } else { // prodolzi da azuriras List <GoogleCalendarAppointmentModel> GoogleCalendarAppointmentModelList = new List <GoogleCalendarAppointmentModel>(); List <GoogleTokenModel> GoogleTokenModelList = new List <GoogleTokenModel>(); GoogleCalendarAppointmentModel GoogleCalendarAppointmentModelObj = new GoogleCalendarAppointmentModel(); GoogleTokenModel GoogleTokenModelObj = new GoogleTokenModel(); string eventnumber = ""; if (ViewState["access"].ToString() == "update") { eventnumber = ViewState["eventID"].ToString(); gridViewEvent.SelectedIndex = -1; } else if (ViewState["access"].ToString() == "insert") { eventnumber = MaxEventID().ToString(); ViewState["eventID"] = eventnumber; } else { lblSuccessfullUpdateSave.Text = "Error in decision=ViewState insert or update "; } // ViewState["eventID"] = eventnumber.ToString(); #region populate GoogleAppointment values GoogleCalendarAppointmentModelObj.EventID = eventnumber; GoogleCalendarAppointmentModelObj.EventTitle = txtTitleEvent.Text.Trim(); GoogleCalendarAppointmentModelObj.EventStartTime = StartDateTime; GoogleCalendarAppointmentModelObj.EventEndTime = EndDateTime; if (txtRemainder1.Text != "") { GoogleCalendarAppointmentModelObj.Remainder1 = ddlRemainder1.SelectedValue.Trim() + " " + txtRemainder1.Text.Trim() + " " + ddltimeRemainder1.SelectedValue.Trim(); } else { GoogleCalendarAppointmentModelObj.Remainder1 = ""; } if (txtRemainder2.Text != "") { GoogleCalendarAppointmentModelObj.Remainder2 = ddlRemainder2.SelectedValue.Trim() + " " + txtRemainder2.Text.Trim() + " " + ddltimeRemainder2.SelectedValue.Trim(); } else { GoogleCalendarAppointmentModelObj.Remainder2 = ""; } //Giving the proper location so you can view on the map in google calendar if (chkBoxLocation.Checked) { GoogleCalendarAppointmentModelObj.EventLocation = hfCoordinates.Value; } else { GoogleCalendarAppointmentModelObj.EventLocation = ""; }; if (chkBoxTransport.Checked && (ddlTransport.SelectedIndex != -1)) { GoogleCalendarAppointmentModelObj.EventTransport = ddlTransport.SelectedValue; } else { GoogleCalendarAppointmentModelObj.EventTransport = ""; } if (chkBoxWeather.Checked) { GoogleCalendarAppointmentModelObj.Weather = "yes"; } else { GoogleCalendarAppointmentModelObj.Weather = "no"; }; GoogleCalendarAppointmentModelObj.EventDetails = txtEventDescription.Text.Trim(); GoogleCalendarAppointmentModelList.Add(GoogleCalendarAppointmentModelObj); #endregion #region populate GoogleToken values SqlConnection konekcija = new SqlConnection(); konekcija.ConnectionString = ConfigurationManager.ConnectionStrings["mojaKonekcija"].ConnectionString; SqlCommand komanda = new SqlCommand(); komanda.Connection = konekcija; komanda.CommandText = "SELECT * FROM Users WHERE UserName=@UserName"; komanda.Parameters.Add("@UserName", (string)Session["UserName"]); try { konekcija.Open(); SqlDataReader citac = komanda.ExecuteReader(); while (citac.Read()) { GoogleTokenModelObj.Access_Token = (string)citac["AccessToken"]; GoogleTokenModelObj.Refresh_Token = (string)citac["RefreshToken"]; } citac.Close(); } catch (Exception ex) { lblMessage.Text = ex.ToString(); } finally { konekcija.Close(); } GoogleTokenModelList.Add(GoogleTokenModelObj); #endregion #region Add event to google calendar if (GoogleCalendarManager.AddUpdateDeleteEvent(GoogleTokenModelList, GoogleCalendarAppointmentModelList, 0) == true) { SqlConnection konekcija2 = new SqlConnection(); konekcija2.ConnectionString = ConfigurationManager.ConnectionStrings["mojaKonekcija"].ConnectionString; SqlCommand komanda2 = new SqlCommand(); komanda2.Connection = konekcija2; string successstring = "????"; if (ViewState["access"].ToString() == "insert") { komanda2.CommandText = "INSERT INTO [Events] (UserName, EventTitle,EventStartTime,EventEndTime,EventLocation,EventDetails,EventRemainder1,EventRemainder2,EventTransport,Weather) VALUES(@username,@EventTitle,@EventStartTime,@EventEndTime,@EventLocation,@EventDetails,@EventRemainder1,@EventRemainder2,@EventTransport,@Weather)"; komanda2.Parameters.Add("@username", (string)Session["UserName"]); komanda2.Parameters.Add("@EventTitle", GoogleCalendarAppointmentModelObj.EventTitle); komanda2.Parameters.Add("@EventStartTime", GoogleCalendarAppointmentModelObj.EventStartTime); komanda2.Parameters.Add("@EventEndTime", GoogleCalendarAppointmentModelObj.EventEndTime); komanda2.Parameters.Add("@EventLocation", GoogleCalendarAppointmentModelObj.EventLocation); komanda2.Parameters.Add("@EventDetails", GoogleCalendarAppointmentModelObj.EventDetails); komanda2.Parameters.Add("@EventRemainder1", GoogleCalendarAppointmentModelObj.Remainder1); komanda2.Parameters.Add("@EventRemainder2", GoogleCalendarAppointmentModelObj.Remainder2); komanda2.Parameters.Add("@EventTransport", GoogleCalendarAppointmentModelObj.EventTransport); komanda2.Parameters.Add("@Weather", GoogleCalendarAppointmentModelObj.Weather); } else if (ViewState["access"].ToString() == "update") { komanda2.CommandText = "UPDATE Events SET EventTitle=@EventTitle,EventStartTime=@EventStartTime,EventEndTime=@EventEndTime,EventLocation=@EventLocation,EventDetails=@EventDetails,EventRemainder1=@EventRemainder1,EventRemainder2=@EventRemainder2,EventTransport=@EventTransport,Weather=@Weather WHERE UserName=@UserName AND EventID=@EventID"; komanda2.Parameters.Add("@EventTitle", GoogleCalendarAppointmentModelObj.EventTitle); komanda2.Parameters.Add("@EventStartTime", GoogleCalendarAppointmentModelObj.EventStartTime); komanda2.Parameters.Add("@EventEndTime", GoogleCalendarAppointmentModelObj.EventEndTime); komanda2.Parameters.Add("@EventLocation", GoogleCalendarAppointmentModelObj.EventLocation); komanda2.Parameters.Add("@EventDetails", GoogleCalendarAppointmentModelObj.EventDetails); komanda2.Parameters.Add("@EventRemainder1", GoogleCalendarAppointmentModelObj.Remainder1); komanda2.Parameters.Add("@EventRemainder2", GoogleCalendarAppointmentModelObj.Remainder2); komanda2.Parameters.Add("@EventTransport", GoogleCalendarAppointmentModelObj.EventTransport); komanda2.Parameters.Add("@Weather", GoogleCalendarAppointmentModelObj.Weather); komanda2.Parameters.Add("@UserName", (string)Session["UserName"]); komanda2.Parameters.Add("@EventID", GoogleCalendarAppointmentModelObj.EventID); } try { konekcija2.Open(); komanda2.ExecuteNonQuery(); } catch (Exception ex) { lblMessage.Text = ex.ToString(); } finally { konekcija2.Close(); if (ViewState["access"].ToString() == "update") { successstring = "Updated"; CleanFieldsInNewEvents(); btnSaveUpdate.Enabled = false; btnDeleteEvent.Enabled = false; } else if (ViewState["access"].ToString() == "insert") { successstring = "Created"; btnDeleteEvent.Enabled = true; } ; lblSuccessfullUpdateSave.Text = "Event " + successstring + " successfully. Go to <a href='https://www.google.com/calendar/' target='blank'>Google Calendar</a> to view your event "; } btnDeleteEvent.Enabled = true; if (ViewState["access"].ToString() == "update") { FillGridView(); } } #endregion } } }
} ///registracija protected void btnRegister_Click(object sender, EventArgs e) { string GoogleReturnPageAddress = System.Configuration.ConfigurationManager.AppSettings["GoogleReturnPageAddress"]; Response.Redirect(GoogleCalendarManager.GenerateGoogleOAuthURL()); }
public AuthController(GoogleCalendarManager googleCalManager) { this.googleCalManager = googleCalManager; }
private void GetDataButton_Click(object sender, RoutedEventArgs e) { responseBox.Text = "Getting timetable..."; var manager = new TimetableManager(DateFromPicker.SelectedDate, DateToPicker.SelectedDate); var responseTask = Task.Run(async() => await manager.GetTimetable()); var contentTask = responseTask.ContinueWith(async r => { var message = r.Result; return(await message.Content.ReadAsStringAsync()); }, TaskContinuationOptions.OnlyOnRanToCompletion); responseTask.ContinueWith(t => { Dispatcher.Invoke(() => { responseBox.Text += String.Format("{0}{1}", "\n", t.Exception.Message); }); }, TaskContinuationOptions.OnlyOnFaulted); var dataTask = contentTask.ContinueWith(t => { Dispatcher.Invoke(() => { responseBox.Text += "\nDeserializing..."; }); var data = JsonConvert.DeserializeObject <ResponseContent>(t.Result.Result); Dispatcher.Invoke(() => { responseBox.Text += String.Format("\nObtained {0} events!", data.Courses.Count); }); return(data); }, TaskContinuationOptions.OnlyOnRanToCompletion); var calendarEventsTask = dataTask.ContinueWith(async d => { Dispatcher.Invoke(() => { responseBox.Text += "\nAdding to Google Calendar..."; }); var calendarManager = new GoogleCalendarManager(d.Result.Courses, Dispatcher.Invoke(() => DateFromPicker.SelectedDate), Dispatcher.Invoke(() => DateToPicker.SelectedDate)); await calendarManager.Run(); }, TaskContinuationOptions.OnlyOnRanToCompletion); calendarEventsTask.ContinueWith(t => { t.Result.ContinueWith(_ => { Dispatcher.Invoke(() => { responseBox.Text += "\nSuccessfully added new events!"; }); }, TaskContinuationOptions.OnlyOnRanToCompletion); t.Result.ContinueWith(_ => { Dispatcher.Invoke(() => { responseBox.Text += "\nError while adding or deleting Google Events!"; responseBox.Text += "\n" + t.Result.Exception.Message; }); }, TaskContinuationOptions.OnlyOnFaulted); }); }