public override void Prepare(NavigateRequestParameters parameter) { _chat = parameter.Chat; _navigateRequest = parameter.NavigateRequest; _navigateRequest.NavigationDeclined += NavigateRequest_NavigationDeclined; _navigateRequest.NavigationAccepted += NavigateRequest_NavigationAccepted; }
public async Task AcceptNavigationRequest(NavigateRequest navigateRequest) { navigateRequest.IsRequestAccepted = true; navigateRequest.IsRequestDeclined = false; await _navigationRequestRepository.UpdateNavigationRequest(navigateRequest); }
private void NavigateHome(NavigateRequest obj) { try { Dispatcher.Invoke(new Action(() => { this.NavigationService.Navigate(new Home()); })); } catch { } }
public async Task InitiatNavigationRequest(NavigateRequest navigateRequest) { navigateRequest.InitiatorEmail = navigateRequest.ActiveUser.EmailAddress; navigateRequest.IsNavigationActive = true; navigateRequest.IsRequestAccepted = false; navigateRequest.IsRequestDeclined = false; await _navigationRequestRepository.UpdateNavigationRequest(navigateRequest); }
public async Task DeclineNavigationRequest(NavigateRequest navigateRequest) { navigateRequest.InitiatorEmail = string.Empty; navigateRequest.IsNavigationActive = false; navigateRequest.IsRequestAccepted = false; navigateRequest.IsRequestDeclined = true; await _navigationRequestRepository.UpdateNavigationRequest(navigateRequest); }
private async Task SetupModel() { _chat.Messages.CollectionChanged += Messages_CollectionChanged; await _messageRepository.GetMessages(_chat); if (_navigateRequest == null) { _navigateRequest = await _navigateRequestRepository.GetNavigationRequest(_chat); } _navigateRequest.NavigationReqest += NavigateRequest_NavigationReqest; }
public async Task UpdateNavigationRequest(NavigateRequest navigateRequest) { var client = _firebaseClientService.CreateFirebaseClient(); await client .Child("BasicChat") .Child(navigateRequest.ChatFirebaseKey) .Child("meetRequest") .PutAsync(new NavigateRequestDto { InitiatorEmail = navigateRequest.InitiatorEmail, CallActive = navigateRequest.IsNavigationActive, IsRequestedAccepted = navigateRequest.IsRequestAccepted, IsRequestDeclined = navigateRequest.IsRequestDeclined }); }
public async Task <NavigateRequest> GetNavigationRequest(Chat chat) { var navigateRequest = new NavigateRequest { ActiveUser = chat.ActiveUser, ChatFirebaseKey = chat.FirebaseKey }; var client = _firebaseClientService.CreateFirebaseClient(); var navigateRequestDto = await client .Child("BasicChat") .Child(chat.FirebaseKey) .Child("meetRequest") .OnceSingleAsync <NavigateRequestDto>(); if (navigateRequestDto == null) { navigateRequestDto = new NavigateRequestDto { InitiatorEmail = string.Empty, }; await client .Child("BasicChat") .Child(chat.FirebaseKey) .Child("meetRequest") .PutAsync(navigateRequestDto); } navigateRequest.InitiatorEmail = navigateRequestDto.InitiatorEmail; navigateRequest.IsNavigationActive = navigateRequestDto.CallActive; navigateRequest.IsRequestAccepted = navigateRequestDto.IsRequestedAccepted; navigateRequest.IsRequestDeclined = navigateRequestDto.IsRequestDeclined; var disposable = client .Child("BasicChat") .Child(chat.FirebaseKey) .Child("meetRequest") .AsObservable <NavigateRequestDto>(elementRoot: "meetRequest") .Subscribe(navigateRequest.IncomingNavigationRequest); _disposable.Add(disposable); return(navigateRequest); }
public async Task PrepareAsync(ChatParameters parameter) { _chat = parameter.Chat; _navigateRequest = parameter.NavigateRequest; await SetupModel(); }