2005-09-30 Miguel de Icaza <miguel@novell.com>
[mono.git] / mcs / class / FirebirdSql.Data.Firebird / FirebirdSql.Data.Common / TypeEncoder.cs
index 63a6eb162c70e63803844743e57935d2d9ed9bdc..3bde933d4757b84d8dc5f10df1a2c63da190fee2 100644 (file)
-/*\r
- *  Firebird ADO.NET Data provider for .NET and Mono \r
- * \r
- *     The contents of this file are subject to the Initial \r
- *     Developer's Public License Version 1.0 (the "License"); \r
- *     you may not use this file except in compliance with the \r
- *     License. You may obtain a copy of the License at \r
- *     http://www.firebirdsql.org/index.php?op=doc&id=idpl\r
- *\r
- *     Software distributed under the License is distributed on \r
- *     an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either \r
- *     express or implied.  See the License for the specific \r
- *     language governing rights and limitations under the License.\r
- * \r
- *  Copyright (c) 2002, 2005 Carlos Guzman Alvarez\r
- *  All Rights Reserved.\r
- */\r
-\r
-using System;\r
-using System.Globalization;\r
-\r
-namespace FirebirdSql.Data.Common\r
-{\r
-       internal sealed class TypeEncoder\r
-       {\r
-               #region Constructors\r
-\r
-               private TypeEncoder()\r
-               {\r
-               }\r
-\r
-               #endregion\r
-\r
-               #region Static Methods\r
-\r
-               public static object EncodeDecimal(decimal d, int scale, int sqltype)\r
-               {\r
-                       long multiplier = 1;\r
-\r
-                       if (scale < 0)\r
-                       {\r
-                               multiplier = (long)System.Math.Pow(10, scale * (-1));\r
-                       }\r
-\r
-                       switch (sqltype & ~1)\r
-                       {\r
-                               case IscCodes.SQL_SHORT:\r
-                                       return (short)(d * multiplier);\r
-\r
-                               case IscCodes.SQL_LONG:\r
-                                       return (int)(d * multiplier);\r
-\r
-                               case IscCodes.SQL_QUAD:\r
-                               case IscCodes.SQL_INT64:\r
-                                       return (long)(d * multiplier);\r
-\r
-                               case IscCodes.SQL_DOUBLE:\r
-                               default:\r
-                                       return d;\r
-                       }\r
-               }\r
-\r
-               public static int EncodeTime(DateTime d)\r
-               {\r
-                       GregorianCalendar calendar = new GregorianCalendar();\r
-\r
-                       int millisInDay =\r
-                               (int)(calendar.GetHour(d) * 3600000 +\r
-                               calendar.GetMinute(d) * 60000 +\r
-                               calendar.GetSecond(d) * 1000 +\r
-                               calendar.GetMilliseconds(d)) * 10;\r
-\r
-                       return millisInDay;\r
-               }\r
-\r
-               public static int EncodeDate(DateTime d)\r
-               {\r
-                       int day, month, year;\r
-                       int c, ya;\r
-\r
-                       GregorianCalendar calendar = new GregorianCalendar();\r
-\r
-                       day = calendar.GetDayOfMonth(d);\r
-                       month = calendar.GetMonth(d);\r
-                       year = calendar.GetYear(d);\r
-\r
-                       if (month > 2)\r
-                       {\r
-                               month -= 3;\r
-                       }\r
-                       else\r
-                       {\r
-                               month += 9;\r
-                               year -= 1;\r
-                       }\r
-\r
-                       c = year / 100;\r
-                       ya = year - 100 * c;\r
-\r
-                       return ((146097 * c) / 4 +\r
-                               (1461 * ya) / 4 +\r
-                               (153 * month + 2) / 5 +\r
-                               day + 1721119 - 2400001);\r
-               }\r
-\r
-               #endregion\r
-       }\r
+/*
+ *  Firebird ADO.NET Data provider for .NET and Mono 
+ * 
+ *     The contents of this file are subject to the Initial 
+ *     Developer's Public License Version 1.0 (the "License"); 
+ *     you may not use this file except in compliance with the 
+ *     License. You may obtain a copy of the License at 
+ *     http://www.firebirdsql.org/index.php?op=doc&id=idpl
+ *
+ *     Software distributed under the License is distributed on 
+ *     an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either 
+ *     express or implied.  See the License for the specific 
+ *     language governing rights and limitations under the License.
+ * 
+ *  Copyright (c) 2002, 2005 Carlos Guzman Alvarez
+ *  All Rights Reserved.
+ */
+
+using System;
+using System.Globalization;
+
+namespace FirebirdSql.Data.Common
+{
+       internal sealed class TypeEncoder
+       {
+               #region Constructors
+
+               private TypeEncoder()
+               {
+               }
+
+               #endregion
+
+               #region Static Methods
+
+               public static object EncodeDecimal(decimal d, int scale, int sqltype)
+               {
+                       long multiplier = 1;
+
+                       if (scale < 0)
+                       {
+                               multiplier = (long)System.Math.Pow(10, scale * (-1));
+                       }
+
+                       switch (sqltype & ~1)
+                       {
+                               case IscCodes.SQL_SHORT:
+                                       return (short)(d * multiplier);
+
+                               case IscCodes.SQL_LONG:
+                                       return (int)(d * multiplier);
+
+                               case IscCodes.SQL_QUAD:
+                               case IscCodes.SQL_INT64:
+                                       return (long)(d * multiplier);
+
+                               case IscCodes.SQL_DOUBLE:
+                               default:
+                                       return d;
+                       }
+               }
+
+               public static int EncodeTime(DateTime d)
+               {
+                       GregorianCalendar calendar = new GregorianCalendar();
+
+                       int millisInDay =
+                               (int)(calendar.GetHour(d) * 3600000 +
+                               calendar.GetMinute(d) * 60000 +
+                               calendar.GetSecond(d) * 1000 +
+                               calendar.GetMilliseconds(d)) * 10;
+
+                       return millisInDay;
+               }
+
+               public static int EncodeDate(DateTime d)
+               {
+                       int day, month, year;
+                       int c, ya;
+
+                       GregorianCalendar calendar = new GregorianCalendar();
+
+                       day = calendar.GetDayOfMonth(d);
+                       month = calendar.GetMonth(d);
+                       year = calendar.GetYear(d);
+
+                       if (month > 2)
+                       {
+                               month -= 3;
+                       }
+                       else
+                       {
+                               month += 9;
+                               year -= 1;
+                       }
+
+                       c = year / 100;
+                       ya = year - 100 * c;
+
+                       return ((146097 * c) / 4 +
+                               (1461 * ya) / 4 +
+                               (153 * month + 2) / 5 +
+                               day + 1721119 - 2400001);
+               }
+
+               #endregion
+       }
 }
\ No newline at end of file