private TestObjectVersionAndProperties CreateNewTestObject(int objectType, PropertyValues propertyValues) { int maxId = 0; List <TestObjectVersionAndProperties> objThisType = vault.ovaps.Where(obj => obj.ObjVer.Type == objectType).ToList(); if (objThisType.Count > 0) { maxId = objThisType.Max(obj => obj.ObjVer.ID); } TestObjectVersion objectVersion = new TestObjectVersion(vault) { ObjVer = new ObjVer { Type = objectType, ID = maxId + 1, Version = 1 } }; TestObjectVersionAndProperties ovap = new TestObjectVersionAndProperties { Properties = propertyValues, Vault = vault, VersionData = objectVersion }; vault.ovaps.Add(ovap); return(ovap); }
public ObjectVersion GetObjectInfo(ObjVer objVer, bool latestVersion, bool updateFromServer = false) { vault.MetricGatherer.MethodCalled(); // TODO: use LatestVersion and UpdateFromServer List <TestObjectVersionAndProperties> thisObj = vault.ovaps.Where(obj => obj.ObjVer.ID == objVer.ID && obj.ObjVer.Type == objVer.Type).ToList(); if (thisObj.Count == 0) { return(null); } int lookupVersion = (objVer.Version == -1) ? thisObj.Max(obj => obj.ObjVer.Version) : objVer.Version; TestObjectVersionAndProperties objectVersionAndProperties = thisObj.SingleOrDefault(obj => obj.ObjVer.Version == lookupVersion); if (objectVersionAndProperties == null) { throw new Exception("Parameter is invalid."); } TestObjectVersion objectVersion = objectVersionAndProperties.versionData; //objectVersion.Class = objectVersionAndProperties.Properties.SearchForProperty( 100 ).Value.GetLookupID(); //objectVersion.Title = objectVersionAndProperties.Properties.SearchForProperty( 0 ).GetValueAsLocalizedText(); return(objectVersion); }
public ObjectVersion Clone() { // TODO: far from comprehensive TestObjectVersion clone = new TestObjectVersion(vault) { ObjVer = ObjVer.Clone() }; return(clone); }