protected Object GetValue(IDataReader rs, String columnName, IValueType valueType, Map <String, int?> selectIndexMap) // ResourceContext in Java // lower because of @see AbstractSqlClause { int?selectIndex = selectIndexMap != null?selectIndexMap.get(columnName.ToLower()) : null; if (selectIndex != null) { return(valueType.GetValue(rs, selectIndex.Value)); } else { return(valueType.GetValue(rs, columnName)); } }
public object Handle(IDataReader dataReader) { System.Collections.IList resultList = new System.Collections.ArrayList(); while (dataReader.Read()) { resultList.Add(_valueType.GetValue(dataReader, 0)); // It's zero origin. } return(resultList); }
public static TResult ConvertFrom <TResult>(IValueType valueType) //where TResult : class { if (valueType == null) { throw new ArgumentNullException(nameof(valueType)); } if (typeof(TResult) == typeof(IValueType)) { return((TResult)valueType); } return((TResult)valueType.GetValue()); }
public object Handle(IDataReader dataReader) { Type generic = typeof(System.Collections.Generic.List <>); Type constructed = generic.MakeGenericType(_beanType); System.Collections.IList resultList = (System.Collections.IList)Activator.CreateInstance(constructed); while (dataReader.Read()) { resultList.Add(_valueType.GetValue(dataReader, 0)); // It's zero origin. } return(resultList); }
protected RelationKey CreateRelationKey(IDataReader reader, IRelationPropertyType rpt , System.Collections.IList columnNames, System.Collections.Hashtable relKeyValues , Map <String, int?> selectIndexMap) { System.Collections.ArrayList keyList = new System.Collections.ArrayList(); IBeanMetaData bmd = rpt.BeanMetaData; for (int i = 0; i < rpt.KeySize; ++i) { IValueType valueType = null; IPropertyType pt = rpt.BeanMetaData.GetPropertyTypeByColumnName(rpt.GetYourKey(i)); String relationNoSuffix = BuildRelationNoSuffix(rpt); String columnName = RemoveQuoteIfExists(pt.ColumnName) + relationNoSuffix; if (columnNames.Contains(columnName)) { valueType = pt.ValueType; } else { // basically unreachable // because the referred column (basically PK or FK) must exist // if the relation's select clause is specified return(null); } Object value; if (selectIndexMap != null) { value = GetValue(reader, columnName, valueType, selectIndexMap); } else { value = valueType.GetValue(reader, columnName); } if (value == null) { // reachable when the referred column data is null // (treated as no relation data) return(null); } relKeyValues[columnName] = value; keyList.Add(value); } if (keyList.Count > 0) { object[] keys = keyList.ToArray(); return(new RelationKey(keys)); } else { return(null); } }
// Added by Wirachai T. 2008 10 07 //private void Control_KeyDown(object sender, KeyEventArgs e) //{ // try // { // // ¶éÒà»ç¹ find dialog ¨ÐÁÕ¡Òü١ event ¹ÕéäÇéà¾×èÍãËé¡´ enter áÅéÇ search ¢éÍÁÙŷѹ·Õ // if (OnKeyEnterPressed == null) // { // Control ctrl = (Control)sender; // Form form = ctrl.FindForm(); // if (e.KeyCode == Keys.Enter) // { // form.SelectNextControl(form.ActiveControl, true, true, true, true); // } // else if (e.KeyCode == Keys.Back) // { // if ((sender is DateTextBoxWithCalendar) && ((DateTextBoxWithCalendar)sender).IsEmpty()) // { // form.SelectNextControl(form.ActiveControl, false, true, true, false); // } // else if (sender is ComboBox) // { // form.SelectNextControl(form.ActiveControl, false, true, true, false); // } // else if (((Control)sender).Text.Trim().Equals("")) // { // form.SelectNextControl(form.ActiveControl, false, true, true, false); // } // } // } // } // catch (Exception) // { // } //} // End private void ShowPopupValue(IValuePopup valuePopup, IValueType valueType) { if (valuePopup != null) { valuePopup.SetValues(valueType.GetValue()); BaseValuePopup dlg = (BaseValuePopup)valuePopup; dlg.Location = Cursor.Position; if (dlg.ShowDialog() == DialogResult.OK) { valueType.SetValue(valuePopup.GetValues()); } } }
protected override void RegisterRelationValue(RelationRowCreationResource res, String columnName) { IPropertyType pt = res.CurrentPropertyType; Object value = null; if (res.ContainsRelKeyValueIfExists(columnName)) { // if this column is relation key, it gets the value from relation key values // for performance and avoiding twice getting same column value value = res.ExtractRelKeyValue(columnName); } else { IValueType valueType = pt.ValueType; Map <String, int?> selectIndexMap = GetSelectIndexMap(); if (selectIndexMap != null) { value = GetValue(res.DataReader, columnName, valueType, selectIndexMap); } else { value = valueType.GetValue(res.DataReader, columnName); } } if (value != null) { res.IncrementValidValueCount(); DBMeta dbmeta = FindDBMeta(res.Row); String propertyName = pt.PropertyName; if (dbmeta != null && dbmeta.HasEntityPropertySetupper(propertyName)) { dbmeta.SetupEntityProperty(propertyName, res.Row, value); } else { PropertyInfo pd = pt.PropertyInfo; pd.SetValue(res.Row, value, null); } } }