Exemple #1
0
        /// <summary>
        /// Reload the links in a box; to be called after the UI records changes in links
        /// </summary>
        public void UpdateLinks(ExtPerson ep)
        {
            using var db = new SystematizerContext();
            var links = DBUtil.LoadLinksFor(db, ep.Person).ToList();

            ep.Links = links;
        }
Exemple #2
0
        /// <summary>
        /// Reload the links in a box; to be called after the UI records changes in links
        /// </summary>
        public void UpdateLinks(ExtBox ebox)
        {
            using var db = new SystematizerContext();
            var links = DBUtil.LoadLinksFor(db, ebox.Box).ToList();

            ebox.Links = links;
        }
Exemple #3
0
        /// <summary>
        /// Load person detail for editing
        /// </summary>
        /// <returns>null if not found</returns>
        public ExtPerson LoadPerson(long id)
        {
            using var db = new SystematizerContext();
            var person = db.Person.Find(id);

            if (person == null)
            {
                return(null);
            }
            var links  = DBUtil.LoadLinksFor(db, person).ToList();
            var catIds = db.PersonCat.Where(r => r.PersonId == id).Select(r => r.CatId);

            return(new ExtPerson(person, links, catIds.ToArray()));
        }
Exemple #4
0
        /// <summary>
        /// Get box for detail view or editing; caller should call SaveBox or AbandonBox when the pane/window is closed
        /// </summary>
        /// <returns>null if not found</returns>
        public ExtBox LoadBoxForEditing(long boxId)
        {
            using var db = new SystematizerContext();
            var box = db.Box.Find(boxId);

            if (box == null)
            {
                return(null);
            }
            Globals.BoxEditingPool.CheckOut(box);
            var links = DBUtil.LoadLinksFor(db, box).ToList();

            return(new ExtBox(box, links));
        }
Exemple #5
0
        /// <summary>
        /// Get boxes for detail view or editing; caller should call SaveBox or AbandonBox when the pane/window is closed
        /// </summary>
        public IEnumerable <ExtBox> LoadUnclassBoxesForEditing()
        {
            var ret = new List <ExtBox>();

            using (var db = new SystematizerContext())
            {
                var boxes = db.Box.Where(r => r.IsUnclass != 0 && r.DoneDate == null);
                foreach (var box in boxes)
                {
                    Globals.BoxEditingPool.CheckOut(box);
                    var links = DBUtil.LoadLinksFor(db, box).ToList();
                    ret.Add(new ExtBox(box, links));
                }
            }
            return(ret);
        }