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()); }
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() } }; }
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); }
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); }
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); }
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 }
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); } }
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); }
public RQKosBranch(SubjClassBranch subjClassBranch) : base() { this.classBranch = subjClassBranch; }