public string AddContentObject(string ObjectName, string ParentID, string PIDFormat, string NamespaceFormat, string LabelFormat)
 {
     string _returnValue = string.Empty;
     string _objectLabel = LabelFormat.Replace("{objectname}", ObjectName);
     try
     {
         HydraServiceFedoraImpl ObjService = new HydraServiceFedoraImpl();
         ObjService.DepositSingletonSet(NamespaceFormat, _objectLabel, ParentID);
         _returnValue = ObjService.ObjectPID;
         return _returnValue;
     }
     catch (Exception ex)
     {
         _returnValue = ex.Message;
     }
     return _returnValue;
 }
Ejemplo n.º 2
0
        private void UpdateRepositoryListSettings(string SiteName,string SiteUrl,string CurrentUser)
        {
            string _formatedSiteName = SiteName.Replace(@"\", "-");;
            _formatedSiteName = _formatedSiteName.Replace(" ", "-");

            string _defaultRootObject = "CLIF:" + _formatedSiteName;
            string _labelFormat = "{objectname}";
            string _namespaceFormat = "CLIF-" + _formatedSiteName + "-{listname}";
            string _pidFormat = "CLIF:" + _formatedSiteName + "-{listname}:{n}";

            //Create CLIF Root Folder
            HydraServiceFedoraImpl ObjService = new HydraServiceFedoraImpl();
            //if (ObjService.GetObjectHydra("CLIF:Root") == null)
            //{
            //    ObjService.ObjectPID = "CLIF:Root";
            //    ObjService.DepositSingletonSet("CLIF:Root", "CLIF:Root", null);
            //}

            //Create Site Root Folder for the current Site in Fedora
            ObjService = null;
            ObjService = new HydraServiceFedoraImpl();
            ObjService.ObjectPID = _defaultRootObject;
            ObjService.DepositSingletonSet(_defaultRootObject, "CLIF:" + _formatedSiteName,"CLIF:Root");

            ObjService = null;
            ObjService = new HydraServiceFedoraImpl();
            ObjService.DepositSingletonSet("CLIF-" + _formatedSiteName, "_private", _defaultRootObject);

            ObjService = null;
            ObjService = new HydraServiceFedoraImpl();
            string _archivePID=ObjService.DepositSingletonSet("CLIF-" + _formatedSiteName, "_archive", _defaultRootObject);

            using (SPSite ObjSite = new SPSite(SPHelper.GetRootUrl(SiteUrl)))
            {
                using (SPWeb ObjWeb = ObjSite.OpenWeb())
                {
                    SPList ObjList = ObjWeb.Lists["MySite Repository Settings"];
                    SPQuery ObjQuery = new SPQuery();
                    string _query = string.Format("<Where><Eq><FieldRef Name=\"Title\" /><Value Type=\"Text\">{0}</Value></Eq></Where>", SiteName);
                    ObjQuery.Query = _query;

                    //Getting list item collection
                    SPListItemCollection items = ObjList.GetItems(ObjQuery);
                    if (items.Count == 0)
                    {
                        SPItem _newItem = ObjList.Items.Add();
                        _newItem["Site Name"] = SiteName;
                        _newItem["Default Root Object"] = _defaultRootObject;
                        _newItem["Label Format"] = _labelFormat;
                        _newItem["Namespace Format"] = _namespaceFormat;
                        _newItem["PID Format"] = _pidFormat;
                        _newItem["Archive PID"] = _archivePID;
                        _newItem.Update();
                    }
                }
            }
        }