コード例 #1
0
ファイル: OracleDao.cs プロジェクト: johnny5581/Ancestor
 protected override void ProcessConvertToDecimal(Type fromType, Type toType, Expression objectNode, ReadOnlyCollection <Expression> args)
 {
     if (fromType == typeof(string))
     {
         Write("To_Number(");
         Visit(objectNode);
         var formatExpression = args.ElementAtOrDefault(0);
         if (formatExpression != null)
         {
             Write(",");
             object value;
             if (TryResolveValue(formatExpression, out value) && value is string)
             {
                 var formattedValue = ConvertFromDecimalFormat((string)value);
                 Write(formattedValue);
             }
             else
             {
                 Visit(formatExpression);
             }
         }
         Write(")");
     }
     else if (InternalHelper.IsDecimalType(InternalHelper.GetUnderlyingType(fromType)))
     {
         Visit(objectNode);
     }
     else
     {
         Write("To_Number(");
         Visit(objectNode);
         Write(")");
     }
 }