Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="idfsEditor"></param>
        /// <returns></returns>
        public static FFParameterEditors ConvertToParameterControlType(long?idfsEditor)
        {
            FFParameterEditors result = FFParameterEditors.TextBox;

            switch (idfsEditor)
            {
            case 10067008 /*"editText"*/:
                result = FFParameterEditors.TextBox;
                break;

            case 10067002 /*"editCombo"*/:
                result = FFParameterEditors.ComboBox;
                break;

            case 10067001 /*"editCheck"*/:
                result = FFParameterEditors.CheckBox;
                break;

            case 10067003 /*"editDate"*/:
                result = FFParameterEditors.Date;
                break;

            case 10067004 /*"editDateTime"*/:
                result = FFParameterEditors.DateTime;
                break;

            case 10067006 /*"editMemo"*/:
                result = FFParameterEditors.Memo;
                break;

            case 10067009 /*"editUpDown"*/:
                result = FFParameterEditors.UpDown;
                break;
            }

            return(result);
        }
Пример #2
0
        public static object ConvertToRealDataType(this FFParameterTypes parameterType, FFParameterEditors parameterEditor, object value)
        {
            //инициализационное значение присваивается новому параметру, чтобы его можно было редактировать
            var isInitValue = value == DBNull.Value;

            if (!isInitValue && (value == null || String.IsNullOrWhiteSpace(value.ToString())))
            {
                return(value);
            }

            object realvalue;

            switch (parameterType)
            {
            case FFParameterTypes.Boolean:
                if (isInitValue)
                {
                    return(false);
                }
                //в вебе из чекбокса приходит "true,false" или "false"
                var str = value.ToString().Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                if (str.Length > 0)
                {
                    switch (str[0])
                    {
                    case "1":
                        str[0] = "true";
                        break;

                    case "0":
                        str[0] = "false";
                        break;
                    }
                    realvalue = (str.Length > 0) && Convert.ToBoolean(str[0]);
                }
                else
                {
                    realvalue = false;
                }

                break;

            case FFParameterTypes.Numeric:
            case FFParameterTypes.NumericPositive:
                if (isInitValue)
                {
                    return(0);
                }
                double d;
                realvalue = Double.TryParse(value.ToString(), out d) ? d : 0;
                break;

            case FFParameterTypes.NumericNatural:
            case FFParameterTypes.NumericInteger:
                if (isInitValue)
                {
                    return(0);
                }
                int i;
                realvalue = Int32.TryParse(value.ToString(), out i) ? i : 0;
                break;

            case FFParameterTypes.String:
                if (parameterEditor.Equals(FFParameterEditors.ComboBox))
                {
                    if (isInitValue)
                    {
                        return(0);
                    }
                    long l;
                    return(Int64.TryParse(value.ToString(), out l) ? l : 0);
                }
                if (isInitValue)
                {
                    return(String.Empty);
                }
                realvalue = value.ToString();
                break;

            case FFParameterTypes.Date:
            case FFParameterTypes.DateTime:
                if (isInitValue)
                {
                    return(DateTime.MinValue);
                }
                DateTime dt;
                realvalue = DateTime.TryParse(value.ToString(), out dt) ? dt :
                            (DateTime.TryParseExact(value.ToString(), "yyyy-MM-dd", null, System.Globalization.DateTimeStyles.None, out dt) ? dt : DateTime.MinValue);
                break;

            default:
                return(isInitValue ? String.Empty : value.ToString());
            }

            return(realvalue);
        }
Пример #3
0
 public static int ConvertToInt(FFParameterEditors pc)
 {
     return(Convert.ToInt32(pc));
 }