예제 #1
0
        protected virtual ObjectContainer OpenLocal()
        {
            string databaseFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, (string)Model.ExtendedProperties[Db4oFacility.DatabaseFileKey]);

            ObjectContainer container = Db4o.OpenFile(databaseFile);

            //TODO: Remove it when db4o's team fix it.
            if (container == null)
            {
                throw new ConfigurationException("The ObjectContainer is null. Check the permissions of your YAP file.");
            }

            return(container);
        }
예제 #2
0
        public IList SendRequest(string request)
        {
            ArrayList objectSets = new ArrayList();

            db = Db4o.OpenFile("sofia.yap");
            try
            {
                xpn.LoadXML(request);
                ArrayList operations = xpn.GetAttributes("//Request", "operation");
                ArrayList objects    = xpn.GetAttributes("//Request", "object");

                for (int i = 0; i < operations.Count; i++)
                {
                    string    ope       = operations[i].ToString();
                    string    obj       = objects[i].ToString();
                    ObjectSet objectSet = ProcessRequest(ope, obj);
                    if (objectSet != null)
                    {
                        objectSets.Add(objectSet);
                    }
                }

                if (objectSets.Count > 0)
                {
                    IList list = new ArrayList();
                    foreach (Dossier dossier in (ObjectSet)objectSets[0])
                    {
                        list.Add(dossier);
                    }
                    return(list);
                }
                else
                {
                    return(null);
                }
            }
            finally
            {
                db.Close();
            }
        }
예제 #3
0
 public ObjectDB(string dbFilename)
 {
     _Container = Db4o.OpenFile(dbFilename);
 }