public async Task <GroupRequestConfirmResponse> GroupRequestConfirmAsync(GroupRequestConfirmDataModel dataModel, CancellationToken cancellationToken) => await Task.Run(async() => { if (!CrossConnectivity.Current.IsConnected) { throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION); } GroupRequestConfirmRequest groupRequestConfirmRequest = new GroupRequestConfirmRequest { AccessToken = GlobalSettings.Instance.UserProfile.AccesToken, Data = dataModel, Url = GlobalSettings.Instance.Endpoints.GroupsEndpoints.GroupRequestConfirmEndPoint }; GroupRequestConfirmResponse groupRequestConfirmResponse = null; try { groupRequestConfirmResponse = await _requestProvider.PostAsync <GroupRequestConfirmRequest, GroupRequestConfirmResponse>(groupRequestConfirmRequest); } catch (ServiceAuthenticationException exc) { _identityUtilService.RefreshToken(); throw exc; } catch (Exception ex) { Crashes.TrackError(ex); Debug.WriteLine($"ERROR:{ex.Message}"); throw; } return(groupRequestConfirmResponse); });
private async Task OnAccept(CancellationToken cancellationToken) { try { GroupRequestConfirmDataModel groupRequestConfirmDataModel = new GroupRequestConfirmDataModel { GroupId = this.GroupId, Id = GlobalSettings.Instance.UserProfile.Id }; GroupRequestConfirmResponse groupRequestConfirmResponse = await _groupsService.GroupRequestConfirmAsync(groupRequestConfirmDataModel, cancellationToken); if (groupRequestConfirmResponse != null) { MessagingCenter.Send <object, long>(this, GlobalSettings.Instance.AppMessagingEvents.GroupsEvents.InviteAccepted, GroupId); await DialogService.ToastAsync($"You are joined in {GroupName}!"); } } catch (OperationCanceledException) { } catch (ObjectDisposedException) { } catch (ServiceAuthenticationException) { } catch (Exception exc) { Crashes.TrackError(exc); await DialogService.ToastAsync(exc.Message); } }
public ChildInviteToGroupItemViewModel( IGroupsService groupsService) { _groupsService = groupsService; AcceptCommand = new Command(async() => { try { GroupRequestConfirmDataModel groupRequestConfirmDataModel = new GroupRequestConfirmDataModel { GroupId = ((GroupDTO)InviteTo).Id, Id = Child.Id, }; GroupRequestConfirmResponse groupRequestConfirmResponse = await _groupsService.GroupRequestConfirmAsync(groupRequestConfirmDataModel, default(CancellationToken)); if (groupRequestConfirmResponse != null) { MessagingCenter.Send <object, long>(this, GlobalSettings.Instance.AppMessagingEvents.GroupsEvents.InviteAccepted, ((GroupDTO)InviteTo).Id); await DialogService.ToastAsync("Child joined to group"); } } catch (OperationCanceledException) { } catch (ObjectDisposedException) { } catch (ServiceAuthenticationException) { } catch (Exception exc) { Crashes.TrackError(exc); await DialogService.ToastAsync(exc.Message); } }); DeclineCommand = new Command(async() => { try { GroupRequestDeclineDataModel dataModel = new GroupRequestDeclineDataModel { GroupId = ((GroupDTO)InviteTo).Id, Id = Child.Id }; if (await _groupsService.GroupRequestDeclineAsync(dataModel, default(CancellationToken))) { MessagingCenter.Send <object, long>(this, GlobalSettings.Instance.AppMessagingEvents.GroupsEvents.InviteDeclined, ((GroupDTO)InviteTo).Id); await DialogService.ToastAsync("Child declined invite to group"); } } catch (OperationCanceledException) { } catch (ObjectDisposedException) { } catch (ServiceAuthenticationException) { } catch (Exception exc) { Crashes.TrackError(exc); await DialogService.ToastAsync(exc.Message); } }); }