コード例 #1
0
ファイル: XcbWebView.cs プロジェクト: pietervp/workbooks-1
        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);
            };
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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;
            }
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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;
            }
        }