/// <summary> /// Metoda tworząca listę wydarzeń do kalendarza. /// </summary> /// <param name="booking">Pojedyncza rezerwacja z listą gości.</param> public void MakeEventRequest(SimpleBookingUser booking) { Logs.WriteErrorLog("Robie request eventa (wrzucam zdarzenia na kolejke)."); Logs.WriteErrorLog(booking.BookingEndTime.ToString("g")); Logs.WriteErrorLog(booking.BookingBeginTime.ToString("g")); var eventStartDateTime = new EventDateTime { DateTime = booking.BookingBeginTime }; Logs.WriteErrorLog("Moja data rozp: " + eventStartDateTime.DateTime.ToString()); var eventEndDateTime = new EventDateTime { DateTime = booking.BookingEndTime }; Logs.WriteErrorLog("Moja data zakonczenia: " + eventEndDateTime.DateTime.ToString()); Request = new BatchRequest(Service); Logs.WriteErrorLog("tytul: " + booking.BookingTitle); Logs.WriteErrorLog("Opis" + booking.BookingDescription); Request.Queue <Event>(Service.Events.Insert( new Event { Summary = booking.BookingTitle, Description = booking.BookingDescription, Start = eventStartDateTime, End = eventEndDateTime }, CalendarId), (content, error, i, message) => { //Do wypełnienia "Callback" }); Logs.WriteErrorLog("Wrzucilem."); }
/// <summary> /// Metoda pobiera z WebServisu informacje o użytkowniku, którego nie ma w Usłudze. /// </summary> /// <param name="guest">Parametr z którego pobierane są informacje, którego użytkownika dodać.</param> private async Task AddNewUser(SimpleBookingUser guest) { Logs.WriteErrorLog("AddNewUser"); Logs.WriteErrorLog("guest.UserId: " + guest.UserId.ToString() + ", Booking title: " + guest.BookingTitle); GetUserInfoResponse userInfo = null; userInfo = await WebServiceConnection.SendGet <GetUserInfoResponse>("user/" + guest.UserId + "/info"); if (userInfo == null) { Logs.WriteErrorLog("UserInfo zwrocilo null z WebSerwisu"); } if (userInfo.Email == null) { Logs.WriteErrorLog("UserEmil zwrocil null"); } var userNew = new User(userInfo.Email, guest.UserId); //userNew.UserId = guest.UserId; Logs.WriteErrorLog("UserNew.UserEmail: " + userNew.UserEmail + ", UserNew.UserId" + userNew.UserId); //Autoryzuj użytkownika, zakładając że jego token istnieje. userNew.Calendar.AuthorizeTask(); if (userNew.Calendar.IsCalendarAuthorized == false) { return; } Logs.WriteErrorLog("uzytkownik " + userNew.UserEmail + " zostal zautoryzowany."); userNew.Calendar.Service.Events.QuickAdd("primary", "Testujemy poprawnosc autoryzacji").ExecuteAsync(); _usersList.Add(userNew); Logs.WriteErrorLog("Pierwszy uzytkownik w kolejce to: " + _usersList.First().UserEmail); }
/// <summary> /// Metoda dodaje nowe zdarzenie do kalendarza użytkownika. /// Wydarzenie zostaje wrzucone na stos zdarzeń do aktualizacji. /// </summary> /// <param name="guest">Zaproszony gość z w bazie danych.</param> /// <param name="user">Użytkownik, któremu przypisuje się wydarzenie do kalendarza.</param> private static void AddNewEvent(SimpleBookingUser guest, User user) { Logs.WriteErrorLog("Dodaje nowe wydazenie uzytkownikowi " + user.UserEmail); if (user.Calendar.IsCalendarAuthorized) { Logs.WriteErrorLog("Zautoryzowany!"); user.Calendar.MakeEventRequest(guest); Logs.WriteErrorLog("wykonalem MakeEventRequest."); } else { Logs.WriteErrorLog("Dodaje zdarzenie do kolejki, bo uzytkownik nie jest zautoryzowany."); AddEventToQueue(guest, user); Logs.WriteErrorLog("Dodalem zdarzenie do kolejki."); } }
/// <summary> /// Metoda dodaje wydarzenie do kolejki zdarzeń. /// </summary> /// <param name="guest">Rezerwacja, która zostanie dodana do kolejki.</param> /// <param name="user">Użytkownik, któremu zostanie zakolejkowane wydarzenie.</param> private static void AddEventToQueue(SimpleBookingUser guest, User user) { Logs.WriteErrorLog("AddEventToQueue"); var eventStartDateTime = new Google.Apis.Calendar.v3.Data.EventDateTime { DateTime = guest.BookingBeginTime }; var eventEndDateTime = new Google.Apis.Calendar.v3.Data.EventDateTime { DateTime = guest.BookingEndTime }; var e = new Google.Apis.Calendar.v3.Data.Event() { Start = eventStartDateTime, End = eventEndDateTime, Description = guest.BookingDescription, Summary = guest.BookingTitle, Location = guest.BookingRoomName }; user.Calendar.EventsQueue.Enqueue(e); Logs.WriteErrorLog("Koniec AddEventToQueue"); }
/// <summary> /// Metoda pobiera z WebServisu informacje o użytkowniku, którego nie ma w Usłudze. /// </summary> /// <param name="guest">Parametr z którego pobierane są informacje, którego użytkownika dodać.</param> private async Task AddNewUser(SimpleBookingUser guest) { Logs.WriteErrorLog("AddNewUser"); Logs.WriteErrorLog("guest.UserId: " + guest.UserId.ToString() + ", Booking title: " + guest.BookingTitle); GetUserInfoResponse userInfo = null; userInfo = await WebServiceConnection.SendGet<GetUserInfoResponse>("user/" + guest.UserId + "/info"); if(userInfo == null) Logs.WriteErrorLog("UserInfo zwrocilo null z WebSerwisu"); if(userInfo.Email == null) Logs.WriteErrorLog("UserEmil zwrocil null"); var userNew = new User(userInfo.Email, guest.UserId); //userNew.UserId = guest.UserId; Logs.WriteErrorLog("UserNew.UserEmail: " + userNew.UserEmail + ", UserNew.UserId" + userNew.UserId); //Autoryzuj użytkownika, zakładając że jego token istnieje. userNew.Calendar.AuthorizeTask(); if (userNew.Calendar.IsCalendarAuthorized == false) { return; } Logs.WriteErrorLog("uzytkownik " + userNew.UserEmail + " zostal zautoryzowany."); userNew.Calendar.Service.Events.QuickAdd("primary", "Testujemy poprawnosc autoryzacji").ExecuteAsync(); _usersList.Add(userNew); Logs.WriteErrorLog("Pierwszy uzytkownik w kolejce to: " + _usersList.First().UserEmail); }
/// <summary> /// Metoda tworząca listę wydarzeń do kalendarza. /// </summary> /// <param name="booking">Pojedyncza rezerwacja z listą gości.</param> public void MakeEventRequest(SimpleBookingUser booking) { Logs.WriteErrorLog("Robie request eventa (wrzucam zdarzenia na kolejke)."); Logs.WriteErrorLog(booking.BookingEndTime.ToString("g")); Logs.WriteErrorLog(booking.BookingBeginTime.ToString("g")); var eventStartDateTime = new EventDateTime { DateTime = booking.BookingBeginTime }; Logs.WriteErrorLog("Moja data rozp: " + eventStartDateTime.DateTime.ToString()); var eventEndDateTime = new EventDateTime { DateTime = booking.BookingEndTime }; Logs.WriteErrorLog("Moja data zakonczenia: " + eventEndDateTime.DateTime.ToString()); Request = new BatchRequest(Service); Logs.WriteErrorLog("tytul: " + booking.BookingTitle); Logs.WriteErrorLog("Opis" + booking.BookingDescription); Request.Queue<Event>(Service.Events.Insert( new Event { Summary = booking.BookingTitle, Description = booking.BookingDescription, Start = eventStartDateTime, End = eventEndDateTime }, CalendarId), (content, error, i, message) => { //Do wypełnienia "Callback" }); Logs.WriteErrorLog("Wrzucilem."); }