private void ProcessSerialEntryColumns(UPCRMRecord rootRecord) { for (var columnIndex = 0; columnIndex < this.count; columnIndex++) { this.column = this.SerialEntry.Columns[columnIndex]; this.destinationColumn = this.column as UPSEDestinationColumnBase; if (this.destinationColumn != null) { if (this.destinationColumn.DontCacheOffline && this.destinationColumn.DontSave) { continue; } this.rowValue = this.RowValues[columnIndex]; var originalVal = this.destinationColumn.StringValueFromObject(this.rowValue.OriginalValue); var stringValue = this.destinationColumn.StringValueFromObject(this.rowValue.Value); var changedValue = this.column.IsValueDifferentThan(stringValue, originalVal); if (!changedValue && !this.rowValue.SaveUnchanged) { continue; } if (!changedValue) { originalVal = null; } if (this.column.ColumnFrom == UPSEColumnFrom.DestChild) { this.ProcessUpseColumnFromDestChild(rootRecord, changedValue, stringValue, originalVal); } else { if (this.destinationColumn.DontSave) { this.destinationRootRecord.NewValueFromValueFieldIdOnlyOffline( stringValue, originalVal, this.column.FieldId, true); } else { this.destinationRootRecord.NewValueFromValueFieldId(stringValue, originalVal, this.column.FieldId); } if (changedValue) { this.destinationRootRecord.HasValues = true; } } } } }
/// <summary> /// Initializes a new instance of the <see cref="UPSEDestinationColumnBase"/> class. /// </summary> /// <param name="fieldConfig">The field configuration.</param> /// <param name="column">The column.</param> public UPSEDestinationColumnBase(UPConfigFieldControlField fieldConfig, UPSEDestinationColumnBase column) : base(fieldConfig, column) { this.Readonly = column.Readonly; this.DontSave = column.DontSave; this.DontCacheOffline = column.DontCacheOffline; this.Empty = column.Empty; string v = fieldConfig.Attributes.ExtendedOptionForKey("initialFocus"); if (v == "ifEmpty") { this.InitialFocus = InitialFocusMode.IfEmpty; } else { this.InitialFocus = fieldConfig.Attributes.ExtendedOptionIsSet("initialFocus") ? InitialFocusMode.Yes : column.InitialFocus; } this.ChangeAction = fieldConfig.Attributes.ExtendedOptionForKey("onchange") ?? column.ChangeAction; this.ParentColumnIndex = column.ParentColumnIndex; }
/// <summary> /// Initializes a new instance of the <see cref="UPSEDestinationColumn"/> class. /// </summary> /// <param name="fieldConfig">The field configuration.</param> /// <param name="column">The column.</param> public UPSEDestinationColumn(UPConfigFieldControlField fieldConfig, UPSEDestinationColumnBase column) : base(fieldConfig, column) { }
/// <summary> /// Determines whether [is quota column] [the specified destination column]. /// </summary> /// <param name="destinationColumn">The destination column.</param> /// <returns> /// <c>true</c> if [is quota column] [the specified destination column]; otherwise, <c>false</c>. /// </returns> public bool IsQuotaColumn(UPSEDestinationColumnBase destinationColumn) { return(this.IsQuotaColumnIndex(destinationColumn.Index)); }