Example #1
0
        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);
 }
Example #3
0
 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);
            }
Example #5
0
        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);
            }
        }
Example #6
0
        // 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);
                }
            }
        }