Пример #1
0
        private static void ImportEntry(XPathNavigator xpBase, GxiProfile p,
                                        GxiContext c)
        {
            PwEntry pe = new PwEntry(true, true);

            PwGroup pg            = c.Group;  // Not the database root group
            string  strGroupPath  = QueryValueSafe(xpBase, p.EntryGroupXPath);
            string  strGroupPath2 = QueryValueSafe(xpBase, p.EntryGroupXPath2);

            if ((strGroupPath.Length > 0) && (strGroupPath2.Length > 0))
            {
                Debug.Assert(p.EntryGroupSep.Length > 0);
                strGroupPath = strGroupPath + p.EntryGroupSep + strGroupPath2;
            }
            if (strGroupPath.Length > 0)
            {
                if (p.EntryGroupSep.Length == 0)
                {
                    pg = pg.FindCreateGroup(strGroupPath, true);
                }
                else
                {
                    pg = pg.FindCreateSubTree(strGroupPath, new string[1] {
                        p.EntryGroupSep
                    }, true);
                }
            }
            pg.AddEntry(pe, true);

            GxiContext cSub = c.ModifyWith(pe);

            ImportObject(xpBase, p, p.StringKvpXPath, null,
                         GxiImporter.ImportStringKvp, cSub);
            ImportObject(xpBase, p, p.StringKvpXPath2, null,
                         GxiImporter.ImportStringKvp2, cSub);
            ImportObject(xpBase, p, p.BinaryKvpXPath, null,
                         GxiImporter.ImportBinaryKvp, cSub);
        }
Пример #2
0
        private static void ImportGroup(XPathNavigator xpBase, GxiProfile p,
                                        GxiContext c)
        {
            PwGroup pg = new PwGroup(true, true);

            c.Group.AddGroup(pg, true);

            GxiContext cSub = c.ModifyWith(pg);

            pg.Name = QueryValueSafe(xpBase, p.GroupNameXPath);
            if (pg.Name.Length == 0)
            {
                pg.Name = KPRes.Group;
            }

            if (p.GroupsInGroup)
            {
                ImportObject(xpBase, p, p.GroupXPath, null, GxiImporter.ImportGroup, cSub);
            }
            if (p.EntriesInGroup)
            {
                ImportObject(xpBase, p, p.EntryXPath, null, GxiImporter.ImportEntry, cSub);
            }
        }
Пример #3
0
        private static void ImportGroup(XPathNavigator xpBase, GxiProfile p,
            GxiContext c)
        {
            PwGroup pg = new PwGroup(true, true);
            c.Group.AddGroup(pg, true);

            GxiContext cSub = c.ModifyWith(pg);

            pg.Name = QueryValueSafe(xpBase, p.GroupNameXPath);
            if(pg.Name.Length == 0) pg.Name = KPRes.Group;

            if(p.GroupsInGroup)
                ImportObject(xpBase, p, p.GroupXPath, null, GxiImporter.ImportGroup, cSub);
            if(p.EntriesInGroup)
                ImportObject(xpBase, p, p.EntryXPath, null, GxiImporter.ImportEntry, cSub);
        }
Пример #4
0
        private static void ImportEntry(XPathNavigator xpBase, GxiProfile p,
            GxiContext c)
        {
            PwEntry pe = new PwEntry(true, true);

            PwGroup pg = c.Group; // Not the database root group
            string strGroupPath = QueryValueSafe(xpBase, p.EntryGroupXPath);
            string strGroupPath2 = QueryValueSafe(xpBase, p.EntryGroupXPath2);
            if((strGroupPath.Length > 0) && (strGroupPath2.Length > 0))
            {
                Debug.Assert(p.EntryGroupSep.Length > 0);
                strGroupPath = strGroupPath + p.EntryGroupSep + strGroupPath2;
            }
            if(strGroupPath.Length > 0)
            {
                if(p.EntryGroupSep.Length == 0)
                    pg = pg.FindCreateGroup(strGroupPath, true);
                else
                    pg = pg.FindCreateSubTree(strGroupPath, new string[1]{
                        p.EntryGroupSep }, true);
            }
            pg.AddEntry(pe, true);

            GxiContext cSub = c.ModifyWith(pe);

            ImportObject(xpBase, p, p.StringKvpXPath, null,
                GxiImporter.ImportStringKvp, cSub);
            ImportObject(xpBase, p, p.StringKvpXPath2, null,
                GxiImporter.ImportStringKvp2, cSub);
            ImportObject(xpBase, p, p.BinaryKvpXPath, null,
                GxiImporter.ImportBinaryKvp, cSub);
        }