internal ElementReferenceFieldData(Dictionary <string, object> values) { this._fields = new List <Element>(); foreach (var item in values) { if (item.Value is double) { Element elmDouble = new ElementReferenceDouble(item.Key.ToUpper(), (double)item.Value); this._fields.Add(elmDouble); } else if (item.Value is int) { Element elmInt = new ElementReferenceInt(item.Key.ToUpper(), (int)item.Value); this._fields.Add(elmInt); } else if (item.Value is DateTime) { Element elmDateTime = new ElementReferenceDateTime(item.Key.ToUpper(), (DateTime)item.Value); this._fields.Add(elmDateTime); } else if (item.Value is string) { Element elmString = new ElementReferenceString(item.Key.ToUpper(), (string)item.Value); this._fields.Add(elmString); } else if (item.Value is ElementReferenceArrayChainTickers) { this._fields.Add((ElementReferenceArrayChainTickers)item.Value); } } }
internal ElementReferenceErrorInfo() { string sourceGibberish = Types.RandomDataGenerator.RandomString(5).ToLower(); this._source = new ElementReferenceString("source", string.Format("{0}::{1}{2}", Types.RandomDataGenerator.RandomInt(99), sourceGibberish, Types.RandomDataGenerator.RandomInt(99))); this._code = new ElementReferenceInt("code", Types.RandomDataGenerator.RandomInt(99)); this._category = new ElementReferenceString("category", "BAD_FLD"); this._message = new ElementReferenceString("message", "Field not valid"); this._subCategory = new ElementReferenceString("subcategory", "INVALID_FIELD"); }
internal ElementReferenceSecurityError(string security) { int code = Types.RandomDataGenerator.RandomInt(99); string sourceGibberish = Types.RandomDataGenerator.RandomString(5).ToLower(); this._source = new ElementReferenceString("source", string.Format("{0}::{1}{2}", code, sourceGibberish, Types.RandomDataGenerator.RandomInt(99))); this._code = new ElementReferenceInt("code", code); this._category = new ElementReferenceString("category", "BAD_SEC"); this._message = new ElementReferenceString("message", string.Format("Unknown/Invalid security [nid:{0}]", code)); this._subCategory = new ElementReferenceString("subcategory", "INVALID_SECURITY"); }
internal ElementReferenceSecurityData(string securityName, Dictionary<string, object> fieldData, int sequenceNumber) { this._isSecurityError = Types.Rules.IsSecurityError(securityName); { //find bad field names List<string> badFields = new List<string>(); foreach (var item in fieldData) { if (Types.Rules.IsBadField(item.Key)) badFields.Add(item.Key); } //remove bad field names from the dictionary foreach (var item in badFields) { fieldData.Remove(item); } if (badFields.Count == 0) this._elmFieldExceptions = null; else this._elmFieldExceptions = new ElementReferenceFieldExceptionsArray(badFields); } this._elmSecurityName = new ElementReferenceString("security", securityName); if (this._isSecurityError) { this._elmSequenceNumber = new ElementReferenceInt("sequenceNumber", sequenceNumber); this._elmSecError = new ElementReferenceSecurityError(securityName); this._elmFieldData = new ElementReferenceFieldData(new Dictionary<string, object>()); } else { this._elmSequenceNumber = new ElementReferenceInt("sequenceNumber", sequenceNumber); this._elmSecError = null; this._elmFieldData = new ElementReferenceFieldData(fieldData); } }
internal ElementReferenceSecurityData(string securityName, Dictionary <string, object> fieldData, int sequenceNumber) { this._elmSecurityName = new ElementReferenceString("security", securityName); this._elmSequenceNumber = new ElementReferenceInt("sequenceNumber", sequenceNumber); this._elmFieldData = new ElementReferenceFieldData(fieldData); }