Ejemplo n.º 1
0
        public RQKosBranch(IEnumerable <RQKosTransfer> newRQKosBranch)
            : base()
        {
            List <SubjClass> classArray = new List <SubjClass>();

            for (int i = 0; i < newRQKosBranch.Count(); i++)
            {
                if ((!string.IsNullOrEmpty(newRQKosBranch.ElementAt(i).ClassCode)) &&
                    (!string.IsNullOrEmpty(newRQKosBranch.ElementAt(i).ClassName)) &&
                    (!string.IsNullOrEmpty(newRQKosBranch.ElementAt(i).RVKClassCodes)))
                {
                    SubjClass sc = new SubjClass();

                    sc.ClassCode       = newRQKosBranch.ElementAt(i).ClassCode;
                    sc.ClassID         = newRQKosBranch.ElementAt(i).ClassID;
                    sc.ClassShortTitle = newRQKosBranch.ElementAt(i).ClassName;
                    sc.ClassLongTitle  = newRQKosBranch.ElementAt(i).ClassTitle;
                    sc.NrOfRefLinks    = Convert.ToInt16(newRQKosBranch.ElementAt(i).NrOfDocuments);
                    sc.NrOfSubClasses  = Convert.ToInt16(newRQKosBranch.ElementAt(i).NrOfSubclasses);
                    sc.ParentClassID   = newRQKosBranch.ElementAt(i).ParentID;
                    sc.RefRVKSet       = newRQKosBranch.ElementAt(i).RVKClassCodes;
                    sc.RefRVKClass     = newRQKosBranch.ElementAt(i).RVKClassCodes != null ? new RQLib.Utilities.LexicalClass(newRQKosBranch.ElementAt(i).RVKClassCodes) : null;
                    sc.ClassDataClient = new RQClassificationDataClient();
                    classArray.Add(sc);
                }
            }
            this.classBranch = new SubjClassBranch(classArray.ToArray());
        }
Ejemplo n.º 2
0
        public RQKosBranch.RQKosBranchStatus IsValid()
        {
            SubjClassBranch editCB   = this.Find(this._mEditClassID);
            bool            retValue = false;

            if (editCB.IsValid())
            {
                retValue = true;
            }
            if (retValue = this.IsCompatible() ? retValue && true : false)
            {
                return _mEditStatus = new RQKosBranch.RQKosBranchStatus()
                {
                           isSuccess = true, message = "Class mapping is consistent!", hints = RQLib.EditGlobals.ReadHints()
                }
            }
            ;
            else
            {
                return _mEditStatus = new RQKosBranch.RQKosBranchStatus()
                {
                           isSuccess = false, message = "Consistency errors in class mapping!", hints = RQLib.EditGlobals.ReadHints()
                }
            };
        }
Ejemplo n.º 3
0
        private SubjClassBranch Find(string majClassID)
        {
            for (var i = 0; i < this._mClassBranches.Count; i++)
            {
                if (this._mClassBranches[i] != null)
                {
                    if (this._mClassBranches[i].ClassBranch.MajorClassID == majClassID)
                    {
                        return(this._mClassBranches[i].ClassBranch);
                    }
                }
            }

            SubjClassBranch cb = new SubjClassBranch(ref majClassID);

            cb.Load();
            for (var i = 0; i < this._mClassBranches.Count; i++)
            {
                if (this._mClassBranches[i] == null)
                {
                    this._mClassBranches[i] = new RQKosBranch(cb);
                    return(cb);
                }
            }
            this._mClassBranches.Add(new RQKosBranch(cb));
            return(cb);
        }
Ejemplo n.º 4
0
        public RQKosBranch AppendClass()
        {
            SubjClassBranch editCB = this.Find(this._mEditClassID);
            SubjClass       newSC  = new SubjClass();

            newSC.ClassificationSystem = SubjClass.ClassificationSystems.rq;
            newSC.NrOfClassDocs        = 0;
            newSC.NrOfRefLinks         = 0;
            newSC.NrOfSubClasses       = 0;
            newSC.ParentClassID        = this._mEditClassID;
            editCB.Add(newSC);
            return(this.RQKosEditSet);
        }
Ejemplo n.º 5
0
        public bool Update()
        {
            bool            retValue = false;
            SubjClassBranch editCB   = this.Find(this._mEditClassID);

            retValue = editCB.IsValid();
            if (retValue = retValue && (this.IsCompatible() ? retValue && true : false))
            {
                retValue = retValue && editCB.Update();
            }
            if (!retValue)
            {
                _mEditStatus = new RQKosBranch.RQKosBranchStatus()
                {
                    isSuccess = false, message = "Bei der Aktualisierung der Unterklassen ist ein Fehler aufgetreten.", hints = RQLib.EditGlobals.ReadHints()
                }
            }
            ;
            return(retValue);
        }
Ejemplo n.º 6
0
        public bool Delete()
        {
            bool            retValue = false;
            SubjClassBranch editCB   = this.Find(this._mEditClassID);

            if (retValue = editCB.Delete())
            {
                this._mEditClassID = editCB.MajorClass.ParentClassID;
            }
            else
            {
                _mEditStatus = new RQKosBranch.RQKosBranchStatus()
                {
                    isSuccess = false, message = "Beim Löschen der Unterklassen ist ein Fehler aufgetreten.", hints = RQLib.EditGlobals.ReadHints()
                }
            };
            return(retValue);
        }

        #endregion
    }
Ejemplo n.º 7
0
        public RQKosBranch(string majClassID, string serviceId)
            : base()
        {
            int numVal = -1;

            this._service = serviceId;
            try
            {
                numVal = Convert.ToInt32(majClassID);
            }
            catch { }
            if (numVal == -1)
            {
                string id = "";
                switch (majClassID.Substring(0, 4))
                {
                case "rvk_":
                    id = majClassID.Substring(4, majClassID.Length - 4);
                    this.classBranch = new SubjClassBranch(ref id, SubjClass.ClassificationSystems.rvk);
                    break;

                case "rqc_":
                    id = majClassID.Substring(4, majClassID.Length - 4);
                    this.classBranch = new SubjClassBranch(ref id, SubjClass.ClassificationSystems.rq);
                    break;

                default:
                    this.classBranch = null;
                    break;
                }
            }
            else
            {
                this.classBranch = new SubjClassBranch(ref majClassID);
            }
        }
Ejemplo n.º 8
0
        public bool IsCompatible()
        {
            SubjClassBranch editCB = this.Find(this._mEditClassID);
            RQKosBranch     oldCB  = new RQKosBranch(this._mEditClassID, "");
            bool            retVal = true;

            oldCB.Load();
            for (var i = 1; i < editCB.count; i++)
            {
                if (oldCB.ClassBranch.get_Item(i) != null)
                {
                    SubjClass sc = editCB.get_Item(i);

                    if ((sc.NrOfSubClasses > 0) && (sc.RefRVKSet != oldCB.ClassBranch.get_Item(i).RefRVKSet))
                    {
                        if (!this.Find(sc.ClassID).IsFeasableWith(ref sc))
                        {
                            retVal = retVal && false;
                        }
                    }
                }
            }
            return(retVal);
        }
Ejemplo n.º 9
0
 public RQKosBranch(SubjClassBranch subjClassBranch)
     : base()
 {
     this.classBranch = subjClassBranch;
 }