diff --git a/OWTrack/MainForm.cs b/OWTrack/MainForm.cs
index 05a33e6..267b139 100644
--- a/OWTrack/MainForm.cs
+++ b/OWTrack/MainForm.cs
@@ -34,14 +34,14 @@ namespace OWTrack
private string Version = Program.Version.ToString();
public MainForm()
- {
+ {
InitializeComponent();
- tr = new Tracker();
+ tr = new Tracker();
loadSave();
checkStatus();
update();
label4.Text = Version;
- Text = "OWTrack " + Version;
+ Text = "OWTrack " + Version;
}
private void checkStatus()
@@ -71,7 +71,6 @@ namespace OWTrack
}
}
- //Move to saveManeger.cs ?
private void loadSave()
{
try
@@ -92,7 +91,7 @@ namespace OWTrack
}
catch (Exception)
{
- MessageBox.Show("Could not load Save.\n" +
+ MessageBox.Show("Could not load Save!\n" +
"Starting new save.");
tr = new Tracker();
}
@@ -144,16 +143,24 @@ namespace OWTrack
private void update()
{
- Wins.Text = tr.GetWins().ToString();
- Losses.Text = tr.GetLosses().ToString();
- if (tr.newSR == 0)
+ try
{
- if (tr.srDiff() < 1) { srLabel.Text = tr.startSR.ToString() + " - 0"; }
+ Wins.Text = tr.GetWins().ToString();
+ Losses.Text = tr.GetLosses().ToString();
+ if (tr.newSR == 0)
+ {
+ if (tr.srDiff() < 1) { srLabel.Text = tr.startSR.ToString() + " - 0"; }
+ else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff();
+ }
else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff();
+ srTextBox.Text = null;
+ saveManeger.SaveJSON(tr);
}
- else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff();
- srTextBox.Text = null;
- saveManeger.SaveJSON(tr);
+ catch (Exception e)
+ {
+ MessageBox.Show(e.Message);
+ }
+
}
private void AddMatch()
@@ -163,7 +170,9 @@ namespace OWTrack
StartSR = tr.startSR,
newSR = tr.newSR,
ChangeInSR = tr.srDiff(),
- dateTime = DateTime.Now.Date
+ dateTime = DateTime.Now.Date,
+ DateTimeSting = DateTime.Now.ToString("hh:mm tt"),
+ LastMatchSR = tr.GetCurrentSession().GetLastMatch().newSR,
};
tr.GetCurrentSession().AddMatch(match);
}
@@ -226,12 +235,6 @@ namespace OWTrack
}
finally
{
- //if (!SRonce)
- //{
- // tr.startSR = sr;
- // SRonce = true;
- //}
- //else tr.newSR = sr;
if (tr.GetCurrentSession().IsNewSession())
tr.startSR = sr;
else
diff --git a/OWTrack/OWTrack.csproj b/OWTrack/OWTrack.csproj
index a6997e9..a581a43 100644
--- a/OWTrack/OWTrack.csproj
+++ b/OWTrack/OWTrack.csproj
@@ -113,6 +113,7 @@
MainForm.cs
+
diff --git a/OWTrack/Settings.cs b/OWTrack/Settings.cs
new file mode 100644
index 0000000..83e4384
--- /dev/null
+++ b/OWTrack/Settings.cs
@@ -0,0 +1,43 @@
+/*Copyright(c) 2018 Hesham Systems LLC.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.*/
+
+
+namespace OWTrack
+{
+ class Settings
+ {
+ public bool TrackSR, TrackOW = true;
+ public string GamePath = "";
+
+ public Settings()
+ {
+ }
+
+ ///
+ /// Reset All values to defult
+ ///
+ public void Reset()
+ {
+ TrackOW = true;
+ TrackSR = true;
+ GamePath = "";
+ }
+ }
+}
diff --git a/OWTrack/Statistics.cs b/OWTrack/Statistics.cs
new file mode 100644
index 0000000..f202751
--- /dev/null
+++ b/OWTrack/Statistics.cs
@@ -0,0 +1,32 @@
+using System;
+using System.IO;
+using Newtonsoft.Json;
+using System.Collections.Generic;
+
+
+namespace OWTrack
+{
+ public class Statistics
+ {
+ private Tracker tr;
+ public Statistics(Tracker tr)
+ {
+ this.tr = tr;
+ }
+
+ public int GetTotalSkillChange()
+ {
+ int change = 0;
+ foreach (var Session in tr.sessions)
+ {
+ if (Session.Matches.Count != 0)
+ {
+ foreach (var match in Session.Matches)
+ {
+
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/OWTrack/Tracker.cs b/OWTrack/Tracker.cs
index 8a7c44b..d74d3d1 100644
--- a/OWTrack/Tracker.cs
+++ b/OWTrack/Tracker.cs
@@ -22,7 +22,6 @@ using System;
using System.Diagnostics;
using System.Linq;
using System.IO;
-using System.Windows.Forms;
using System.Collections.Generic;
namespace OWTrack
@@ -30,7 +29,7 @@ namespace OWTrack
class Tracker
{
public int wins, losses, startSR, newSR, totalMatches = 0;
-
+
public void addWin() => wins++;
public void addLoss() => losses++;
public void reduceWin() => wins--;
@@ -66,7 +65,7 @@ namespace OWTrack
sessions.Clear();
StartNewSeission();
}
-
+
public void StartNewSeission()
{
Session ses = new Session(startSR);
@@ -128,8 +127,7 @@ namespace OWTrack
}
catch (Exception e)
{
- MessageBox.Show(e.Message);
- return false;
+ throw e;
}
}
@@ -158,32 +156,17 @@ namespace OWTrack
}
}
- class Settings
- {
- public bool TrackSR, TrackOW = true;
- public string GamePath = "";
-
- ///
- /// Reset All values to defult
- ///
- public void Reset()
- {
- TrackOW = true;
- TrackSR = true;
- GamePath = "";
- }
- }
-
class Session
{
+ public int wins, losses = 0;
public int TotalMatches;
public int SkillChange;
public int StartSR;
public DateTime date;
- public List Matches = new List();
+ public List Matches = new List();
///
- /// Start a new session with a starting Skill Rating
+ /// Start a new session
///
public Session(int StartSR)
{
@@ -192,21 +175,38 @@ namespace OWTrack
TotalMatches = 0;
}
+ ///
+ /// Check if session does not have any matches
+ ///
+ /// Booelan
public bool IsNewSession()
{
if (Matches.Count == 0) return true;
else return false;
}
+ ///
+ /// Get last match in Matchs list
+ ///
+ /// Match
public Match GetLastMatch()
{
return Matches.Last();
}
+ ///
+ /// Add Match to list
+ ///
+ ///
public void AddMatch(Match match)
{
+ match.LastMatchSR = this.Matches.Last().newSR;
this.Matches.Add(match);
this.TotalMatches = Matches.Count();
+ if (match.IsWin)
+ wins++;
+ else
+ losses++;
}
}
@@ -214,6 +214,8 @@ namespace OWTrack
{
public Match() { }
public DateTime dateTime { get; set; }
+ public bool IsWin;
+ public string DateTimeSting;
public int StartSR;
public int LastMatchSR;
public int newSR;
diff --git a/OWTrack/saveManeger.cs b/OWTrack/saveManeger.cs
index 74d29a0..b9aa9b2 100644
--- a/OWTrack/saveManeger.cs
+++ b/OWTrack/saveManeger.cs
@@ -33,6 +33,10 @@ namespace OWTrack
public static string GetSaves() { return SAVES; }
public static string GetCurrentDir() { return curDir; }
+ ///
+ /// Paths of 'Program Files' folders.
+ ///
+ ///
public struct ProgramFiles
{
public const string C = "C:\\Program Files";
@@ -47,31 +51,13 @@ namespace OWTrack
///
/// Deserialize saved tracker instance.
///
- ///
+ /// Tracker
public static Tracker GetSavedTracker()
{
try
{
return JsonConvert.DeserializeObject(File.ReadAllText(Paths.GetSaves()));
}
- catch (Exception)
- {
- Exception ex = new Exception("json");
- throw ex;
- }
- }
-
- ///
- /// Deserialize saved tracker instance from a Custom path
- ///
- ///
- ///
- public static Tracker GetSavedTracker(string customPath)
- {
- try
- {
- return JsonConvert.DeserializeObject(File.ReadAllText(customPath));
- }
catch (Exception e)
{
throw e;
@@ -81,8 +67,8 @@ namespace OWTrack
///
///Saves the Tracker Object.
///
- ///
- ///
+ ///
+ /// Boolean Value
public static bool SaveJSON(Tracker tracker)
{
try
@@ -90,9 +76,9 @@ namespace OWTrack
File.WriteAllText(Paths.GetSaves(), JsonConvert.SerializeObject(tracker, Formatting.Indented));
return true;
}
- catch (Exception)
+ catch (Exception e)
{
- return false;
+ throw e;
}
}