public DataViewController(UserQuery query, string url) : base(UITableViewStyle.Grouped)
        {
            try {
                Query = query;
                Url   = url;
                Title = Query.Name;

                PagingEnabled         = true;
                NumEntitiesPerRequest = 20;
                _index = 0;

                _loadSection = new DialogSection();
                _loadElement = new LoadingElement();
                _loadSection.Add(_loadElement);
                _loadElement.Start();
                Sections.Add(_loadSection);

                _moreSection = new DialogSection();
                _moreSection.Add(new ActionElement("More", GetMore));

                if (PagingEnabled)
                {
                    Sections.Add(_moreSection);
                }

                using (var repo = new Repo()) {
                    Feed = repo.GetFeed(query.FeedId);
                }

                if (Query.Id > 0)
                {
                    NavigationItem.RightBarButtonItem = new UIBarButtonItem(UIBarButtonSystemItem.Edit, HandleEdit);
                }

                GetMore();
            } catch (Exception error) {
                Log.Error(error);
            }
        }
Пример #2
0
        public DataViewController(UserQuery query, string url)
            : base(UITableViewStyle.Grouped)
        {
            try {
                Query = query;
                Url = url;
                Title = Query.Name;

                PagingEnabled = true;
                NumEntitiesPerRequest = 20;
                _index = 0;

                _loadSection = new DialogSection ();
                _loadElement = new LoadingElement ();
                _loadSection.Add (_loadElement);
                _loadElement.Start ();
                Sections.Add (_loadSection);

                _moreSection = new DialogSection ();
                _moreSection.Add (new ActionElement ("More", GetMore));

                if (PagingEnabled) {
                    Sections.Add (_moreSection);
                }

                using (var repo = new Repo ()) {
                    Feed = repo.GetFeed (query.FeedId);
                }

                if (Query.Id > 0) {
                    NavigationItem.RightBarButtonItem = new UIBarButtonItem (UIBarButtonSystemItem.Edit, HandleEdit);
                }

                GetMore ();

            } catch (Exception error) {
                Log.Error (error);
            }
        }
 public QueryElement(UserQuery query) : base(query.Name)
 {
     Accessory = UITableViewCellAccessory.DisclosureIndicator;
     CellStyle = UITableViewCellStyle.Subtitle;
     Query     = query;
 }
Пример #4
0
 public void Add(UserQuery query)
 {
     _db.Insert (query);
 }
Пример #5
0
 public void Save(UserQuery query)
 {
     _db.Update (query);
 }
Пример #6
0
        public QueryController(UserService service, UserQuery query)
            : base(UITableViewStyle.Grouped)
        {
            try {

                QueryId = query.Id;

                Title = query.Name;

                if (query.Name.Length == 0) {
                    Title = "Add Query";
                }

                _nameElement = new TextFieldElement ("Name", "Display Name", 70);
                _nameElement.Value = query.Name;
                _nameElement.TextField.AutocapitalizationType = UITextAutocapitalizationType.Words;
                _nameElement.TextField.AllEditingEvents += HandleNameElementTextFieldAllEditingEvents;

                using (var repo = new Repo ()) {
                    _feedElement = new QueryFeedElement (service, repo.GetFeed (query.FeedId));
                }

                _filterElement = new TextViewElement ("Filter", 44 * 2);
                _filterElement.TextView.Font = UIFont.FromName ("Courier-Bold", 16);
                _filterElement.TextView.AutocorrectionType = UITextAutocorrectionType.No;
                _filterElement.TextView.ContentInset = new UIEdgeInsets (0, 0, 0, 0);
                _filterElement.TextView.Changed += delegate {
                    try {
                        if (_filterElement.TextView.Text.Contains ("\n")) {
                            _filterElement.TextView.Text = _filterElement.TextView.Text.Replace ("\n", " ").Trim ();
                            _filterElement.TextView.ResignFirstResponder ();
                        }
                    } catch (Exception err) {
                        Log.Error (err);
                    }
                };
                _filterElement.Value = query.Filter;

                _orderbyElement = new TextFieldElement ("Order", "Orderby Expression", 70);
                _orderbyElement.Value = query.OrderBy;

                var sec = new DialogSection ();
                sec.Add (_nameElement);
                sec.Add (_feedElement);
                sec.Add (_filterElement);
                sec.Add (_orderbyElement);

                Sections.Add (sec);

                _helpElement = new ActionElement ("Query Help", delegate {
                    var b = new BrowserController ("Query Help", System.IO.File.ReadAllText ("QueryHelp.html"));
                    NavigationController.PushViewController (b, true);
                });
                _helpSec = new DialogSection ();
                _helpSec.Add (_helpElement);
                Sections.Add (_helpSec);

                _propsSec = new DialogSection ("Properties");

                if (QueryId > 0) {
                    var delElement = new ActionElement ("Delete Query", delegate {
                        _deleteAlert = new UIAlertView ("", "Are you sure you wish to delete the query " + Name + "?", null, "Cancel", "Delete");
                        _deleteAlert.Clicked += Handle_deleteAlertClicked;
                        _deleteAlert.Show ();
                    });
                    var csec = new DialogSection ();
                    csec.Add (delElement);
                    Sections.Add (csec);
                }

                NavigationItem.LeftBarButtonItem = new UIBarButtonItem ("Cancel", UIBarButtonItemStyle.Bordered, HandleCancelButton);
                NavigationItem.RightBarButtonItem = new UIBarButtonItem ("Done", UIBarButtonItemStyle.Done, HandleDoneButton);

            } catch (Exception error) {
                Log.Error (error);
            }
        }
Пример #7
0
 public QueryElement(UserQuery query)
     : base(query.Name)
 {
     Accessory = UITableViewCellAccessory.DisclosureIndicator;
     CellStyle = UITableViewCellStyle.Subtitle;
     Query = query;
 }
Пример #8
0
        void HandleAddButton(object sender, EventArgs e)
        {
            try {

                var addC = new QueryController (Service, new UserQuery());
                var navC = new UINavigationController (addC);

                addC.Done += delegate {

                    var q = new UserQuery {
                        Filter = addC.Filter,
                        FeedId = addC.Feed.Id,
                        Name = addC.Name,
                        OrderBy = addC.OrderBy,
                        ServiceId = Service.Id
                    };

                    using (var repo = new Repo ()) {
                        repo.Add (q);
                    }

                    addC.DismissModalViewControllerAnimated (true);
                };

                NavigationController.PresentModalViewController (navC, true);

            } catch (Exception error) {
                Log.Error (error);
            }
        }
        public QueryController(UserService service, UserQuery query) : base(UITableViewStyle.Grouped)
        {
            try {
                QueryId = query.Id;

                Title = query.Name;

                if (query.Name.Length == 0)
                {
                    Title = "Add Query";
                }

                _nameElement       = new TextFieldElement("Name", "Display Name", 70);
                _nameElement.Value = query.Name;
                _nameElement.TextField.AutocapitalizationType = UITextAutocapitalizationType.Words;
                _nameElement.TextField.AllEditingEvents      += HandleNameElementTextFieldAllEditingEvents;

                using (var repo = new Repo()) {
                    _feedElement = new QueryFeedElement(service, repo.GetFeed(query.FeedId));
                }

                _filterElement = new TextViewElement("Filter", 44 * 2);
                _filterElement.TextView.Font = UIFont.FromName("Courier-Bold", 16);
                _filterElement.TextView.AutocorrectionType = UITextAutocorrectionType.No;
                _filterElement.TextView.ContentInset       = new UIEdgeInsets(0, 0, 0, 0);
                _filterElement.TextView.Changed           += delegate {
                    try {
                        if (_filterElement.TextView.Text.Contains("\n"))
                        {
                            _filterElement.TextView.Text = _filterElement.TextView.Text.Replace("\n", " ").Trim();
                            _filterElement.TextView.ResignFirstResponder();
                        }
                    } catch (Exception err) {
                        Log.Error(err);
                    }
                };
                _filterElement.Value = query.Filter;

                _orderbyElement       = new TextFieldElement("Order", "Orderby Expression", 70);
                _orderbyElement.Value = query.OrderBy;

                var sec = new DialogSection();
                sec.Add(_nameElement);
                sec.Add(_feedElement);
                sec.Add(_filterElement);
                sec.Add(_orderbyElement);

                Sections.Add(sec);

                _helpElement = new ActionElement("Query Help", delegate {
                    var b = new BrowserController("Query Help", System.IO.File.ReadAllText("QueryHelp.html"));
                    NavigationController.PushViewController(b, true);
                });
                _helpSec = new DialogSection();
                _helpSec.Add(_helpElement);
                Sections.Add(_helpSec);

                _propsSec = new DialogSection("Properties");

                if (QueryId > 0)
                {
                    var delElement = new ActionElement("Delete Query", delegate {
                        _deleteAlert          = new UIAlertView("", "Are you sure you wish to delete the query " + Name + "?", null, "Cancel", "Delete");
                        _deleteAlert.Clicked += Handle_deleteAlertClicked;
                        _deleteAlert.Show();
                    });
                    var csec = new DialogSection();
                    csec.Add(delElement);
                    Sections.Add(csec);
                }

                NavigationItem.LeftBarButtonItem  = new UIBarButtonItem("Cancel", UIBarButtonItemStyle.Bordered, HandleCancelButton);
                NavigationItem.RightBarButtonItem = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, HandleDoneButton);
            } catch (Exception error) {
                Log.Error(error);
            }
        }
Пример #10
0
 public void Add(UserQuery query)
 {
     _db.Insert(query);
 }
Пример #11
0
 public void Save(UserQuery query)
 {
     _db.Update(query);
 }