public XcbWebView(WebKit.WebView webView) { if (webView == null) { throw new ArgumentNullException("webView"); } this.webView = webView; this.webView.FinishedLoad += (sender, e) => { FinishedLoad?.Invoke(this, EventArgs.Empty); }; }
protected override async Task ExecuteLoadMoreCommand() { if (!CanLoadMore || IsBusy) { return; } IsBusy = true; var index = Groups.Count == 0 ? 0 : Groups.Count - 1; try { var groupResults = await meetupService.GetGroups(Settings.UserId, groups.Count); foreach (var group in groupResults.Groups) { if (group.GroupPhoto == null) { group.GroupPhoto = new GroupPhoto { PhotoId = 0, HighResLink = "http://refractored.com/default.png", PhotoLink = "http://refractored.com/default.png", ThumbLink = "http://refractored.com/default.png" }; } Groups.Add(group); } OnPropertyChanged("Groups"); CanLoadMore = groupResults.Groups.Count == 100; if (Groups.Count == 0) { messageDialog.SendToast("You do not have any groups."); } } catch (Exception e) { if (Settings.Insights) { Xamarin.Insights.Report(e); } } finally { FinishedFirstLoad?.Invoke(index); FinishedLoad?.Invoke(); IsBusy = false; } }
protected override async Task ExecuteLoadMoreCommand() { if (!CanLoadMore || IsBusy) { return; } IsBusy = true; var index = Events.Count == 0 ? 0 : Events.Count - 1; try { var eventResults = await meetupService.GetEvents(groupId, Events.Count); foreach (var e in eventResults.Events) { Events.Add(e); } CanLoadMore = eventResults.Events.Count == 100; if (Events.Count == 0) { messageDialog.SendToast("There are no events for this group."); } Sort(); } catch (Exception e) { if (Settings.Insights) { Xamarin.Insights.Report(e); } } finally { FinishedLoad?.Invoke(); FinishedFirstLoad?.Invoke(index); IsBusy = false; } }
void OnLoadCompleted(object sender, NavigationEventArgs navigationEventArgs) { var serviceProvider = (Com.IServiceProvider)webBrowser.Document; if (serviceProvider != null) { var serviceGuid = new Guid("0002DF05-0000-0000-C000-000000000046"); var iid = typeof(SHDocVw.WebBrowser).GUID; IntPtr ppvObject; if (serviceProvider.QueryService(ref serviceGuid, ref iid, out ppvObject) == Native.S_OK) { var comWebBrowser = (SHDocVw.WebBrowser_V1) Marshal.GetObjectForIUnknown(ppvObject); if (comWebBrowser != null) { comWebBrowser.NewWindow += ComWebBrowser_NewWindow; } } } ScriptContext.Initialize(); FinishedLoad?.Invoke(this, EventArgs.Empty); }
protected override async Task ExecuteLoadMoreCommand() { if (!CanLoadMore || IsBusy) { return; } IsBusy = true; var index = Members.Count == 0 ? 0 : Members.Count - 1; try { var addNewMembers = Members.Count == 0; var eventResults = await meetupService.GetRSVPs(eventId, members.Count); foreach (var e in eventResults.RSVPs) { var member = new MemberViewModel(e.Member, e.MemberPhoto, eventId, eventName, groupId, GroupName, EventDate, e.Guests); member.CheckedIn = await dataService.IsCheckedIn(eventId, member.Member.MemberId.ToString(), eventName, groupId, GroupName, EventDate); members.Add(member); } CanLoadMore = eventResults.RSVPs.Count == 100; if (addNewMembers) { var newMembers = await dataService.GetNewMembers(eventId); foreach (var e in newMembers) { if (string.IsNullOrEmpty(e.GroupId)) { e.GroupId = groupId; e.GroupName = GroupName; e.EventName = EventName; e.EventDate = EventDate; e.EventId = eventId; } var member = new MemberViewModel(new Member { MemberId = -1, Name = e.Name }, null, eventId, eventName, groupId, GroupName, EventDate); member.NewUserId = e.Id; member.CheckedIn = true; members.Add(member); } } RefreshCount(); if (members.Count == 0) { messageDialog.SendToast("No one has checked in yet."); } } catch (Exception e) { if (Settings.Insights) { Xamarin.Insights.Report(e); } CanLoadMore = false; messageDialog.SendToast("Unable to get RSVPs please refresh or log in again."); } finally { FinishedLoad?.Invoke(); FinishedFirstLoad?.Invoke(index); IsBusy = false; } }