public async Task CreateReservation() { try { await Task.Run(async() => { //UserResponse user = await _userService.GetUserByEmail(path, _persistenceService.GetPersistenceValueWithKey("email").ToString(), new CancellationToken()); UserResponse user = await _userService.GetUserByEmail(path, "*****@*****.**", new CancellationToken()); _persistenceService.SetPersistenceValueAndKey("id", user.userId.ToString()); if (_userReservationTime != null && _userReservationDate != null && _direction != null) { //set userReservation private variable _userReservation = new Reservation(); _userReservation.Time = _userReservationTime; _userReservation.Date = _userReservationDate; _userReservation.Email = _persistenceService.GetPersistenceValueWithKey("email").ToString(); _userReservation.Directions = _direction; //cast userReservation object to Treq object PostReservationRequest Treq = new PostReservationRequest(); CastReservationToPostRequestReservation(Treq, user); PostReservationRequestContainer TreqCont = new PostReservationRequestContainer(); TreqCont.reservation = Treq; //call API var token = new CancellationToken(); var response = await _reservationService.CreateReservation(path, Treq, token); } else { throw new NullReferenceException("Une donnée est manquante à la complétion de la réservation."); } }); //reset variables CancelReservation(); await _pageService.DisplayAlert("Confirmation", "Réservation créée avec succès!", "OK"); await _masterNavigationService.NavigateToPage(new HomePage(false)); } catch (Exception e) { await _pageService.DisplayAlert("Erreur", e.Message, "OK"); } }
private void UpdateOnAppearing() { var response = _persistenceService.GetPersistenceValueWithKey("email"); if (!response.Equals("error")) { //bypass login SetMasterPage(); } }
private async Task <PostUserRequest> RegisterUser() { PostUserRequest request = new PostUserRequest(); request = await Task.Run(async() => { if (StaticValues.currentUser != null && StaticValues.staticFacebookProfile == null) { try { request.email = StaticValues.currentUser.email; request.firstName = StaticValues.currentUser.firstName; request.lastName = StaticValues.currentUser.lastName; CancellationToken token = new CancellationToken(); var condition = await _userService.GetUserByEmail(PATH_USERS, request.email, token); if (condition == null) { var response = await _userService.CreateUser(PATH_USERS, request, token); } } catch (Exception e) { //await _pageService.DisplayAlert("Erreur de requête", e.Message, "OK"); } } else if (StaticValues.currentUser == null && StaticValues.staticFacebookProfile != null) { try { if (StaticValues.staticFacebookProfile.Email == null && StaticValues.currentUser == null) { _persistenceService.SetPersistenceValueAndKey("email", "*****@*****.**"); } request.email = StaticValues.staticFacebookProfile.Email; request.firstName = StaticValues.staticFacebookProfile.FirstName; request.lastName = StaticValues.staticFacebookProfile.LastName; CancellationToken token = new CancellationToken(); var condition = await _userService.GetUserByEmail(PATH_USERS, request.email, token); if (condition == null) { var response = await _userService.CreateUser(PATH_USERS, request, token); } } catch (Exception e) { // await _pageService.DisplayAlert("Erreur de requête", e.Message, "OK"); } } else { if (_persistenceService.GetPersistenceValueWithKey("email") == null) { // await _pageService.DisplayAlert("Erreur native", "Impossible d'identifier l'utilisateur correctement.", "OK"); } } return(request); }); return(request); }