Commit ec25271

unknown <mo@.(none)>
2009-10-10 03:35:03
cleaning up sql file.
1 parent f8c6aae
Changed files (3)
product/application/data/SqlFile.cs
@@ -1,10 +1,10 @@
 using System;
-using System.Globalization;
 using System.IO;
+using simple.migrations.utility;
 
 namespace simple.migrations.Data
 {
-    public class SqlFile
+    public class SqlFile : IEquatable<SqlFile>
     {
         public virtual string path { get; set; }
 
@@ -15,10 +15,18 @@ namespace simple.migrations.Data
 
         int version()
         {
-            var info = new FileInfo(path);
-            return (int) Convert.ChangeType(info.Name.Substring(0, info.Name.IndexOf("_")), typeof (int), CultureInfo.InvariantCulture);
+            return version_number(file_name()).convert_to<int>();
         }
 
+        string version_number(string name)
+        {
+            return name.Substring(0, name.IndexOf("_"));
+        }
+
+        string file_name()
+        {
+            return new FileInfo(path).Name;
+        }
 
         static public implicit operator SqlFile(string file_path)
         {
product/application/utility/ConversionExtensions.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Globalization;
+
+namespace simple.migrations.utility
+{
+    static public class ConversionExtensions
+    {
+        static public T convert_to<T>(this object item)
+        {
+            return (T) Convert.ChangeType(item, typeof (T), CultureInfo.InvariantCulture);
+        }
+    }
+}
\ No newline at end of file
product/application/application.csproj
@@ -65,6 +65,7 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="RunMigrationsCommand.cs" />
     <Compile Include="StringExtensions.cs" />
+    <Compile Include="utility\ConversionExtensions.cs" />
     <Compile Include="utility\IterationExtensions.cs" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />