public override void ReadJSON(JObject JObject, Dictionary <Int32, Int32> NodeMap, Dictionary <Int32, Int32> NodeTypeMap) { if (DateAnswered == DateTime.MinValue) { CswDateTime CswDateAnswered = new CswDateTime(_CswNbtResources); CswDateAnswered.FromClientDateTimeJObject((JObject)JObject[_DateAnsweredSubField.ToXmlNodeName(true)]); DateAnswered = CswDateAnswered.ToDateTime(); } if (DateCorrected == DateTime.MinValue) { CswDateTime CswDateCorrected = new CswDateTime(_CswNbtResources); CswDateCorrected.FromClientDateTimeJObject((JObject)JObject[_DateCorrectedSubField.ToXmlNodeName(true)]); DateCorrected = CswDateCorrected.ToDateTime(); } if (null != JObject[_AnswerSubField.ToXmlNodeName(true)] && IsAnswerEditable) { Answer = JObject[_AnswerSubField.ToXmlNodeName(true)].ToString(); } if (null != JObject[_CommentsSubField.ToXmlNodeName(true)]) { Comments = JObject[_CommentsSubField.ToXmlNodeName(true)].ToString(); } if (null != JObject[_CorrectiveActionSubField.ToXmlNodeName(true)]) { CorrectiveAction = JObject[_CorrectiveActionSubField.ToXmlNodeName(true)].ToString(); } }
public void XmlDateFormatTest() { string d1 = "2012-11-06T09:30:15.1234"; CswDateTime cd1 = new CswDateTime(_CswResources); cd1.FromXmlDateTimeFormat(d1); Assert.IsTrue(_checkDateTimeParts(cd1.ToDateTime(), 2012, 11, 6, 9, 30, 15, 123)); string d2 = "1970-01-01T00:00:00"; CswDateTime cd2 = new CswDateTime(_CswResources); cd2.FromXmlDateTimeFormat(d2); Assert.IsTrue(_checkDateTimeParts(cd2.ToDateTime(), 1970, 1, 1, 0, 0, 0, 0)); string d3 = "1970-01-01T00:00:00.0000"; CswDateTime cd3 = new CswDateTime(_CswResources); cd3.FromXmlDateTimeFormat(d3); Assert.IsTrue(_checkDateTimeParts(cd3.ToDateTime(), 1970, 1, 1, 0, 0, 0, 0)); string d4 = "2099-02-28T18:24:48"; CswDateTime cd4 = new CswDateTime(_CswResources); cd4.FromXmlDateTimeFormat(d4); Assert.IsTrue(_checkDateTimeParts(cd4.ToDateTime(), 2099, 2, 28, 18, 24, 48, 0)); } // XmlDateFormatTest()
public CswNbtMetaDataNodeType(CswNbtMetaDataResources CswNbtMetaDataResources, DataRow Row, CswDateTime Date) { _CswNbtMetaDataResources = CswNbtMetaDataResources; _Date = Date; _NodeTypeRow = Row; _UniqueId = CswConvert.ToInt32(Row[UniqueIdFieldName]); }
public CswNbtMetaDataFieldType(CswNbtMetaDataResources CswNbtMetaDataResources, DataRow Row, CswDateTime Date = null) { _CswNbtMetaDataResources = CswNbtMetaDataResources; _Date = Date; Reassign(Row); }
public override void ToJSON(JObject ParentObject) { CswDateTime CswDate = new CswDateTime(_CswNbtResources, DateTimeValue); ParentObject[_DateValueSubField.ToXmlNodeName(true)] = CswDate.ToClientAsDateTimeJObject(); ParentObject["displaymode"] = DisplayMode.ToString(); }
} // getByPk() public ICswNbtMetaDataObject getByPk(Int32 Pk, CswDateTime Date, bool BypassModuleCheck = false) { ICswNbtMetaDataObject ret = null; if (false == CswTools.IsDate(Date)) { ret = getByPk(Pk, BypassModuleCheck); } else { string Sql = "select * from " + CswNbtAuditTableAbbreviation.getAuditTableSql(_CswNbtMetaDataResources.CswNbtResources, _TableSelect.TableName, Date) + " " + _TableSelect.TableName; string Where = " where " + _PkColumnName + " = " + Pk.ToString(); if (false == BypassModuleCheck) { addModuleWhereClause(ref Where); } Sql += Where; CswArbitrarySelect AuditSelect = _CswNbtMetaDataResources.CswNbtResources.makeCswArbitrarySelect("MetaDataCollectionImpl_getbypk_audit_select", Sql); DataTable Table = AuditSelect.getTable(); if (Table.Rows.Count > 0) { ret = _makeObj(Table.Rows[0], Date, useCache: false); } } return(ret); }
public CswNbtNode GetNode(string NodeId, string NodeKey, CswDateTime Date = null) { CswNbtNode Node = null; if (!string.IsNullOrEmpty(NodeKey)) { //CswNbtNodeKey RealNodeKey = new CswNbtNodeKey( CswNbtResources, FromSafeJavaScriptParam( NodeKey ) ); CswNbtNodeKey RealNodeKey = new CswNbtNodeKey(NodeKey); Node = _CswNbtResources.getNode(RealNodeKey, Date); } else if (!string.IsNullOrEmpty(NodeId)) { CswPrimaryKey RealNodeId = new CswPrimaryKey(); if (CswTools.IsInteger(NodeId)) { RealNodeId.TableName = "nodes"; RealNodeId.PrimaryKey = CswConvert.ToInt32(NodeId); } else { RealNodeId.FromString(NodeId); } Node = _CswNbtResources.getNode(RealNodeId, Date); } return(Node); } // getNode()
} // _countProblems() public override void ToJSON(JObject ParentObject) { CswDateTime CswDate = new CswDateTime(_CswNbtResources, StartDateTime); ParentObject.Add(new JProperty(_StartDateTimeSubField.ToXmlNodeName(true), CswDate.ToClientAsDateTimeJObject())); ParentObject[_ValueSubField.ToXmlNodeName(true)] = CachedValue.ToString(); ParentObject[_UnitsSubField.ToXmlNodeName(true)] = Units; }
}//ctor() /// <summary> /// Constructor for Object Class Prop Default Values /// </summary> public CswNbtNodePropData(CswNbtResources rsc, DataRow PropRow, DataTable PropsTable, Int32 ObjectClassPropId, CswDateTime Date) { _PropRow = PropRow; _ObjectClassPropId = ObjectClassPropId; _PropsTable = PropsTable; _Date = Date; _CswNbtResources = rsc; initAttributes(); }//ctor()
/// <summary> /// Constructor for Node Properties /// </summary> public CswNbtNodePropData(CswNbtResources rsc, DataRow PropRow, DataTable PropsTable, CswPrimaryKey NodeId, CswNbtMetaDataNodeTypeProp NodeTypeProp, CswDateTime Date) { _PropRow = PropRow; _NodeId = NodeId; _PropsTable = PropsTable; _Date = Date; _CswNbtResources = rsc; _NodeTypeProp = NodeTypeProp; initAttributes(); }//ctor()
} // getWhere(Where,Date) public ICswNbtMetaDataObject getWhereFirst(string WhereClause, CswDateTime Date = null, bool BypassModuleCheck = false) { ICswNbtMetaDataObject ret = null; Collection <ICswNbtMetaDataObject> Coll = getWhere(WhereClause, Date, BypassModuleCheck); if (Coll.Count > 0) { ret = Coll[0]; } return(ret); } // getWhereFirst()
public override void ReadJSON(JObject JObject, Dictionary <Int32, Int32> NodeMap, Dictionary <Int32, Int32> NodeTypeMap) { if (null != JObject[_DateValueSubField.ToXmlNodeName(true)]) { //DateValue = CswConvert.ToDateTime( JObject.Property( _DateValueSubField.ToXmlNodeName(true) ).Value ); //DateValue = CswConvert.ToDateTime( JObject.Property( _DateValueSubField.ToXmlNodeName( true ) ).Value ); CswDateTime CswDate = new CswDateTime(_CswNbtResources); CswDate.FromClientDateTimeJObject((JObject)JObject[_DateValueSubField.ToXmlNodeName(true)]); DateTimeValue = CswDate.ToDateTime(); } }
public string getObjectClassPropName( Int32 ObjectClassPropId, CswDateTime Date = null ) { string ret = string.Empty; // This fetches all of them at once. This was done on purpose. // This will actually perform better in any case where you need more than one. Dictionary<int, string> dict = getObjectClassPropNames( Date ); if( dict.ContainsKey( ObjectClassPropId ) ) { ret = dict[ObjectClassPropId]; } return ret; }
public CswNbtNode(CswNbtResources CswNbtResources, CswNbtNodeWriter CswNbtNodeWriter, Int32 NodeTypeId, CswEnumNbtNodeSpecies NodeSpecies, CswPrimaryKey NodeId, Int32 UniqueId, CswDateTime Date, bool IsTemp = false) { _CswNbtResources = CswNbtResources; _CswNbtNodeWriter = CswNbtNodeWriter; _UniqueId = UniqueId; _NodeId = NodeId; _NodeTypeId = NodeTypeId; _NodeSpecies = NodeSpecies; _IsTemp = IsTemp; _Date = Date; _CswNbtNodePropColl = new CswNbtNodePropColl(CswNbtResources, this); }//ctor()
public override void ToJSON(JObject ParentObject) { JArray _CommentsJson = CommentsJson; foreach (JObject jr in _CommentsJson) { //converting each output row datetime to local user display format jr["datetime"] = new CswDateTime(_CswNbtResources, CswConvert.ToDateTime(jr["datetime"])).ToClientAsDateTimeString(); } ParentObject[_CommentSubField.ToXmlNodeName(true)] = _CommentsJson; ParentObject["rows"] = Rows.ToString(); ParentObject["columns"] = Columns.ToString(); ParentObject["newmessage"] = ""; }
public override void ReadJSON(JObject JObject, Dictionary <Int32, Int32> NodeMap, Dictionary <Int32, Int32> NodeTypeMap) { if (null != JObject[_StartDateTimeSubField.ToXmlNodeName(true)]) { //StartDateTime = CswConvert.ToDateTime( JObject.Property( _StartDateTimeSubField.ToXmlNodeName( true ) ).Value ); CswDateTime CswDate = new CswDateTime(_CswNbtResources); CswDate.FromClientDateTimeJObject((JObject)JObject[_StartDateTimeSubField.ToXmlNodeName(true)]); StartDateTime = CswDate.ToDateTime(); } if (null != JObject[_UnitsSubField.ToXmlNodeName(true)]) { Units = JObject[_UnitsSubField.ToXmlNodeName(true)].ToString(); } //PendingUpdate = true; RefreshCachedValue(); }
private Collection <ICswNbtMetaDataObject> _makeObjs(DataTable Table, CswDateTime Date = null, bool useCache = true) { Collection <ICswNbtMetaDataObject> Coll = new Collection <ICswNbtMetaDataObject>(); Collection <DataRow> RowsToIterate = new Collection <DataRow>(); // We have to iterate rows separately, because _makeObj() can remove a row foreach (DataRow Row in Table.Rows) { RowsToIterate.Add(Row); } foreach (DataRow Row in RowsToIterate) { Coll.Add(_makeObj(Row, Date, useCache)); } return(Coll); } // _makeObjs()
public Dictionary <Int32, string> getPkDict(string Where = "", CswDateTime Date = null) { if (_PkDictsWhere == null) { _PkDictsWhere = new Dictionary <PkDictKey, Dictionary <int, string> >(); } PkDictKey Key = new PkDictKey() { Date = Date, Where = Where }; if (false == _PkDictsWhere.ContainsKey(Key)) { DataTable Table; if (null == Date) { CswCommaDelimitedString Select = new CswCommaDelimitedString(); Select.Add(_PkColumnName); Select.Add(_NameColumnName); string WhereClause = Where; addModuleWhereClause(ref WhereClause); Table = _TableSelect.getTable(Select, string.Empty, Int32.MinValue, WhereClause, false); } else { string Sql = "select " + _PkColumnName + "," + _NameColumnName + " from " + CswNbtAuditTableAbbreviation.getAuditTableSql(_CswNbtMetaDataResources.CswNbtResources, _TableSelect.TableName, Date) + " " + _TableSelect.TableName + " "; addModuleWhereClause(ref Where); Sql += Where; CswArbitrarySelect AuditSelect = _CswNbtMetaDataResources.CswNbtResources.makeCswArbitrarySelect("MetaDataCollectionImpl_getpkdict_audit_select", Sql); Table = AuditSelect.getTable(); } Dictionary <Int32, string> Coll = new Dictionary <Int32, string>(); foreach (DataRow Row in Table.Rows) { Coll.Add(CswConvert.ToInt32(Row[_PkColumnName]), CswConvert.ToString(Row[_NameColumnName])); } _PkDictsWhere[Key] = Coll; } return(_PkDictsWhere[Key]); } // _PkDictsWhere(Where)
/// <remark> /// We need a NodeTypeId because the NodeId is missing from the HashKey if this is a new node we're about to add /// </remark> private CswNbtNode _getExistingNode(NodeHashKey HashKey, Int32 NodeTypeId, CswDateTime Date) { CswTimer Timer = new CswTimer(); CswNbtNode Node = new CswNbtNode(_CswNbtResources, _CswNbtNodeWriter, NodeTypeId, CswEnumNbtNodeSpecies.Plain, HashKey.NodeId, _NodeHash.Count, Date); //bz # 7816 -- only add to the collection if the node got filled Node.fill(); if (Node.Filled) { if (!_NodeHash.ContainsKey(HashKey)) { _NodeHash.Add(HashKey, Node); } _CswNbtResources.logTimerResult("CswNbtNodeCollection.makeNode on NodeId (" + HashKey.NodeId.ToString() + ")", Timer.ElapsedDurationInSecondsAsString); } else { Node = null; } return(Node); }
} // getWhere(Where) public Collection <ICswNbtMetaDataObject> getWhere(string Where, CswDateTime Date, bool BypassModuleCheck = false) { Collection <ICswNbtMetaDataObject> ret = null; if (false == CswTools.IsDate(Date)) { ret = getWhere(Where, BypassModuleCheck); } else { string Sql = "select * from " + CswNbtAuditTableAbbreviation.getAuditTableSql(_CswNbtMetaDataResources.CswNbtResources, _TableSelect.TableName, Date) + " " + _TableSelect.TableName + " " + Where; if (false == BypassModuleCheck) { addModuleWhereClause(ref Sql); } CswArbitrarySelect AuditSelect = _CswNbtMetaDataResources.CswNbtResources.makeCswArbitrarySelect("MetaDataCollectionImpl_getWhere_audit_select", Sql); DataTable Table = AuditSelect.getTable(); ret = _makeObjs(Table, Date, useCache: false); } return(ret); } // getWhere(Where,Date)
private ICswNbtMetaDataObject _makeObj(DataRow Row, CswDateTime Date = null, bool useCache = true) { ICswNbtMetaDataObject ret = null; Int32 PkValue = CswConvert.ToInt32(Row[_PkColumnName]); if (useCache && _Cache.ContainsKey(PkValue)) { // In order to guarantee only one reference per row, use the existing reference // and, to prevent dirty writes, remove the row ret = _Cache[PkValue]; Row.Table.Rows.Remove(Row); } else { ret = _MetaDataObjectMaker(_CswNbtMetaDataResources, Row, Date); if (useCache) { _Cache[PkValue] = ret; } } return(ret); }
public override void ToJSON(JObject ParentObject) { ParentObject[_AnswerSubField.ToXmlNodeName(true)] = Answer; if (IsEditModeEditable) { ParentObject["allowedanswers"] = "," + AllowedAnswersString; ParentObject["compliantanswers"] = CompliantAnswersString; } ParentObject[_CommentsSubField.ToXmlNodeName(true)] = Comments; ParentObject[_CorrectiveActionSubField.ToXmlNodeName(true)] = CorrectiveAction; ParentObject[_IsCompliantSubField.ToXmlNodeName(true)] = IsCompliant; ParentObject["isactionrequired"] = IsActionRequired; ParentObject["isanswereditable"] = IsAnswerEditable; CswDateTime CswDateAnswered = new CswDateTime(_CswNbtResources, DateAnswered); ParentObject[_DateAnsweredSubField.ToXmlNodeName(true)] = CswDateAnswered.ToClientAsDateTimeJObject(); CswDateTime CswDateCorrected = new CswDateTime(_CswNbtResources, DateCorrected); ParentObject[_DateCorrectedSubField.ToXmlNodeName(true)] = CswDateCorrected.ToClientAsDateTimeJObject(); }
} // getPks(Where) public Collection <Int32> getPks(string Where, CswDateTime Date) { Collection <Int32> ret = null; if (false == CswTools.IsDate(Date)) { ret = getPks(Where); } else { string Sql = "select " + _PkColumnName + " from " + CswNbtAuditTableAbbreviation.getAuditTableSql(_CswNbtMetaDataResources.CswNbtResources, _TableSelect.TableName, Date) + " " + _TableSelect.TableName + " "; addModuleWhereClause(ref Where); Sql += Where; CswArbitrarySelect AuditSelect = _CswNbtMetaDataResources.CswNbtResources.makeCswArbitrarySelect("MetaDataCollectionImpl_getpks_audit_select", Sql); DataTable Table = AuditSelect.getTable(); ret = new Collection <Int32>(); foreach (DataRow Row in Table.Rows) { ret.Add(CswConvert.ToInt32(Row[_PkColumnName])); } } return(ret); } // getPks(Where)
} // updateNextDueDate() public void updateNextDueDate(bool ForceUpdate, bool DeleteFuture) { if (ForceUpdate || (false == _Scheduler.NextDueDate.wasAnySubFieldModified() && // case 30812 (_Scheduler.DueDateInterval.wasAnySubFieldModified() || _Scheduler.FinalDueDate.wasAnySubFieldModified() || _CswNbtNode.New || DeleteFuture))) { DateTime CandidateNextDueDate = getNextDueDate(_CswNbtNode, _Scheduler.NextDueDate, _Scheduler.DueDateInterval, CswConvert.ToInt32(_Scheduler.WarningDays.Value), ForceUpdate, DeleteFuture); if (DateTime.MinValue != CandidateNextDueDate) { DateTime FinalDueDate = _Scheduler.FinalDueDate.DateTimeValue; if (DateTime.MinValue != FinalDueDate && CswDateTime.GreaterThanNoMs(CandidateNextDueDate, FinalDueDate)) { CandidateNextDueDate = DateTime.MinValue; } } _Scheduler.NextDueDate.DateTimeValue = CandidateNextDueDate; _UpdateFutureTasks = DeleteFuture; } } // updateNextDueDate()
public Dictionary<Int32, string> getObjectClassPropNames( CswDateTime Date = null ) { return _CollImpl.getPkDict( Date: Date ); }
public CswNbtMetaDataObjectClassProp getObjectClassProp( Int32 ObjectClassPropId, CswDateTime Date = null ) { return (CswNbtMetaDataObjectClassProp) _CollImpl.getByPk( ObjectClassPropId, Date ); }
public CswNbtMetaDataObjectClassProp getObjectClassProp( Int32 ObjectClassId, string ObjectClassPropName, CswDateTime Date = null ) { return (CswNbtMetaDataObjectClassProp) _CollImpl.getWhereFirst( "where objectclassid = " + ObjectClassId.ToString() + " and lower(propname) = '" + CswTools.SafeSqlParam( ObjectClassPropName.ToLower() ) + "'", Date ); }
public CswNbtMetaDataObjectClassProp makeObjectClassProp( CswNbtMetaDataResources Resources, DataRow Row, CswDateTime Date ) { return new CswNbtMetaDataObjectClassProp( Resources, Row, Date ); }
public static void wAddAuthenticationStatus(CswNbtResources CswNbtResources, CswSessionResourcesNbt CswSessionResources, CswWebSvcReturn SvcReturn, CswEnumAuthenticationStatus AuthenticationStatusIn, HttpContext HttpContext) { // ****************************************** // IT IS VERY IMPORTANT for this function not to require the use of database resources, // since it occurs AFTER the call to _deInitResources(), and thus will leak Oracle connections // (see case 26273) // ****************************************** if (null != SvcReturn) { SvcReturn.Authentication = SvcReturn.Authentication ?? new CswWebSvcSessionAuthenticateData.Authentication.Response(); SvcReturn.Authentication.AuthenticationStatus = AuthenticationStatusIn; if (null != CswNbtResources) { if (null != CswNbtResources.CswSessionManager) { SvcReturn.Authentication.TimeOut = CswDateTime.ToClientAsJavascriptString(CswNbtResources.CswSessionManager.TimeoutDate); } if (SvcReturn.Authentication.AuthenticationStatus == CswEnumAuthenticationStatus.ExpiredPassword) { SvcReturn.Authentication.ExpirationReset = new CswWebSvcSessionAuthenticateData.Authentication.Response.Expired(); ICswNbtUser CurrentUser = CswNbtResources.CurrentNbtUser; SvcReturn.Authentication.ExpirationReset.UserId = CurrentUser.UserId.ToString(); CswNbtNodeKey FakeKey = new CswNbtNodeKey() { NodeId = CurrentUser.UserId, NodeSpecies = CswEnumNbtNodeSpecies.Plain, NodeTypeId = CurrentUser.UserNodeTypeId, ObjectClassId = CurrentUser.UserObjectClassId }; SvcReturn.Authentication.ExpirationReset.UserKey = FakeKey.ToString(); CswPropIdAttr PasswordPropIdAttr = new CswPropIdAttr(CurrentUser.UserId, CurrentUser.PasswordPropertyId); SvcReturn.Authentication.ExpirationReset.PasswordId = PasswordPropIdAttr.ToString(); } SvcReturn.Performance = SvcReturn.Performance ?? new CswWebSvcReturnBase.Performance(); SvcReturn.Performance.ServerInit = Math.Round(CswNbtResources.ServerInitTime, 3); SvcReturn.Performance.DbDeinit = Math.Round(CswNbtResources.CswLogger.DbInitTime, 3); SvcReturn.Performance.DbQuery = Math.Round(CswNbtResources.CswLogger.DbQueryTime, 3); SvcReturn.Performance.DbCommit = Math.Round(CswNbtResources.CswLogger.DbCommitTime, 3); SvcReturn.Performance.DbDeinit = Math.Round(CswNbtResources.CswLogger.DbDeInitTime, 3); SvcReturn.Performance.TreeLoaderSql = Math.Round(CswNbtResources.CswLogger.TreeLoaderSQLTime, 3); SvcReturn.Performance.ServerTotal = Math.Round(CswNbtResources.TotalServerTime, 3); SvcReturn.Logging = SvcReturn.Logging ?? new CswWebSvcReturnBase.Logging(); SvcReturn.Logging.CustomerId = CswNbtResources.AccessId; SvcReturn.Logging.Server = Environment.MachineName; CswEnumLogLevels LogLevel = CswNbtResources.ConfigVbls.getConfigVariableValue(CswEnumConfigurationVariableNames.Logging_Level); if (LogLevel == CswNbtResources.UnknownEnum) { LogLevel = CswEnumLogLevels.Error; } SvcReturn.Logging.LogLevel = LogLevel; // Return any messages acquired along the way if (null != CswNbtResources.Messages && CswNbtResources.Messages.Count > 0) { SvcReturn.Status.Messages = CswNbtResources.Messages; } } } HttpCookie AuthStatusCookie = HttpContext.Request.Cookies["CswAuthStatus"]; if (null == AuthStatusCookie) { AuthStatusCookie = new HttpCookie("CswAuthStatus") { HttpOnly = true }; } if (AuthStatusCookie.Value != AuthenticationStatusIn.ToString()) { AuthStatusCookie.Value = AuthenticationStatusIn; HttpContext.Response.Cookies.Add(AuthStatusCookie); } } // wAddAuthenticationStatus()
public static void jAddAuthenticationStatus(CswNbtResources CswNbtResources, CswSessionResourcesNbt CswSessionResources, JObject SvcReturn, CswEnumAuthenticationStatus AuthenticationStatusIn, bool IsMobile = false) { if (SvcReturn != null) { SvcReturn["AuthenticationStatus"] = AuthenticationStatusIn.ToString(); SvcReturn["AuthenticationStatusText"] = CswEnumAuthenticationStatus.EuphamizedText[AuthenticationStatusIn]; if (false == IsMobile) { SvcReturn["server"] = Environment.MachineName; if (null != CswNbtResources) { if (null != CswNbtResources.CswSessionManager) { SvcReturn["timeout"] = CswDateTime.ToClientAsJavascriptString(CswNbtResources.CswSessionManager.TimeoutDate); } if (AuthenticationStatusIn == CswEnumAuthenticationStatus.ExpiredPassword) { ICswNbtUser CurrentUser = CswNbtResources.CurrentNbtUser; SvcReturn.Add(new JProperty("nodeid", CurrentUser.UserId.ToString())); CswNbtNodeKey FakeKey = new CswNbtNodeKey() { NodeId = CurrentUser.UserId, NodeSpecies = CswEnumNbtNodeSpecies.Plain, NodeTypeId = CurrentUser.UserNodeTypeId, ObjectClassId = CurrentUser.UserObjectClassId }; SvcReturn.Add(new JProperty("nodekey", FakeKey.ToString())); CswPropIdAttr PasswordPropIdAttr = new CswPropIdAttr(CurrentUser.UserId, CurrentUser.PasswordPropertyId); SvcReturn.Add(new JProperty("passwordpropid", PasswordPropIdAttr.ToString())); } SvcReturn["timer"] = new JObject(); SvcReturn["timer"]["serverinit"] = Math.Round(CswNbtResources.ServerInitTime, 3); CswEnumLogLevels LogLevel = CswNbtResources.ConfigVbls.getConfigVariableValue(CswEnumConfigurationVariableNames.Logging_Level); if (LogLevel == CswNbtResources.UnknownEnum) { LogLevel = CswEnumLogLevels.Error; } SvcReturn["LogLevel"] = LogLevel.ToString().ToLower(); SvcReturn["timer"]["customerid"] = CswNbtResources.AccessId; SvcReturn["timer"]["dbinit"] = Math.Round(CswNbtResources.CswLogger.DbInitTime, 3); SvcReturn["timer"]["dbquery"] = Math.Round(CswNbtResources.CswLogger.DbQueryTime, 3); SvcReturn["timer"]["dbcommit"] = Math.Round(CswNbtResources.CswLogger.DbCommitTime, 3); SvcReturn["timer"]["dbdeinit"] = Math.Round(CswNbtResources.CswLogger.DbDeInitTime, 3); SvcReturn["timer"]["treeloadersql"] = Math.Round(CswNbtResources.CswLogger.TreeLoaderSQLTime, 3); SvcReturn["timer"]["servertotal"] = Math.Round(CswNbtResources.TotalServerTime, 3); // Return any messages acquired along the way if (null != CswNbtResources.Messages && CswNbtResources.Messages.Count > 0) { JArray Messages = new JArray(); SvcReturn["messages"] = Messages; foreach (CswWebSvcReturnBase.ErrorMessage Message in CswNbtResources.Messages) { Messages.Add(Message.ToJObject()); } } }//if( null != CswNbtResources ) } } }