Move version check to seperate class

Brian [2016-08-25 14:22:51]
Move version check to seperate class
Filename
PokemonGo.RocketBot.Window/Forms/MainForm.cs
PokemonGo.RocketBot.Window/Helpers/VersionHelper.cs
PokemonGo.RocketBot.Window/Properties/AssemblyInfo.cs
diff --git a/PokemonGo.RocketBot.Window/Forms/MainForm.cs b/PokemonGo.RocketBot.Window/Forms/MainForm.cs
index f40441b..81a4c3a 100644
--- a/PokemonGo.RocketBot.Window/Forms/MainForm.cs
+++ b/PokemonGo.RocketBot.Window/Forms/MainForm.cs
@@ -6,10 +6,8 @@ using System.Drawing.Drawing2D;
 using System.Globalization;
 using System.IO;
 using System.Linq;
-using System.Net;
 using System.Reflection;
 using System.Text;
-using System.Text.RegularExpressions;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Windows.Forms;
@@ -90,7 +88,7 @@ namespace PokemonGo.RocketBot.Window.Forms
             InitializeBot();
             InitializePokemonForm();
             InitializeMap();
-            CheckVersion();
+            VersionHelper.CheckVersion();
             if (BoolNeedsSetup)
             {
                 //startStopBotToolStripMenuItem.Enabled = false;
@@ -209,31 +207,31 @@ namespace PokemonGo.RocketBot.Window.Forms
             Logger.SetLoggerContext(_session);

             _session.Navigation.UpdatePositionEvent +=
-                (lat, lng) => _session.EventDispatcher.Send(new UpdatePositionEvent {Latitude = lat, Longitude = lng});
+                (lat, lng) => _session.EventDispatcher.Send(new UpdatePositionEvent { Latitude = lat, Longitude = lng });
             _session.Navigation.UpdatePositionEvent += Navigation_UpdatePositionEvent;

             RouteOptimizeUtil.RouteOptimizeEvent +=
                 optimizedroute =>
-                    _session.EventDispatcher.Send(new OptimizeRouteEvent {OptimizedRoute = optimizedroute});
+                    _session.EventDispatcher.Send(new OptimizeRouteEvent { OptimizedRoute = optimizedroute });
             RouteOptimizeUtil.RouteOptimizeEvent += InitializePokestopsAndRoute;

             Navigation.GetHumanizeRouteEvent +=
                 (route, destination) =>
-                    _session.EventDispatcher.Send(new GetHumanizeRouteEvent {Route = route, Destination = destination});
+                    _session.EventDispatcher.Send(new GetHumanizeRouteEvent { Route = route, Destination = destination });
             Navigation.GetHumanizeRouteEvent += UpdateMap;

             FarmPokestopsTask.LootPokestopEvent +=
-                pokestop => _session.EventDispatcher.Send(new LootPokestopEvent {Pokestop = pokestop});
+                pokestop => _session.EventDispatcher.Send(new LootPokestopEvent { Pokestop = pokestop });
             FarmPokestopsTask.LootPokestopEvent += UpdateMap;

             CatchNearbyPokemonsTask.PokemonEncounterEvent +=
                 mappokemons =>
-                    _session.EventDispatcher.Send(new PokemonsEncounterEvent {EncounterPokemons = mappokemons});
+                    _session.EventDispatcher.Send(new PokemonsEncounterEvent { EncounterPokemons = mappokemons });
             CatchNearbyPokemonsTask.PokemonEncounterEvent += UpdateMap;

             CatchIncensePokemonsTask.PokemonEncounterEvent +=
                 mappokemons =>
-                    _session.EventDispatcher.Send(new PokemonsEncounterEvent {EncounterPokemons = mappokemons});
+                    _session.EventDispatcher.Send(new PokemonsEncounterEvent { EncounterPokemons = mappokemons });
             CatchIncensePokemonsTask.PokemonEncounterEvent += UpdateMap;
         }

@@ -262,8 +260,8 @@ namespace PokemonGo.RocketBot.Window.Forms
                 _playerLocations.Clear();
                 var routePoint =
                     (from pokeStop in pokeStops
-                        where pokeStop != null
-                        select new PointLatLng(pokeStop.Latitude, pokeStop.Longitude)).ToList();
+                     where pokeStop != null
+                     select new PointLatLng(pokeStop.Latitude, pokeStop.Longitude)).ToList();

                 _routePoints = routePoint;
                 togglePrecalRoute.Enabled = true;
@@ -320,43 +318,6 @@ namespace PokemonGo.RocketBot.Window.Forms
             throw new Exception();
         }

-        public void CheckVersion()
-        {
-            try
-            {
-                var match =
-                    new Regex(
-                        @"\[assembly\: AssemblyVersion\(""(\d{1,})\.(\d{1,})\.(\d{1,})\.(\d{1,})""\)\]")
-                        .Match(DownloadServerVersion());
-
-                if (!match.Success) return;
-                var gitVersion =
-                    new Version(
-                        string.Format(
-                            "{0}.{1}.{2}.{3}",
-                            match.Groups[1],
-                            match.Groups[2],
-                            match.Groups[3],
-                            match.Groups[4]));
-                // makes sense to display your version and say what the current one is on github
-                Logger.Write("Your version is " + Assembly.GetExecutingAssembly().GetName().Version);
-                Logger.Write("Github version is " + gitVersion);
-                Logger.Write("You can find it at www.GitHub.com/TheUnnameOrganization/RocketBot/releases");
-            }
-            catch (Exception)
-            {
-                Logger.Write("Unable to check for updates now...", LogLevel.Error);
-            }
-        }
-
-        private static string DownloadServerVersion()
-        {
-            using (var wC = new WebClient())
-                return
-                    wC.DownloadString(
-                        "https://raw.githubusercontent.com/TheUnnameOrganization/RocketBot/Beta-Build/src/RocketBotGUI/Properties/AssemblyInfo.cs");
-        }
-
         private void showMoreCheckBox_CheckedChanged(object sender, EventArgs e)
         {
             if (showMoreCheckBox.Checked)
@@ -409,7 +370,7 @@ namespace PokemonGo.RocketBot.Window.Forms
             {
                 var route = new GMapRoute(_playerLocations, "step")
                 {
-                    Stroke = new Pen(Color.FromArgb(175, 175, 175), 2) {DashStyle = DashStyle.Dot}
+                    Stroke = new Pen(Color.FromArgb(175, 175, 175), 2) { DashStyle = DashStyle.Dot }
                 };
                 _playerOverlay.Routes.Clear();
                 _playerOverlay.Routes.Add(route);
@@ -425,7 +386,7 @@ namespace PokemonGo.RocketBot.Window.Forms
             }
             var routes = new GMapRoute(routePointLatLngs, routePointLatLngs.ToString())
             {
-                Stroke = new Pen(Color.FromArgb(128, 0, 179, 253), 4) {DashStyle = DashStyle.Dash}
+                Stroke = new Pen(Color.FromArgb(128, 0, 179, 253), 4) { DashStyle = DashStyle.Dash }
             };
             _playerRouteOverlay.Routes.Add(routes);
             /* Logger.Write("new call");
@@ -588,7 +549,7 @@ namespace PokemonGo.RocketBot.Window.Forms
         {
             //olvPokemonList.ButtonClick += PokemonListButton_Click;

-            pkmnName.ImageGetter = delegate(object rowObject)
+            pkmnName.ImageGetter = delegate (object rowObject)
             {
                 var pokemon = rowObject as PokemonObject;

@@ -596,13 +557,13 @@ namespace PokemonGo.RocketBot.Window.Forms
                 var key = pokemon.PokemonId.ToString();
                 if (!olvPokemonList.SmallImageList.Images.ContainsKey(key))
                 {
-                    var img = ResourceHelper.GetPokemonImage((int) pokemon.PokemonId);
+                    var img = ResourceHelper.GetPokemonImage((int)pokemon.PokemonId);
                     olvPokemonList.SmallImageList.Images.Add(key, img);
                 }
                 return key;
             };

-            olvPokemonList.FormatRow += delegate(object sender, FormatRowEventArgs e)
+            olvPokemonList.FormatRow += delegate (object sender, FormatRowEventArgs e)
             {
                 var pok = e.Model as PokemonObject;
                 if (olvPokemonList.Objects
@@ -622,7 +583,7 @@ namespace PokemonGo.RocketBot.Window.Forms
                 }
             };

-            cmsPokemonList.Opening += delegate(object sender, CancelEventArgs e)
+            cmsPokemonList.Opening += delegate (object sender, CancelEventArgs e)
             {
                 e.Cancel = false;
                 cmsPokemonList.Items.Clear();
@@ -645,7 +606,7 @@ namespace PokemonGo.RocketBot.Window.Forms
                 item.Click += delegate { TransferPokemon(pokemons); };
                 cmsPokemonList.Items.Add(item);

-                item = new ToolStripMenuItem {Text = @"Rename"};
+                item = new ToolStripMenuItem { Text = @"Rename" };
                 item.Click += delegate
                 {
                     using (var form = count == 1 ? new NicknamePokemonForm(pokemonObject) : new NicknamePokemonForm())
@@ -660,30 +621,30 @@ namespace PokemonGo.RocketBot.Window.Forms

                 if (canAllEvolve)
                 {
-                    item = new ToolStripMenuItem {Text = $"Evolve {count} pokemon"};
+                    item = new ToolStripMenuItem { Text = $"Evolve {count} pokemon" };
                     item.Click += delegate { EvolvePokemon(pokemons); };
                     cmsPokemonList.Items.Add(item);
                 }

                 if (count != 1) return;
-                item = new ToolStripMenuItem {Text = @"PowerUp"};
+                item = new ToolStripMenuItem { Text = @"PowerUp" };
                 item.Click += delegate { PowerUpPokemon(pokemons); };
                 cmsPokemonList.Items.Add(item);
                 cmsPokemonList.Items.Add(separator);

-                item = new ToolStripMenuItem {Text = @"Transfer Clean Up (Keep highest IV)"};
+                item = new ToolStripMenuItem { Text = @"Transfer Clean Up (Keep highest IV)" };
                 item.Click += delegate { CleanUpTransferPokemon(pokemonObject, "IV"); };
                 cmsPokemonList.Items.Add(item);

-                item = new ToolStripMenuItem {Text = @"Transfer Clean Up (Keep highest CP)"};
+                item = new ToolStripMenuItem { Text = @"Transfer Clean Up (Keep highest CP)" };
                 item.Click += delegate { CleanUpTransferPokemon(pokemonObject, "CP"); };
                 cmsPokemonList.Items.Add(item);

-                item = new ToolStripMenuItem {Text = @"Evolve Clean Up (Highest IV)"};
+                item = new ToolStripMenuItem { Text = @"Evolve Clean Up (Highest IV)" };
                 item.Click += delegate { CleanUpEvolvePokemon(pokemonObject, "IV"); };
                 cmsPokemonList.Items.Add(item);

-                item = new ToolStripMenuItem {Text = @"Evolve Clean Up (Highest CP)"};
+                item = new ToolStripMenuItem { Text = @"Evolve Clean Up (Highest CP)" };
                 item.Click += delegate { CleanUpEvolvePokemon(pokemonObject, "CP"); };
                 cmsPokemonList.Items.Add(item);

@@ -700,17 +661,17 @@ namespace PokemonGo.RocketBot.Window.Forms
                 if (cName.Equals("Transfer"))
                 {
                     // ReSharper disable once PossibleNullReferenceException
-                    TransferPokemon(new List<PokemonData> {pokemon.PokemonData});
+                    TransferPokemon(new List<PokemonData> { pokemon.PokemonData });
                 }
                 else if (cName.Equals("Power Up"))
                 {
                     // ReSharper disable once PossibleNullReferenceException
-                    PowerUpPokemon(new List<PokemonData> {pokemon.PokemonData});
+                    PowerUpPokemon(new List<PokemonData> { pokemon.PokemonData });
                 }
                 else if (cName.Equals("Evolve"))
                 {
                     // ReSharper disable once PossibleNullReferenceException
-                    EvolvePokemon(new List<PokemonData> {pokemon.PokemonData});
+                    EvolvePokemon(new List<PokemonData> { pokemon.PokemonData });
                 }
             }
             catch (Exception ex)
@@ -892,7 +853,7 @@ namespace PokemonGo.RocketBot.Window.Forms
                 foreach (var pokemon in pokemons)
                 {
                     var pokemonObject = new PokemonObject(pokemon);
-                    var family = _families.First(i => (int) i.FamilyId <= (int) pokemon.PokemonId);
+                    var family = _families.First(i => (int)i.FamilyId <= (int)pokemon.PokemonId);
                     pokemonObject.Candy = family.Candy_;
                     pokemonObjects.Add(pokemonObject);
                 }
@@ -952,7 +913,7 @@ namespace PokemonGo.RocketBot.Window.Forms

         private async void ItemBox_ItemClick(object sender, EventArgs e)
         {
-            var item = (ItemData) sender;
+            var item = (ItemData)sender;

             using (var form = new ItemForm(item))
             {
@@ -962,32 +923,32 @@ namespace PokemonGo.RocketBot.Window.Forms
                 switch (item.ItemId)
                 {
                     case ItemId.ItemLuckyEgg:
-                    {
-                        if (_session.Client == null)
                         {
-                            Logger.Write($"Bot must be running first!", LogLevel.Warning);
-                            SetState(true);
-                            return;
+                            if (_session.Client == null)
+                            {
+                                Logger.Write($"Bot must be running first!", LogLevel.Warning);
+                                SetState(true);
+                                return;
+                            }
+                            await UseLuckyEggTask.Execute(_session);
                         }
-                        await UseLuckyEggTask.Execute(_session);
-                    }
                         break;
                     case ItemId.ItemIncenseOrdinary:
-                    {
-                        if (_session.Client == null)
                         {
-                            Logger.Write($"Bot must be running first!", LogLevel.Error);
-                            SetState(true);
-                            return;
+                            if (_session.Client == null)
+                            {
+                                Logger.Write($"Bot must be running first!", LogLevel.Error);
+                                SetState(true);
+                                return;
+                            }
+                            await UseIncenseTask.Execute(_session);
                         }
-                        await UseIncenseTask.Execute(_session);
-                    }
                         break;
                     default:
-                    {
-                        await
-                            RecycleSpecificItemTask.Execute(_session, item.ItemId, decimal.ToInt32(form.numCount.Value));
-                    }
+                        {
+                            await
+                                RecycleSpecificItemTask.Execute(_session, item.ItemId, decimal.ToInt32(form.numCount.Value));
+                        }
                         break;
                 }
                 await ReloadPokemonList();
diff --git a/PokemonGo.RocketBot.Window/Helpers/VersionHelper.cs b/PokemonGo.RocketBot.Window/Helpers/VersionHelper.cs
new file mode 100644
index 0000000..0f0b544
--- /dev/null
+++ b/PokemonGo.RocketBot.Window/Helpers/VersionHelper.cs
@@ -0,0 +1,43 @@
+using System;
+using System.Net;
+using System.Text.RegularExpressions;
+using System.Windows.Forms;
+using PokemonGo.RocketBot.Logic.Logging;
+
+namespace PokemonGo.RocketBot.Window.Helpers
+{
+    public class VersionHelper
+    {
+        public static void CheckVersion()
+        {
+            try
+            {
+                var match =
+                    new Regex(
+                        @"\[assembly\: AssemblyVersion\(""(\d{1,})\.(\d{1,})\.(\d{1,})""\)\]")
+                        .Match(DownloadServerVersion());
+
+                if (!match.Success) return;
+                var gitVersion =
+                    new Version(
+                        $"{match.Groups[1]}.{match.Groups[2]}.{match.Groups[3]}");
+                // makes sense to display your version and say what the current one is on github
+                Logger.Write("Your version is " + Application.ProductVersion);
+                Logger.Write("Github version is " + gitVersion);
+                Logger.Write("You can find it at www.GitHub.com/TheUnnameOrganization/RocketBot/releases");
+            }
+            catch (Exception)
+            {
+                Logger.Write("Unable to check for updates now...", LogLevel.Error);
+            }
+        }
+
+        private static string DownloadServerVersion()
+        {
+            using (var wC = new WebClient())
+                return
+                    wC.DownloadString(
+                        "https://raw.githubusercontent.com/TheUnnameOrganization/RocketBot/master/PokemonGo.RocketBot.Window/Properties/AssemblyInfo.cs");
+        }
+    }
+}
\ No newline at end of file
diff --git a/PokemonGo.RocketBot.Window/Properties/AssemblyInfo.cs b/PokemonGo.RocketBot.Window/Properties/AssemblyInfo.cs
index 13ec292..0681526 100644
--- a/PokemonGo.RocketBot.Window/Properties/AssemblyInfo.cs
+++ b/PokemonGo.RocketBot.Window/Properties/AssemblyInfo.cs
@@ -40,4 +40,4 @@ using System.Runtime.InteropServices;
 // [assembly: AssemblyVersion("1.0.*")]

 [assembly: AssemblyVersion("2.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
+[assembly: AssemblyFileVersion("2.0.0")]
\ No newline at end of file
You may download the files in Public Git.