/// <summary> /// Metoda odpytująca WebService o nowe zdarzenia w przedziale czasowym określonym w jako argumenty metody. /// </summary> /// <param name="timeBefore">Początek przedziału czasowego.</param> /// <param name="timeNow">Koniec przedziału czasowego.</param> /// <returns></returns> private async void AskAboutNewEventsTask(DateTime timeBefore, DateTime timeNow) { // Obiekt metody WebServisu pozwalająca zainicjalizować żądanie pobrania rezerwacji WYKONANYMI między określonym czasem. _bookingsRequest = new GetBookingsCreatedBetweenDatesRequest() { BeginTime = timeBefore, EndTime = timeNow, SenderId = LoginToWebServiceData.WebServiceId, Token = LoginToWebServiceData.WebServiceToken }; // Obiekt metody WebServisu przyjmujący odpowiedź na zapytanie o rezerwację sal, // wykonane w podanym przedziale czasowym. var bookingsResponse = await WebServiceConnection. SendPost<GetBookingsCreatedBetweenDatesRequest, GetBookingsCreatedBetweenDatesResponse>(_bookingsRequest, "booking/dates"); if (bookingsResponse != null) { if (bookingsResponse.Status == 0) { foreach (var booking in bookingsResponse.BookingsList) { Logs.WriteErrorLog("Ilosc rezerwacji w booking: " + booking.GuestList.Count.ToString()); foreach (var guest in booking.GuestList) { var userInfo = await WebServiceConnection.SendGet<GetUserInfoResponse>("user/" + guest.UserId + "/info"); if (userInfo == null) Logs.WriteErrorLog("Nie odzyskalem odpowiedzi od WS"); if (userInfo.Email.EndsWith("@gmail.com") == false) continue; Logs.WriteErrorLog("guest.BookingTitle: " + guest.BookingTitle); Logs.WriteErrorLog("guest.userId: " + guest.UserId.ToString()); var userItem = _usersList.FirstOrDefault(u => u.UserId == guest.UserId); if (userItem == null) { Logs.WriteErrorLog("Uzytkownika nie ma w kolejce, ani na liscie. Dodaje go..."); await AddNewUser(guest); } Logs.WriteErrorLog("Dodalem uzytkownika, tutaj sie zacinam."); userItem = _usersList.FirstOrDefault(u => u.UserId == guest.UserId); AddNewEvent(guest, userItem); await UpdateAllCalendars(); } //Dodaj Kalendarz i wywołaj metodę booking dla kalendarza użytkownika. //booking.GuestList[0].Confirmation //Logs.WriteErrorLog(booking.Title + ": " + booking.Description); } await UpdateAllCalendars(); } else { Logs.WriteErrorLog(bookingsResponse.Status + ": " + bookingsResponse.Message); } } else { Logs.WriteErrorLog("Nie udalo sie otrzymac odpowiedzi od WebService'u"); } }
/// <summary> /// Metoda odpytująca WebService o nowe zdarzenia w przedziale czasowym określonym w jako argumenty metody. /// </summary> /// <param name="timeBefore">Początek przedziału czasowego.</param> /// <param name="timeNow">Koniec przedziału czasowego.</param> /// <returns></returns> private async void AskAboutNewEventsTask(DateTime timeBefore, DateTime timeNow) { // Obiekt metody WebServisu pozwalająca zainicjalizować żądanie pobrania rezerwacji WYKONANYMI między określonym czasem. _bookingsRequest = new GetBookingsCreatedBetweenDatesRequest() { BeginTime = timeBefore, EndTime = timeNow, SenderId = LoginToWebServiceData.WebServiceId, Token = LoginToWebServiceData.WebServiceToken }; // Obiekt metody WebServisu przyjmujący odpowiedź na zapytanie o rezerwację sal, // wykonane w podanym przedziale czasowym. var bookingsResponse = await WebServiceConnection. SendPost <GetBookingsCreatedBetweenDatesRequest, GetBookingsCreatedBetweenDatesResponse>(_bookingsRequest, "booking/dates"); if (bookingsResponse != null) { if (bookingsResponse.Status == 0) { foreach (var booking in bookingsResponse.BookingsList) { Logs.WriteErrorLog("Ilosc rezerwacji w booking: " + booking.GuestList.Count.ToString()); foreach (var guest in booking.GuestList) { var userInfo = await WebServiceConnection.SendGet <GetUserInfoResponse>("user/" + guest.UserId + "/info"); if (userInfo == null) { Logs.WriteErrorLog("Nie odzyskalem odpowiedzi od WS"); } if (userInfo.Email.EndsWith("@gmail.com") == false) { continue; } Logs.WriteErrorLog("guest.BookingTitle: " + guest.BookingTitle); Logs.WriteErrorLog("guest.userId: " + guest.UserId.ToString()); var userItem = _usersList.FirstOrDefault(u => u.UserId == guest.UserId); if (userItem == null) { Logs.WriteErrorLog("Uzytkownika nie ma w kolejce, ani na liscie. Dodaje go..."); await AddNewUser(guest); } Logs.WriteErrorLog("Dodalem uzytkownika, tutaj sie zacinam."); userItem = _usersList.FirstOrDefault(u => u.UserId == guest.UserId); AddNewEvent(guest, userItem); await UpdateAllCalendars(); } //Dodaj Kalendarz i wywołaj metodę booking dla kalendarza użytkownika. //booking.GuestList[0].Confirmation //Logs.WriteErrorLog(booking.Title + ": " + booking.Description); } await UpdateAllCalendars(); } else { Logs.WriteErrorLog(bookingsResponse.Status + ": " + bookingsResponse.Message); } } else { Logs.WriteErrorLog("Nie udalo sie otrzymac odpowiedzi od WebService'u"); } }