void HandleCalendarStatus(CalendarStatus calendarStatus) { ObjectGuid guid = GetPlayer().GetGUID(); CalendarEvent calendarEvent = Global.CalendarMgr.GetEvent(calendarStatus.EventID); if (calendarEvent != null) { CalendarInvite invite = Global.CalendarMgr.GetInvite(calendarStatus.InviteID); if (invite != null) { invite.Status = (CalendarInviteStatus)calendarStatus.Status; Global.CalendarMgr.UpdateInvite(invite); Global.CalendarMgr.SendCalendarEventStatus(calendarEvent, invite); Global.CalendarMgr.SendCalendarClearPendingAction(calendarStatus.Guid); } else { Global.CalendarMgr.SendCalendarCommandResult(guid, CalendarError.NoInvite); // correct? } } else { Global.CalendarMgr.SendCalendarCommandResult(guid, CalendarError.EventInvalid); } }
public Day(DateTime date, DateTime firstDayOfMonth) { this.Date = date; if (date.Date < DateTime.Now || date.Month != firstDayOfMonth.Month) this.Status = CalendarStatus.Unavailable; else this.Status = CalendarStatus.Available; }
private void UpdateLatestCalendarEventsDisplay(object sender, CalendarStatus calendarStatus) { Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync( CoreDispatcherPriority.Normal, () => { if (calendarStatus.CalenderItems.Count > 0) { this.CalendarGroup00.DataContext = calendarStatus.CalenderItems[0]; } if (calendarStatus.CalenderItems.Count > 1) { this.CalendarGroup01.DataContext = calendarStatus.CalenderItems[1]; } if (calendarStatus.CalenderItems.Count > 2) { this.CalendarGroup02.DataContext = calendarStatus.CalenderItems[2]; } if (calendarStatus.CalenderItems.Count > 3) { this.CalendarGroup03.DataContext = calendarStatus.CalenderItems[3]; } if (calendarStatus.CalenderItems.Count > 4) { this.CalendarGroup04.DataContext = calendarStatus.CalenderItems[4]; } if (calendarStatus.CalenderItems.Count > 5) { this.CalendarGroup05.DataContext = calendarStatus.CalenderItems[5]; } if (calendarStatus.CalenderItems.Count > 6) { this.CalendarGroup06.DataContext = calendarStatus.CalenderItems[6]; } if (calendarStatus.CalenderItems.Count > 7) { this.CalendarGroup07.DataContext = calendarStatus.CalenderItems[7]; } if (calendarStatus.CalenderItems.Count > 8) { this.CalendarGroup08.DataContext = calendarStatus.CalenderItems[8]; } if (calendarStatus.CalenderItems.Count > 9) { this.CalendarGroup09.DataContext = calendarStatus.CalenderItems[9]; } } ); }
private async Task <CalendarStatus> GetRawEvents() { //Call Google Calendar API var yesterdayDateTime = DateTime.Now.Date;//DateTime.Now.AddDays(-1); var minDateString = yesterdayDateTime.ToString("O"); var currentCalendar = new CalendarStatus(); using (var httpRequest = new Windows.Web.Http.HttpRequestMessage()) { var client = new Windows.Web.Http.HttpClient(); string calendarAPI = $"https://www.googleapis.com/calendar/v3/calendars/[email protected]/events?timeMin={minDateString}"; httpRequest.Method = Windows.Web.Http.HttpMethod.Get; httpRequest.RequestUri = new Uri(calendarAPI); httpRequest.Headers.Authorization = new Windows.Web.Http.Headers.HttpCredentialsHeaderValue("Bearer", this.accessToken); var response = await client.SendRequestAsync(httpRequest); if (response.IsSuccessStatusCode) { var listString = await response.Content.ReadAsStringAsync(); currentCalendar.AddRawCalendarItems(listString, "personal"); } else { var errorRaw = await response.Content.ReadAsStringAsync(); dynamic jsonObject = Newtonsoft.Json.JsonConvert.DeserializeObject(errorRaw); dynamic error = jsonObject.error; dynamic errors = error.errors; dynamic firstItem = errors[0]; dynamic reasonObject = firstItem.reason; string reason = reasonObject.Value; if (reason == "authError") { throw new Exception(); } } } using (var httpRequest = new Windows.Web.Http.HttpRequestMessage()) { var client = new Windows.Web.Http.HttpClient(); string holydayCalendarAPI = $"https://www.googleapis.com/calendar/v3/calendars/{this.holydaysCalendarId}/events?timeMin={minDateString}"; httpRequest.Method = Windows.Web.Http.HttpMethod.Get; httpRequest.RequestUri = new Uri(holydayCalendarAPI); httpRequest.Headers.Authorization = new Windows.Web.Http.Headers.HttpCredentialsHeaderValue("Bearer", this.accessToken); var holidayresponse = await client.SendRequestAsync(httpRequest); if (holidayresponse.IsSuccessStatusCode) { var listString = await holidayresponse.Content.ReadAsStringAsync(); currentCalendar.AddRawCalendarItems(listString, "public"); } else { var errorRaw = await holidayresponse.Content.ReadAsStringAsync(); dynamic jsonObject = Newtonsoft.Json.JsonConvert.DeserializeObject(errorRaw); dynamic error = jsonObject.error; dynamic errors = error.errors; dynamic firstItem = errors[0]; dynamic reasonObject = firstItem.reason; string reason = reasonObject.Value; if (reason == "authError") { throw new Exception(); } } } return(currentCalendar); }