public override object Read(byte[] buffer, IDataRow row, int offset) { var baseVal = base.Read(buffer, row, offset); var def = Header.SheetDefinition; return def != null ? def.Convert(row, baseVal, Index) : baseVal; }
public object Convert(IDataRow row, object value, int index) { var innerIndex = index - Index; if (innerIndex < 0 || innerIndex >= Length) throw new ArgumentOutOfRangeException("index"); return InnerDefinition.Convert(row, value, innerIndex); }
public object Convert(IDataRow row, object rawValue) { var argb = System.Convert.ToInt32(rawValue); if (!IncludesAlpha) argb = (int)(((uint)argb) | 0xFF000000); return Color.FromArgb(argb); }
public object Convert(IDataRow row, object value, int index) { if (index < 0 || index >= Length) throw new ArgumentOutOfRangeException("index"); var innerIndex = index % RepeatedDefinition.Length; return RepeatedDefinition.Convert(row, value, innerIndex); }
public object Convert(IDataRow row, object rawValue) { var nr = System.Convert.ToInt32(rawValue); if (nr < 0 || nr > 999999) return null; var sheet = row.Sheet; return Imaging.IconHelper.GetIcon(sheet.Collection.PackCollection, sheet.Language, nr); }
public object Convert(IDataRow row, object rawValue) { var coll = row.Sheet.Collection; if (!coll.SheetExists(TargetSheet)) return null; var sheet = coll.GetSheet(TargetSheet); var key = System.Convert.ToInt32(rawValue); return !sheet.ContainsRow(key) ? null : sheet[key]; }
public static int GetDepth(IDataRow item) { int cnt = 0; while (item.Parent != null) { cnt++; item = item.Parent; } return cnt; }
private bool GetClass(IDataRow row, ConditionalNode node, out string className) { className = node.Class; bool isValid = false; var rowValue = row[node.Attribute]; switch (node.Condition) { case PredicateCondition.Equal: if (row[node.Attribute].Equals(node.ThreshHold)) { isValid = true; } break; case PredicateCondition.LessThanOrEqual: if (rowValue == null) { return false; } if (Convert.ToDouble(rowValue) <= Convert.ToDouble(node.ThreshHold)) { isValid = true; } break; case PredicateCondition.GreaterThan: if (rowValue == null) { return false; } if (Convert.ToDouble(rowValue) > Convert.ToDouble(node.ThreshHold)) { isValid = true; } break; default: throw new ArgumentOutOfRangeException(); } if (isValid && node.Children != null) { foreach (var child in node.Children) { if (GetClass(row, child, out className)) { break; } } } return isValid; }
public object Convert(IDataRow row, object rawValue) { var key = System.Convert.ToInt32(rawValue); if (Targets == null) return null; foreach(var target in Targets) { var sheet = row.Sheet.Collection.GetSheet(target); if (!sheet.Header.DataFileRanges.Any(r => r.Contains(key))) continue; if (sheet.ContainsRow(key)) return sheet[key]; } return null; }
public string GetClass(IDataRow row) { if (Root == null) { return null; } string className = null; foreach (var child in Root.Children) { if (GetClass(row, child, out className)) { break; } } return className; }
/// /////////////////////////////////////////////////////////////////////// /// ReadRow /// /// <summary> /// /// </summary> /// <param name="row"> /// Contains the values in the current row, in the order in which they /// appear in the file. /// </param> /// <returns> /// True if a row was returned in parameter "row". /// False if no row returned. In that case, you're at the end of the file. /// </returns> public bool ReadRow(IDataRow row, List<int> charactersLength = null) { row.Clear(); int i = 0; while (true) { // Number of the line where the item starts. Note that an item // can span multiple lines. int startingLineNbr = m_lineNbr; string item = null; int? itemLength = charactersLength == null ? (int?)null : charactersLength.Skip(i).First(); bool moreAvailable = GetNextItem(ref item, itemLength); if (charactersLength != null) { if (!(charactersLength.Count > i + 1)) { if (moreAvailable) { row.Add(new DataRowItem(item, startingLineNbr)); } if (!EOL) { AdvanceToEndOfLine(); moreAvailable = false; } } } if (!moreAvailable) { return (row.Count > 0); } row.Add(new DataRowItem(item, startingLineNbr)); i++; } }
/// /////////////////////////////////////////////////////////////////////// /// ReadRow /// /// <summary> /// /// </summary> /// <param name="row"> /// Contains the values in the current row, in the order in which they /// appear in the file. /// </param> /// <returns> /// True if a row was returned in parameter "row". /// False if no row returned. In that case, you're at the end of the file. /// </returns> public bool ReadRow(ref IDataRow row) { row.Clear(); while (true) { // Number of the line where the item starts. Note that an item // can span multiple lines. int startingLineNbr = m_lineNbr; string item = null; bool moreAvailable = GetNextItem(ref item); if (!moreAvailable) { return (row.Count > 0); } row.Add(new DataRowItem(item, startingLineNbr)); } }
public object Convert(IDataRow row, object value, int index) { if (index < 0 || index >= Length) throw new ArgumentOutOfRangeException("index"); var convertedValue = value; var pos = 0; foreach (var member in Members) { var newPos = pos + member.Length; if (newPos > index) { var innerIndex = index - pos; convertedValue = member.Convert(row, value, innerIndex); break; } pos = newPos; } return convertedValue; }
/// <summary> /// Read a column's buffer of a row. /// </summary> /// <param name="buffer">A byte-array containing the contents of the EX buffer file.</param> /// <param name="col"><see cref="Column" /> to read.</param> /// <param name="row"><see cref="IDataRow" /> to read in.</param> /// <returns>Returns the value read from the given <c>row</c> and <c>column</c>.</returns> public override object Read(byte[] buffer, Column col, IDataRow row) { var fieldOffset = GetFieldOffset(col, row); var endOfFixed = row.Offset + row.Sheet.Header.FixedSizeDataLength; var start = endOfFixed + OrderedBitConverter.ToInt32(buffer, fieldOffset, true); if (start < 0) return null; var end = start - 1; while (++end < buffer.Length && buffer[end] != 0) { } var len = end - start; if (len == 0) return Text.XivString.Empty; var binaryString = new byte[len]; Array.Copy(buffer, start, binaryString, 0, len); return Text.XivStringDecoder.Default.Decode(binaryString);//.ToString(); }
public void TestInitialize() { _description = new CsvFileDescription { SeparatorChar = ',', FirstLineHasColumnNames = true, IgnoreUnknownColumns = true, }; _input = @"Id,Name,Last Name,Age,City 1,John,Doe,15,Washington"; byte[] stringAsByteArray = Encoding.UTF8.GetBytes(_input); Stream stream = new MemoryStream(stringAsByteArray); _sr = new StreamReader(stream, Encoding.UTF8); _dataAccess = new FileDataAccess(_sr, _description); _cs = new CsvStream(_sr, null, _description.SeparatorChar, _description.IgnoreTrailingSeparatorChar); _row = new DataRow(); _fm = new FieldMapperReading<Person>(_description, null, false); _ae = new AggregatedException(typeof(Person).ToString(), null, _description.MaximumNbrExceptions); _reader = new RowReader<Person>(_description, _ae); }
public EnabledEventArgs(IDataRow rowValues, bool enabled) { RowValues = rowValues; Enabled = enabled; }
public object ReadRaw(byte[] buffer, IDataRow row, int offset) { return Reader.Read(buffer, offset); }
/// <summary> /// 从数据行读取 /// </summary> /// <param name="dr">数据行</param> protected override BaseEntity GetFrom(IDataRow dr) { GetFromExtend(dr); if (dr.ContainsColumn(FieldId)) { Id = BaseUtil.ConvertToInt(dr[FieldId]); } if (dr.ContainsColumn(FieldSystemCode)) { SystemCode = BaseUtil.ConvertToString(dr[FieldSystemCode]); } if (dr.ContainsColumn(FieldResourceCategory)) { ResourceCategory = BaseUtil.ConvertToString(dr[FieldResourceCategory]); } if (dr.ContainsColumn(FieldResourceId)) { ResourceId = BaseUtil.ConvertToString(dr[FieldResourceId]); } if (dr.ContainsColumn(FieldPermissionId)) { PermissionId = BaseUtil.ConvertToString(dr[FieldPermissionId]); } if (dr.ContainsColumn(FieldCompanyId)) { CompanyId = BaseUtil.ConvertToInt(dr[FieldCompanyId]); } if (dr.ContainsColumn(FieldCompanyName)) { CompanyName = BaseUtil.ConvertToString(dr[FieldCompanyName]); } if (dr.ContainsColumn(FieldPermissionConstraint)) { PermissionConstraint = BaseUtil.ConvertToString(dr[FieldPermissionConstraint]); } if (dr.ContainsColumn(FieldDescription)) { Description = BaseUtil.ConvertToString(dr[FieldDescription]); } if (dr.ContainsColumn(FieldSortCode)) { SortCode = BaseUtil.ConvertToInt(dr[FieldSortCode]); } if (dr.ContainsColumn(FieldDeleted)) { Deleted = BaseUtil.ConvertToInt(dr[FieldDeleted]); } if (dr.ContainsColumn(FieldEnabled)) { Enabled = BaseUtil.ConvertToInt(dr[FieldEnabled]); } if (dr.ContainsColumn(FieldCreateTime)) { CreateTime = BaseUtil.ConvertToDateTime(dr[FieldCreateTime]); } if (dr.ContainsColumn(FieldCreateUserId)) { CreateUserId = BaseUtil.ConvertToInt(dr[FieldCreateUserId]); } if (dr.ContainsColumn(FieldCreateUserName)) { CreateUserName = BaseUtil.ConvertToString(dr[FieldCreateUserName]); } if (dr.ContainsColumn(FieldCreateBy)) { CreateBy = BaseUtil.ConvertToString(dr[FieldCreateBy]); } if (dr.ContainsColumn(FieldCreateIp)) { CreateIp = BaseUtil.ConvertToString(dr[FieldCreateIp]); } if (dr.ContainsColumn(FieldUpdateTime)) { UpdateTime = BaseUtil.ConvertToDateTime(dr[FieldUpdateTime]); } if (dr.ContainsColumn(FieldUpdateUserId)) { UpdateUserId = BaseUtil.ConvertToInt(dr[FieldUpdateUserId]); } if (dr.ContainsColumn(FieldUpdateUserName)) { UpdateUserName = BaseUtil.ConvertToString(dr[FieldUpdateUserName]); } if (dr.ContainsColumn(FieldUpdateBy)) { UpdateBy = BaseUtil.ConvertToString(dr[FieldUpdateBy]); } if (dr.ContainsColumn(FieldUpdateIp)) { UpdateIp = BaseUtil.ConvertToString(dr[FieldUpdateIp]); } return(this); }
/// <summary> /// Read a column's buffer of a row. /// </summary> /// <param name="buffer">A byte-array containing the contents of the EX buffer file.</param> /// <param name="col"><see cref="Column" /> to read.</param> /// <param name="row"><see cref="IDataRow" /> to read in.</param> /// <returns>Returns the value read from the given <c>row</c> and <c>column</c>.</returns> public override object Read(byte[] buffer, Column col, IDataRow row) { var offset = GetFieldOffset(col, row); return _Func(buffer, offset); }
protected abstract TEntity RowToEntity(IDataRow row);
public void Add(IDataRow par) { if (ReadOnly) return; if (_children == null) _children = new List<IDataRow>(); _children.Add(par); par.Parent = this; ClearBlockAddress(); }
public double[] Compute(IDataRow row) { if (Root == null) { return null; } double[] ret; foreach (var child in Root.Children) { ret = ComputeEstimates(row, child); if (ret != null) { return ret; } } return null; }
public static void SetValue(this IDataRow row, int index, object value) { row[index] = value; }
public static object GetValue(this IDataRow row, string name) { return(row[name]); }
public static object GetValue(this IDataRow row, int index) { return(row[index]); }
/// <summary> /// 从数据行读取 /// </summary> /// <param name="dr">数据行</param> protected override BaseEntity GetFrom(IDataRow dr) { GetFromExtend(dr); if (dr.ContainsColumn(FieldId)) { Id = BaseUtil.ConvertToInt(dr[FieldId]); } if (dr.ContainsColumn(FieldSystemCode)) { SystemCode = BaseUtil.ConvertToString(dr[FieldSystemCode]); } if (dr.ContainsColumn(FieldEventId)) { EventId = BaseUtil.ConvertToNullableInt(dr[FieldEventId]); } if (dr.ContainsColumn(FieldCategory)) { Category = BaseUtil.ConvertToString(dr[FieldCategory]); } if (dr.ContainsColumn(FieldPriority)) { Priority = BaseUtil.ConvertToNullableInt(dr[FieldPriority]); } if (dr.ContainsColumn(FieldSeverity)) { Severity = BaseUtil.ConvertToString(dr[FieldSeverity]); } if (dr.ContainsColumn(FieldTitle)) { Title = BaseUtil.ConvertToString(dr[FieldTitle]); } if (dr.ContainsColumn(FieldTimestamp)) { Timestamp = BaseUtil.ConvertToNullableDateTime(dr[FieldTimestamp]); } if (dr.ContainsColumn(FieldMachineName)) { MachineName = BaseUtil.ConvertToString(dr[FieldMachineName]); } if (dr.ContainsColumn(FieldIpAddress)) { IpAddress = BaseUtil.ConvertToString(dr[FieldIpAddress]); } if (dr.ContainsColumn(FieldAppDomainName)) { AppDomainName = BaseUtil.ConvertToString(dr[FieldAppDomainName]); } if (dr.ContainsColumn(FieldProcessId)) { ProcessId = BaseUtil.ConvertToString(dr[FieldProcessId]); } if (dr.ContainsColumn(FieldProcessName)) { ProcessName = BaseUtil.ConvertToString(dr[FieldProcessName]); } if (dr.ContainsColumn(FieldThreadName)) { ThreadName = BaseUtil.ConvertToString(dr[FieldThreadName]); } if (dr.ContainsColumn(FieldWin32ThreadId)) { Win32ThreadId = BaseUtil.ConvertToString(dr[FieldWin32ThreadId]); } if (dr.ContainsColumn(FieldMessage)) { Message = BaseUtil.ConvertToString(dr[FieldMessage]); } if (dr.ContainsColumn(FieldFormattedMessage)) { FormattedMessage = BaseUtil.ConvertToString(dr[FieldFormattedMessage]); } if (dr.ContainsColumn(FieldSortCode)) { SortCode = BaseUtil.ConvertToInt(dr[FieldSortCode]); } if (dr.ContainsColumn(FieldDeleted)) { Deleted = BaseUtil.ConvertToInt(dr[FieldDeleted]); } if (dr.ContainsColumn(FieldEnabled)) { Enabled = BaseUtil.ConvertToInt(dr[FieldEnabled]); } if (dr.ContainsColumn(FieldCreateTime)) { CreateTime = BaseUtil.ConvertToDateTime(dr[FieldCreateTime]); } if (dr.ContainsColumn(FieldCreateUserId)) { CreateUserId = BaseUtil.ConvertToInt(dr[FieldCreateUserId]); } if (dr.ContainsColumn(FieldCreateUserName)) { CreateUserName = BaseUtil.ConvertToString(dr[FieldCreateUserName]); } if (dr.ContainsColumn(FieldCreateBy)) { CreateBy = BaseUtil.ConvertToString(dr[FieldCreateBy]); } if (dr.ContainsColumn(FieldCreateIp)) { CreateIp = BaseUtil.ConvertToString(dr[FieldCreateIp]); } if (dr.ContainsColumn(FieldUpdateTime)) { UpdateTime = BaseUtil.ConvertToDateTime(dr[FieldUpdateTime]); } if (dr.ContainsColumn(FieldUpdateUserId)) { UpdateUserId = BaseUtil.ConvertToInt(dr[FieldUpdateUserId]); } if (dr.ContainsColumn(FieldUpdateUserName)) { UpdateUserName = BaseUtil.ConvertToString(dr[FieldUpdateUserName]); } if (dr.ContainsColumn(FieldUpdateBy)) { UpdateBy = BaseUtil.ConvertToString(dr[FieldUpdateBy]); } if (dr.ContainsColumn(FieldUpdateIp)) { UpdateIp = BaseUtil.ConvertToString(dr[FieldUpdateIp]); } return(this); }
/// <summary> /// GetFrom /// </summary> /// <param name="dr"></param> /// <returns></returns> protected abstract BaseEntity GetFrom(IDataRow dr);
/// <summary> /// 从自定义数据流读取 /// </summary> /// <param name="dr">数据流</param> public virtual void GetFromExtend(IDataRow dr) { }
/// <summary> /// Read a column's buffer of a row. /// </summary> /// <param name="buffer">A byte-array containing the contents of the EX buffer file.</param> /// <param name="col"><see cref="Column" /> to read.</param> /// <param name="row"><see cref="IDataRow" /> to read in.</param> /// <returns>Returns the value read from the given <c>row</c> and <c>column</c>.</returns> public override object Read(byte[] buffer, Column col, IDataRow row) { int offset = GetFieldOffset(col, row); return(_Func(buffer, offset)); }
public void AddRaw(IDataRow dataRow) { rows.Add(dataRow); }
/// <summary> /// Read the raw column's value in a row. /// </summary> /// <param name="buffer">A byte-array containing the contents of the data file.</param> /// <param name="row">The <see cref="IDataRow" /> whose data should be read.</param> /// <returns>Returns the raw column's value in <c>row</c>.</returns> public object ReadRaw(byte[] buffer, IDataRow row) { return Reader.Read(buffer, this, row); }
public static void SetValue(this IDataRow row, string name, object value) { row[name] = value; }
void DataProvider_DatumReplacing(int ndxSource, IDataRow datum) { Monitor.Enter(m_lock); m_cache.Add(Tuple.Create(ndxSource, datum)); Monitor.Exit(m_lock); }
public object Convert(IDataRow row, object rawValue) { return(new Quad((long)rawValue)); }
public object Convert(IDataRow row, object value, int index) { if (index != 0) throw new ArgumentOutOfRangeException("index"); return Converter != null ? Converter.Convert(row, value) : value; }
internal SubRow(IDataRow parent, int key) { ParentRow = parent; Key = key; }
/// /////////////////////////////////////////////////////////////////////// /// ReadObject /// /// <summary> /// Creates an object of type T from the data in row and returns that object. /// /// </summary> /// <param name="row"></param> /// <param name="firstRow"></param> /// <returns></returns> public T ReadObject(IDataRow row, AggregatedException ae) { //If there are more columns than the required if (row.Count > m_IndexToInfo.Length) { //Are we ignoring unknown columns? if (!m_fileDescription.IgnoreUnknownColumns) { // Too many fields throw new TooManyDataFieldsException(typeof(T).ToString(), row[0].LineNbr, m_fileName); } } // ----- T obj = new T(); //If we will be using the mappings, we just iterate through all the cells in this row int maxRowCount = _mappingIndexes.Count > 0 ? row.Count : Math.Min(row.Count, m_IndexToInfo.Length); for (int i = 0; i < maxRowCount; i++) { TypeFieldInfo tfi; //If there is some index mapping generated and the IgnoreUnknownColums is `true` if (m_fileDescription.IgnoreUnknownColumns && _mappingIndexes.Count > 0) { if (!_mappingIndexes.ContainsKey(i)) { continue; } tfi = m_IndexToInfo[_mappingIndexes[i]]; } else { tfi = m_IndexToInfo[i]; } if (m_fileDescription.EnforceCsvColumnAttribute && (!tfi.hasColumnAttribute)) { // enforcing column attr, but this field/prop has no column attr. // So there are too many fields in this record. throw new TooManyNonCsvColumnDataFieldsException(typeof(T).ToString(), row[i].LineNbr, m_fileName); } // ----- if ((!m_fileDescription.FirstLineHasColumnNames) && (tfi.index == CsvColumnAttribute.mc_DefaultFieldIndex)) { // First line in the file does not have field names, so we're // depending on the FieldIndex of each field in the type // to ensure each value is placed in the correct field. // However, now hit a field where there is no FieldIndex. throw new MissingFieldIndexException(typeof(T).ToString(), row[i].LineNbr, m_fileName); } // ----- if (m_fileDescription.UseFieldIndexForReadingData && (!m_fileDescription.FirstLineHasColumnNames) && (tfi.index > row.Count)) { // First line in the file does not have field names, so we're // depending on the FieldIndex of each field in the type // to ensure each value is placed in the correct field. // However, now hit a field where the FieldIndex is bigger // than the total number of items in a row generated by the separatorChar throw new WrongFieldIndexException(typeof(T).ToString(), row[i].LineNbr, m_fileName); } int index = m_fileDescription.UseFieldIndexForReadingData ? tfi.index - 1 : i; // value to put in the object string value = row[index].Value; if (value == null) { if (!tfi.canBeNull) { ae.AddException( new MissingRequiredFieldException( typeof(T).ToString(), tfi.name, row[i].LineNbr, m_fileName)); } } else { try { Object objValue = null; // Normally, either tfi.typeConverter is not null, // or tfi.parseNumberMethod is not null. // if (tfi.typeConverter != null) { objValue = tfi.typeConverter.ConvertFromString( null, m_fileDescription.FileCultureInfo, value); } else if (tfi.parseExactMethod != null) { objValue = tfi.parseExactMethod.Invoke( tfi.fieldType, new Object[] { value, tfi.outputFormat, m_fileDescription.FileCultureInfo }); } else if (tfi.parseNumberMethod != null) { objValue = tfi.parseNumberMethod.Invoke( tfi.fieldType, new Object[] { value, tfi.inputNumberStyle, m_fileDescription.FileCultureInfo }); } else { // No TypeConverter and no Parse method available. // Try direct approach. objValue = value; } if (tfi.memberInfo is PropertyInfo) { ((PropertyInfo)tfi.memberInfo).SetValue(obj, objValue, null); } else { ((FieldInfo)tfi.memberInfo).SetValue(obj, objValue); } } catch (Exception e) { if (e is TargetInvocationException) { e = e.InnerException; } if (e is FormatException) { e = new WrongDataFormatException( typeof(T).ToString(), tfi.name, value, row[i].LineNbr, m_fileName, e); } ae.AddException(e); } } } // Visit any remaining fields in the type for which no value was given // in the data row, to see whether any of those was required. // If only looking at fields with CsvColumn attribute, do ignore // fields that don't have that attribute. for (int i = row.Count; i < m_IndexToInfo.Length; i++) { TypeFieldInfo tfi = m_IndexToInfo[i]; if (((!m_fileDescription.EnforceCsvColumnAttribute) || tfi.hasColumnAttribute) && (!tfi.canBeNull)) { ae.AddException( new MissingRequiredFieldException( typeof(T).ToString(), tfi.name, row[row.Count - 1].LineNbr, m_fileName)); } } return(obj); }
/// <summary> /// 从数据行读取 /// </summary> /// <param name="dr">数据行</param> protected override BaseEntity GetFrom(IDataRow dr) { GetFromExtend(dr); if (dr.ContainsColumn(FieldId)) { Id = BaseUtil.ConvertToInt(dr[FieldId]); } if (dr.ContainsColumn(FieldUserId)) { UserId = BaseUtil.ConvertToInt(dr[FieldUserId]); } if (dr.ContainsColumn(FieldUserPassword)) { UserPassword = BaseUtil.ConvertToString(dr[FieldUserPassword]); } if (dr.ContainsColumn(FieldOpenId)) { OpenId = BaseUtil.ConvertToString(dr[FieldOpenId]); } if (dr.ContainsColumn(FieldAllowStartTime)) { AllowStartTime = BaseUtil.ConvertToNullableDateTime(dr[FieldAllowStartTime]); } if (dr.ContainsColumn(FieldAllowEndTime)) { AllowEndTime = BaseUtil.ConvertToNullableDateTime(dr[FieldAllowEndTime]); } if (dr.ContainsColumn(FieldLockStartTime)) { LockStartTime = BaseUtil.ConvertToNullableDateTime(dr[FieldLockStartTime]); } if (dr.ContainsColumn(FieldLockEndTime)) { LockEndTime = BaseUtil.ConvertToNullableDateTime(dr[FieldLockEndTime]); } if (dr.ContainsColumn(FieldFirstVisitTime)) { FirstVisitTime = BaseUtil.ConvertToNullableDateTime(dr[FieldFirstVisitTime]); } if (dr.ContainsColumn(FieldPreviousVisitTime)) { PreviousVisitTime = BaseUtil.ConvertToNullableDateTime(dr[FieldPreviousVisitTime]); } if (dr.ContainsColumn(FieldLastVisitTime)) { LastVisitTime = BaseUtil.ConvertToNullableDateTime(dr[FieldLastVisitTime]); } if (dr.ContainsColumn(FieldChangePasswordTime)) { ChangePasswordTime = BaseUtil.ConvertToNullableDateTime(dr[FieldChangePasswordTime]); } if (dr.ContainsColumn(FieldLogonCount)) { LogonCount = BaseUtil.ConvertToInt(dr[FieldLogonCount]); } if (dr.ContainsColumn(FieldConcurrentUser)) { ConcurrentUser = BaseUtil.ConvertToInt(dr[FieldConcurrentUser]); } if (dr.ContainsColumn(FieldShowCount)) { ShowCount = BaseUtil.ConvertToInt(dr[FieldShowCount]); } if (dr.ContainsColumn(FieldPasswordErrorCount)) { PasswordErrorCount = BaseUtil.ConvertToInt(dr[FieldPasswordErrorCount]); } if (dr.ContainsColumn(FieldUserOnline)) { UserOnline = BaseUtil.ConvertToInt(dr[FieldUserOnline]); } if (dr.ContainsColumn(FieldCheckIpAddress)) { CheckIpAddress = BaseUtil.ConvertToInt(dr[FieldCheckIpAddress]); } if (dr.ContainsColumn(FieldVerificationCode)) { VerificationCode = BaseUtil.ConvertToString(dr[FieldVerificationCode]); } if (dr.ContainsColumn(FieldIpAddress)) { IpAddress = BaseUtil.ConvertToString(dr[FieldIpAddress]); } if (dr.ContainsColumn(FieldMacAddress)) { MacAddress = BaseUtil.ConvertToString(dr[FieldMacAddress]); } if (dr.ContainsColumn(FieldQuestion)) { Question = BaseUtil.ConvertToString(dr[FieldQuestion]); } if (dr.ContainsColumn(FieldAnswerQuestion)) { AnswerQuestion = BaseUtil.ConvertToString(dr[FieldAnswerQuestion]); } if (dr.ContainsColumn(FieldSalt)) { Salt = BaseUtil.ConvertToString(dr[FieldSalt]); } if (dr.ContainsColumn(FieldOpenIdTimeoutTime)) { OpenIdTimeoutTime = BaseUtil.ConvertToNullableDateTime(dr[FieldOpenIdTimeoutTime]); } if (dr.ContainsColumn(FieldSystemCode)) { SystemCode = BaseUtil.ConvertToString(dr[FieldSystemCode]); } if (dr.ContainsColumn(FieldIpAddressName)) { IpAddressName = BaseUtil.ConvertToString(dr[FieldIpAddressName]); } if (dr.ContainsColumn(FieldPasswordStrength)) { PasswordStrength = BaseUtil.ConvertToNullableByteInt(dr[FieldPasswordStrength]); } if (dr.ContainsColumn(FieldComputerName)) { ComputerName = BaseUtil.ConvertToString(dr[FieldComputerName]); } if (dr.ContainsColumn(FieldNeedModifyPassword)) { NeedModifyPassword = BaseUtil.ConvertToInt(dr[FieldNeedModifyPassword]); } if (dr.ContainsColumn(FieldSortCode)) { SortCode = BaseUtil.ConvertToInt(dr[FieldSortCode]); } if (dr.ContainsColumn(FieldDeleted)) { Deleted = BaseUtil.ConvertToInt(dr[FieldDeleted]); } if (dr.ContainsColumn(FieldEnabled)) { Enabled = BaseUtil.ConvertToInt(dr[FieldEnabled]); } if (dr.ContainsColumn(FieldCreateTime)) { CreateTime = BaseUtil.ConvertToDateTime(dr[FieldCreateTime]); } if (dr.ContainsColumn(FieldCreateUserId)) { CreateUserId = BaseUtil.ConvertToInt(dr[FieldCreateUserId]); } if (dr.ContainsColumn(FieldCreateUserName)) { CreateUserName = BaseUtil.ConvertToString(dr[FieldCreateUserName]); } if (dr.ContainsColumn(FieldCreateBy)) { CreateBy = BaseUtil.ConvertToString(dr[FieldCreateBy]); } if (dr.ContainsColumn(FieldCreateIp)) { CreateIp = BaseUtil.ConvertToString(dr[FieldCreateIp]); } if (dr.ContainsColumn(FieldUpdateTime)) { UpdateTime = BaseUtil.ConvertToDateTime(dr[FieldUpdateTime]); } if (dr.ContainsColumn(FieldUpdateUserId)) { UpdateUserId = BaseUtil.ConvertToInt(dr[FieldUpdateUserId]); } if (dr.ContainsColumn(FieldUpdateUserName)) { UpdateUserName = BaseUtil.ConvertToString(dr[FieldUpdateUserName]); } if (dr.ContainsColumn(FieldUpdateBy)) { UpdateBy = BaseUtil.ConvertToString(dr[FieldUpdateBy]); } if (dr.ContainsColumn(FieldUpdateIp)) { UpdateIp = BaseUtil.ConvertToString(dr[FieldUpdateIp]); } return(this); }
public ImportRow(ImportDataSegmenter parent, IDataRow row, int position) { _segmenter = parent; _row = row; _position = position; }
public SelectedEventArgs2(IDataRow rowValues, IDataRow rowMembers, string value, bool enabled) : base(rowValues, value, enabled) { RowMembers = rowMembers; }
public virtual object Read(byte[] buffer, IDataRow row, int offset) { return ReadRaw(buffer, row, offset); }
/// <summary> /// Read a column's data of a row. /// </summary> /// <param name="buffer">A byte-array containing the contents of the EX data file.</param> /// <param name="col"><see cref="Column" /> to read.</param> /// <param name="row"><see cref="IDataRow" /> to read in.</param> /// <returns>Returns the value read from the given <c>row</c> and <c>column</c>.</returns> public abstract object Read(byte[] buffer, Column col, IDataRow row);
public SelectedEventArgs1(IDataRow rowValues, string value, bool selected) : base(value, selected) { RowValues = rowValues; }
public EnabledEventArgs2(IDataRow rowValues, IDataRow rowMembers, bool enabled) : base(rowValues, enabled) { RowMembers = rowMembers; }
/// <summary> /// 从数据行读取 /// </summary> /// <param name="dr">数据行</param> protected override BaseEntity GetFrom(IDataRow dr) { GetFromExtend(dr); if (dr.ContainsColumn(FieldId)) { Id = BaseUtil.ConvertToInt(dr[FieldId]); } if (dr.ContainsColumn(FieldTenantId)) { TenantId = BaseUtil.ConvertToInt(dr[FieldTenantId]); } if (dr.ContainsColumn(FieldCode)) { Code = BaseUtil.ConvertToString(dr[FieldCode]); } if (dr.ContainsColumn(FieldName)) { Name = BaseUtil.ConvertToString(dr[FieldName]); } if (dr.ContainsColumn(FieldIsTree)) { IsTree = BaseUtil.ConvertToInt(dr[FieldIsTree]); } if (dr.ContainsColumn(FieldAllowEdit)) { AllowEdit = BaseUtil.ConvertToInt(dr[FieldAllowEdit]); } if (dr.ContainsColumn(FieldAllowDelete)) { AllowDelete = BaseUtil.ConvertToInt(dr[FieldAllowDelete]); } if (dr.ContainsColumn(FieldDescription)) { Description = BaseUtil.ConvertToString(dr[FieldDescription]); } if (dr.ContainsColumn(FieldSortCode)) { SortCode = BaseUtil.ConvertToInt(dr[FieldSortCode]); } if (dr.ContainsColumn(FieldDeleted)) { Deleted = BaseUtil.ConvertToInt(dr[FieldDeleted]); } if (dr.ContainsColumn(FieldEnabled)) { Enabled = BaseUtil.ConvertToInt(dr[FieldEnabled]); } if (dr.ContainsColumn(FieldCreateTime)) { CreateTime = BaseUtil.ConvertToDateTime(dr[FieldCreateTime]); } if (dr.ContainsColumn(FieldCreateUserId)) { CreateUserId = BaseUtil.ConvertToInt(dr[FieldCreateUserId]); } if (dr.ContainsColumn(FieldCreateUserName)) { CreateUserName = BaseUtil.ConvertToString(dr[FieldCreateUserName]); } if (dr.ContainsColumn(FieldCreateBy)) { CreateBy = BaseUtil.ConvertToString(dr[FieldCreateBy]); } if (dr.ContainsColumn(FieldCreateIp)) { CreateIp = BaseUtil.ConvertToString(dr[FieldCreateIp]); } if (dr.ContainsColumn(FieldUpdateTime)) { UpdateTime = BaseUtil.ConvertToDateTime(dr[FieldUpdateTime]); } if (dr.ContainsColumn(FieldUpdateUserId)) { UpdateUserId = BaseUtil.ConvertToInt(dr[FieldUpdateUserId]); } if (dr.ContainsColumn(FieldUpdateUserName)) { UpdateUserName = BaseUtil.ConvertToString(dr[FieldUpdateUserName]); } if (dr.ContainsColumn(FieldUpdateBy)) { UpdateBy = BaseUtil.ConvertToString(dr[FieldUpdateBy]); } if (dr.ContainsColumn(FieldUpdateIp)) { UpdateIp = BaseUtil.ConvertToString(dr[FieldUpdateIp]); } return(this); }
/// <summary> /// 从数据行读取 /// </summary> /// <param name="dr">数据行</param> protected override BaseEntity GetFrom(IDataRow dr) { GetFromExtend(dr); if (dr.ContainsColumn(FieldId)) { Id = BaseUtil.ConvertToInt(dr[FieldId]); } if (dr.ContainsColumn(FieldUserId)) { UserId = BaseUtil.ConvertToInt(dr[FieldUserId]); } if (dr.ContainsColumn(FieldShowEmail)) { ShowEmail = BaseUtil.ConvertToInt(dr[FieldShowEmail]); } if (dr.ContainsColumn(FieldEmail)) { Email = BaseUtil.ConvertToString(dr[FieldEmail]); } if (dr.ContainsColumn(FieldEmailValidated)) { EmailValidated = BaseUtil.ConvertToInt(dr[FieldEmailValidated]); } if (dr.ContainsColumn(FieldShowMobile)) { ShowMobile = BaseUtil.ConvertToNullableByteInt(dr[FieldShowMobile]); } if (dr.ContainsColumn(FieldMobile)) { Mobile = BaseUtil.ConvertToString(dr[FieldMobile]); } if (dr.ContainsColumn(FieldMobileValidated)) { MobileValidated = BaseUtil.ConvertToInt(dr[FieldMobileValidated]); } if (dr.ContainsColumn(FieldMobileValidatedTime)) { MobileValidatedTime = BaseUtil.ConvertToNullableDateTime(dr[FieldMobileValidatedTime]); } if (dr.ContainsColumn(FieldShortNumber)) { ShortNumber = BaseUtil.ConvertToString(dr[FieldShortNumber]); } if (dr.ContainsColumn(FieldTelephone)) { Telephone = BaseUtil.ConvertToString(dr[FieldTelephone]); } if (dr.ContainsColumn(FieldExtension)) { Extension = BaseUtil.ConvertToString(dr[FieldExtension]); } if (dr.ContainsColumn(FieldQq)) { Qq = BaseUtil.ConvertToString(dr[FieldQq]); } if (dr.ContainsColumn(FieldWw)) { Ww = BaseUtil.ConvertToString(dr[FieldWw]); } if (dr.ContainsColumn(FieldIm)) { Im = BaseUtil.ConvertToString(dr[FieldIm]); } if (dr.ContainsColumn(FieldWeChat)) { WeChat = BaseUtil.ConvertToString(dr[FieldWeChat]); } if (dr.ContainsColumn(FieldWeChatValidated)) { WeChatValidated = BaseUtil.ConvertToInt(dr[FieldWeChatValidated]); } if (dr.ContainsColumn(FieldWeChatOpenId)) { WeChatOpenId = BaseUtil.ConvertToString(dr[FieldWeChatOpenId]); } if (dr.ContainsColumn(FieldCompanyId)) { CompanyId = BaseUtil.ConvertToInt(dr[FieldCompanyId]); } if (dr.ContainsColumn(FieldCompanyEmail)) { CompanyEmail = BaseUtil.ConvertToString(dr[FieldCompanyEmail]); } if (dr.ContainsColumn(FieldEmergencyContact)) { EmergencyContact = BaseUtil.ConvertToString(dr[FieldEmergencyContact]); } if (dr.ContainsColumn(FieldEmergencyMobile)) { EmergencyMobile = BaseUtil.ConvertToString(dr[FieldEmergencyMobile]); } if (dr.ContainsColumn(FieldEmergencyTelephone)) { EmergencyTelephone = BaseUtil.ConvertToString(dr[FieldEmergencyTelephone]); } if (dr.ContainsColumn(FieldSortCode)) { SortCode = BaseUtil.ConvertToInt(dr[FieldSortCode]); } if (dr.ContainsColumn(FieldDeleted)) { Deleted = BaseUtil.ConvertToInt(dr[FieldDeleted]); } if (dr.ContainsColumn(FieldEnabled)) { Enabled = BaseUtil.ConvertToInt(dr[FieldEnabled]); } if (dr.ContainsColumn(FieldCreateTime)) { CreateTime = BaseUtil.ConvertToDateTime(dr[FieldCreateTime]); } if (dr.ContainsColumn(FieldCreateUserId)) { CreateUserId = BaseUtil.ConvertToInt(dr[FieldCreateUserId]); } if (dr.ContainsColumn(FieldCreateUserName)) { CreateUserName = BaseUtil.ConvertToString(dr[FieldCreateUserName]); } if (dr.ContainsColumn(FieldCreateBy)) { CreateBy = BaseUtil.ConvertToString(dr[FieldCreateBy]); } if (dr.ContainsColumn(FieldCreateIp)) { CreateIp = BaseUtil.ConvertToString(dr[FieldCreateIp]); } if (dr.ContainsColumn(FieldUpdateTime)) { UpdateTime = BaseUtil.ConvertToDateTime(dr[FieldUpdateTime]); } if (dr.ContainsColumn(FieldUpdateUserId)) { UpdateUserId = BaseUtil.ConvertToInt(dr[FieldUpdateUserId]); } if (dr.ContainsColumn(FieldUpdateUserName)) { UpdateUserName = BaseUtil.ConvertToString(dr[FieldUpdateUserName]); } if (dr.ContainsColumn(FieldUpdateBy)) { UpdateBy = BaseUtil.ConvertToString(dr[FieldUpdateBy]); } if (dr.ContainsColumn(FieldUpdateIp)) { UpdateIp = BaseUtil.ConvertToString(dr[FieldUpdateIp]); } return(this); }
/// <summary> /// Read the column's value in a row, possibly post-processed depending on the column's implementation. /// </summary> /// <param name="buffer">A byte-array containing the contents of the data file.</param> /// <param name="row">The <see cref="IDataRow" /> whose data should be read.</param> /// <returns>Returns the column's value in <c>row</c>.</returns> public virtual object Read(byte[] buffer, IDataRow row) { return ReadRaw(buffer, row); }
/// /////////////////////////////////////////////////////////////////////// /// ReadData /// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="fileName"> /// Name of the file associated with the stream. /// /// If this is not null, a file is opened with this name. /// If this is null, the method attempts to read from the passed in stream. /// </param> /// <param name="stream"> /// All data is read from this stream, unless fileName is not null. /// /// This is a StreamReader rather then a TextReader, /// because we need to be able to seek back to the start of the /// stream, and you can't do that with a TextReader (or StringReader). /// </param> /// <param name="fileDescription"></param> /// <returns></returns> private IEnumerable <T> ReadData <T>( string fileName, StreamReader stream, CsvFileDescription fileDescription) where T : class, new() { // If T implements IDataRow, then we're reading raw data rows bool readingRawDataRows = typeof(IDataRow).IsAssignableFrom(typeof(T)); // The constructor for FieldMapper_Reading will throw an exception if there is something // wrong with type T. So invoke that constructor before you open the file, because if there // is an exception, the file will not be closed. // // If T implements IDataRow, there is no need for a FieldMapper, because in that case we're returning // raw data rows. FieldMapper_Reading <T> fm = null; if (!readingRawDataRows) { fm = new FieldMapper_Reading <T>(fileDescription, fileName, false); } // ------- // Each time the IEnumerable<T> that is returned from this method is // accessed in a foreach, ReadData is called again (not the original Read overload!) // // So, open the file here, or rewind the stream. bool readingFile = !string.IsNullOrEmpty(fileName); if (readingFile) { stream = new StreamReader( fileName, fileDescription.TextEncoding, fileDescription.DetectEncodingFromByteOrderMarks); } else { // Rewind the stream if ((stream == null) || (!stream.BaseStream.CanSeek)) { throw new BadStreamException(); } stream.BaseStream.Seek(0, SeekOrigin.Begin); } // ---------- CsvStream cs = new CsvStream(stream, null, fileDescription.SeparatorChar, fileDescription.IgnoreTrailingSeparatorChar); // If we're reading raw data rows, instantiate a T so we return objects // of the type specified by the caller. // Otherwise, instantiate a DataRow, which also implements IDataRow. IDataRow row = null; if (readingRawDataRows) { row = new T() as IDataRow; } else { row = new DataRow(); } AggregatedException ae = new AggregatedException(typeof(T).ToString(), fileName, fileDescription.MaximumNbrExceptions); try { List <int> charLengths = null; if (!readingRawDataRows) { charLengths = fm.GetCharLengths(); } bool firstRow = true; while (cs.ReadRow(row, charLengths)) { // Skip empty lines. // Important. If there is a newline at the end of the last data line, the code // thinks there is an empty line after that last data line. if ((row.Count == 1) && ((row[0].Value == null) || (string.IsNullOrEmpty(row[0].Value.Trim())))) { continue; } if (firstRow && fileDescription.FirstLineHasColumnNames) { if (!readingRawDataRows) { fm.ReadNames(row); } } else { T obj = default(T); try { if (readingRawDataRows) { obj = row as T; } else { obj = fm.ReadObject(row, ae); } } catch (AggregatedException ae2) { // Seeing that the AggregatedException was thrown, maximum number of exceptions // must have been reached, so rethrow. // Catch here, so you don't add an AggregatedException to an AggregatedException throw ae2; } catch (Exception e) { // Store the exception in the AggregatedException ae. // That way, if a file has many errors leading to exceptions, // you get them all in one go, packaged in a single aggregated exception. ae.AddException(e); } yield return(obj); } firstRow = false; } } finally { if (readingFile) { stream.Close(); } // If any exceptions were raised while reading the data from the file, // they will have been stored in the AggregatedException ae. // In that case, time to throw ae. ae.ThrowIfExceptionsStored(); } }
/// <summary> /// Read a column's buffer of a row. /// </summary> /// <param name="buffer">A byte-array containing the contents of the EX buffer file.</param> /// <param name="col"><see cref="Column" /> to read.</param> /// <param name="row"><see cref="IDataRow" /> to read in.</param> /// <returns>Returns the value read from the given <c>row</c> and <c>column</c>.</returns> public override object Read(byte[] buffer, Column col, IDataRow row) { var offset = GetFieldOffset(col, row); return (buffer[offset] & _Mask) != 0; }
/// <summary> /// Ctor /// </summary> /// <param name="streamWriter">流写者</param> /// <param name="rowWriter">行写者</param> /// <param name="explainer">数据解释器</param> public DataWriter(StreamWriter streamWriter, IDataRow rowWriter, IDataExplainer explainer) { this._streamWriter = streamWriter; this._rowWriter = rowWriter; this._explainer = explainer; }
private static double[] ComputeEstimates(IDataRow row, DecisionNode node) { var rowValue = row[node.Attribute]; switch (node.Condition) { case PredicateCondition.Equal: if (!row[node.Attribute].Equals(node.ThreshHold)) { return null; } break; case PredicateCondition.LessThanOrEqual: if ((rowValue == null) || (Convert.ToDouble(rowValue) > Convert.ToDouble(node.ThreshHold))) { return null; } break; case PredicateCondition.GreaterThan: if ((rowValue == null) || (Convert.ToDouble(rowValue) <= Convert.ToDouble(node.ThreshHold))) { return null; } break; default: return null; } if (node.Children != null && node.Children.Any()) { foreach (var child in node.Children) { var estimates = ComputeEstimates(row, child); if (estimates != null) { return estimates; } } } else { var estimates = new double[node.Statistics.Frequencies.Length]; for (int index = 0; index < estimates.Length; index++) { estimates[index] = node.Statistics.Frequencies[index]/(double) node.Statistics.DatasetLength; } return estimates; } return null; }
/// <summary> /// Ctor /// </summary> /// <param name="rowWriter">行写者</param> /// <param name="explainer">数据解释器</param> public DataWriter(IDataRow rowWriter, IDataExplainer explainer) { this._rowWriter = rowWriter; this._explainer = explainer; }
public object Convert(IDataRow row, object rawValue) { var coll = (RelationalExCollection)row.Sheet.Collection; var key = System.Convert.ToInt32(rawValue); return coll.FindReference(key); }
/// <summary> /// Read the raw column's value in a row. /// </summary> /// <param name="buffer">A byte-array containing the contents of the data file.</param> /// <param name="row">The <see cref="IDataRow" /> whose data should be read.</param> /// <returns>Returns the raw column's value in <c>row</c>.</returns> public object ReadRaw(byte[] buffer, IDataRow row) { return(Reader.Read(buffer, this, row)); }
public override void Add(IDataRow dataRow) { data.Add(dataRow); }
/// <summary> /// Read the column's value in a row, possibly post-processed depending on the column's implementation. /// </summary> /// <param name="buffer">A byte-array containing the contents of the data file.</param> /// <param name="row">The <see cref="IDataRow" /> whose data should be read.</param> /// <returns>Returns the column's value in <c>row</c>.</returns> public virtual object Read(byte[] buffer, IDataRow row) { return(ReadRaw(buffer, row)); }
/// <summary> /// Initializes a new instance of the <see cref="Feature"/> class from a geometry. /// </summary> /// <param name="geometry">The geometry to turn into a feature</param> public Feature(IGeometry geometry) { _geometry = geometry; _featureType = FeatureTypeFromGeometryType(geometry); _dataRow = null; }
/// <summary> /// Read a column's buffer of a row. /// </summary> /// <param name="buffer">A byte-array containing the contents of the EX buffer file.</param> /// <param name="col"><see cref="Column" /> to read.</param> /// <param name="row"><see cref="IDataRow" /> to read in.</param> /// <returns>Returns the value read from the given <c>row</c> and <c>column</c>.</returns> public override object Read(byte[] buffer, Column col, IDataRow row) { var offset = GetFieldOffset(col, row); return((buffer[offset] & _Mask) != 0); }
/// <summary> /// Get the absolute offset in the EX data file of a column for a given row. /// </summary> /// <param name="col"><see cref="Column" /> whose offset should be returned.</param> /// <param name="row"><see cref="IDataRow" /> to use as base.</param> /// <returns>Returns the absolute offset in the EX data file <c>col</c> inside <c>row</c>.</returns> protected static int GetFieldOffset(Column col, IDataRow row) { return col.Offset + row.Offset; }
/// <summary> /// Initializes a new instance of the <see cref="Feature"/> class. /// </summary> public Feature() { _dataRow = null; _geometry = null; _featureType = FeatureType.Unspecified; }