Skip to content

Commit

Permalink
Code Refactoring.
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanDeveloper committed Jun 19, 2017
1 parent 74b1098 commit a081a8c
Show file tree
Hide file tree
Showing 13 changed files with 134 additions and 154 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,37 @@
using LigaManagerBettorClient.Annotations;
using LigaManagerBettorClient.BettorClientService;
using LigaManagerBettorClient.Frameworks;
using LigaManagerBettorClient.Models;
using LigaManagerBettorClient.ViewModels;
using LigaManagerBettorClient.Views;
using LigaManagerServer.Models;
using Match = LigaManagerServer.Models.Match;
using RankedBettor = LigaManagerServer.Models.RankedBettor;

namespace LigaManagerBettorClient.Controllers
{
public class BettorRankingWindowController
{
public MainWindow MainWindow { get; set; }
public Season SelectedSeason { get; set; }
public Bettor Bettor { get; set; }

private BettorRankingWindow _view;
private BettorRankingWindowViewModel _viewModel;
private BettorClientServiceClient _bettorClient;
public void Initialize()
private MainWindow _mainWindow;
private Season _selectedSeason;
private Bettor _bettor;

public void Initialize(MainWindow mainWindow, Season selectedSeason, Bettor bettor)
{
_view = new BettorRankingWindow();
_bettorClient = new BettorClientServiceClient();
var matches = _bettorClient.GetMatches(SelectedSeason);
_mainWindow = mainWindow;
_selectedSeason = selectedSeason;
_bettor = bettor;

#region View and ViewModel
var matches = _bettorClient.GetMatches(_selectedSeason);
// find max match day
var max = matches.ToList().Max(x => x.MatchDay);
var rankedBettors = GetRankedBettors(0);
// set list for match days
var matchDays = new ObservableCollection<string> { "Aktuell" };
for (var i = 1; i <= max; i++)
{
Expand All @@ -45,20 +52,19 @@ public void Initialize()
_viewModel.SelectionMatchDayChanged += UpdateMatchDay;
// set view of Window
_view.DataContext = _viewModel;
MainWindow.Width = 1200;
MainWindow.Height = 800;
MainWindow.Content = _view;
#endregion

_mainWindow.Width = 1200;
_mainWindow.Height = 800;
_mainWindow.Content = _view;
}

private void ExecuteBackCommand(object obj)
{
var menuWindow = new MenuWindowController
{
Bettor = Bettor,
MainWindow = MainWindow
};
menuWindow.Initialize();
var menuWindow = new MenuWindowController();
menuWindow.Initialize(_mainWindow,_bettor);
}

private void UpdateMatchDay(object sender, string s)
{
var matchday = 0;
Expand All @@ -73,19 +79,19 @@ private void UpdateMatchDay(object sender, string s)

private List<RankedBettor> GetRankedBettors(int matchday)
{
List<RankedBettor> result = null;
List<RankedBettor> result;
if (matchday == 0)
{
var bettors = _bettorClient.GetBettors();
var allBets = _bettorClient.GetAllBets();
var matches = _bettorClient.GetMatches(SelectedSeason);
var matches = _bettorClient.GetMatches(_selectedSeason);
result = CalucalteRankedBettors(matches.ToList(), bettors.ToList(), allBets.ToList());
}
else
{
var bettors = _bettorClient.GetBettors();
var allBets = _bettorClient.GetAllBets();
var matches = _bettorClient.GetMatches(SelectedSeason);
var matches = _bettorClient.GetMatches(_selectedSeason);

var filteredMatches = matches.Where(x => x.MatchDay == matchday);
var filteredBets = allBets.Where(x => matches.Contains(x.Match));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System;
using LigaManagerBettorClient.BettorClientService;
using LigaManagerBettorClient.Frameworks;
using LigaManagerBettorClient.ViewModels;
using LigaManagerBettorClient.Views;
Expand All @@ -11,24 +10,26 @@ public class DetailMatchWindowController
{
private DetailMatchWindow _view;
private DetailMatchWindowViewModel _viewModel;
private BettorClientServiceClient _bettorClient;
public Match Match { get; set; }
public Bet Bet { get; set; }

public Bet ShowMatch()
{
_view = new DetailMatchWindow();
_bettorClient = new BettorClientServiceClient();
_viewModel = new DetailMatchWindowViewModel()

#region View and ViewModel
_viewModel = new DetailMatchWindowViewModel
{
Bet = Bet,
Match = Match,
BetCommand = new RelayCommand(ExecuteBetCommand),
CancelCommand = new RelayCommand(ExecuteCancelCommand)
};
_view.DataContext = _viewModel;
#endregion

if (Match.DateTime < DateTime.Now)
// check if the bet is valid
if (Match.DateTime < DateTime.Now.AddMinutes(30))
{
_view.AwayTeamBet.IsEnabled = false;
_view.HomeTeamBet.IsEnabled = false;
Expand All @@ -39,7 +40,7 @@ public Bet ShowMatch()
private void ExecuteBetCommand(object obj)
{
_view.DialogResult = true;
if (Bet != null)
if (Bet != null && Match.DateTime < DateTime.Now.AddMinutes(30))
{
Bet.DateTime = DateTime.Now;
_view.Close();
Expand Down
20 changes: 9 additions & 11 deletions LigaManagerBettorClient/Controllers/LoginWindowController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
using LigaManagerBettorClient.Frameworks;
using LigaManagerBettorClient.ViewModels;
using LigaManagerBettorClient.Views;
using LigaManagerServer.Models;

namespace LigaManagerBettorClient.Controllers
{
Expand All @@ -12,28 +11,31 @@ public class LoginWindowController
private LoginWindowViewModel _loginWindowViewModel;
private BettorClientServiceClient _bettorClient;
private LoginWindow _view;
private MainWindow _main;
private MainWindow _mainWindow;

public void Initialize()
{
_view = new LoginWindow();
_bettorClient = new BettorClientServiceClient();

#region View and ViewModel
_loginWindowViewModel = new LoginWindowViewModel
{
SignInCommand = new RelayCommand(ExecuteSignInCommand),
CloseCommand = new RelayCommand(ExecuteCloseCommand)
};

_view.DataContext = _loginWindowViewModel;
#endregion

_main = new MainWindow
_mainWindow = new MainWindow
{
Content = _view,
Height = 300,
Width = 315,
ResizeMode = ResizeMode.NoResize
};
_main.Show();
_mainWindow.Show();
}

private void ExecuteSignInCommand(object obj)
Expand All @@ -44,12 +46,8 @@ private void ExecuteSignInCommand(object obj)
if (isSuccess)
{
var bettor = _bettorClient.GetBettor(nickname);
var menu = new MenuWindowController()
{
MainWindow = _main,
Bettor = bettor
};
menu.Initialize();
var menu = new MenuWindowController();
menu.Initialize(_mainWindow, bettor);
}
else
{
Expand All @@ -60,7 +58,7 @@ private void ExecuteSignInCommand(object obj)

private void ExecuteCloseCommand(object obj)
{
_main.Close();
_mainWindow.Close();
}
}
}
31 changes: 15 additions & 16 deletions LigaManagerBettorClient/Controllers/MatchesWindowController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,50 +14,49 @@ public class MatchesWindowController
private MatchesWindow _view;
private MatchesWindowViewModel _viewModel;
private BettorClientServiceClient _bettorClient;
public MainWindow MainWindow { get; set; }
public Bettor Bettor { get; set; }
public Season SelectedSeason { get; set; }
private MainWindow _mainWindow;
private Season _selectedSeason;
private Bettor _bettor;

public void Initialize()
public void Initialize(MainWindow mainWindow, Season selectedSeason, Bettor bettor)
{
_view = new MatchesWindow();
_bettorClient = new BettorClientServiceClient();
_mainWindow = mainWindow;
_selectedSeason = selectedSeason;
_bettor = bettor;

var matches = _bettorClient.GetMatches(SelectedSeason);
var matches = _bettorClient.GetMatches(_selectedSeason);
var sortedMatches = matches.ToList().OrderBy(a => a.DateTime).ToList();

var listCollectionView = new ListCollectionView(sortedMatches);
listCollectionView.GroupDescriptions?.Add(new PropertyGroupDescription("MatchDay"));

_viewModel = new MatchesWindowViewModel
{
SelectedSeason = SelectedSeason,
SelectedSeason = _selectedSeason,
Matches = listCollectionView,
SelectedMatchCommand = new RelayCommand(ExecuteSelectedMatchCommand),
BackCommand = new RelayCommand(ExecuteBackCommand)
};

_view.DataContext = _viewModel;
MainWindow.Width = 1200;
MainWindow.Height = 800;
MainWindow.Content = _view;
_mainWindow.Width = 1200;
_mainWindow.Height = 800;
_mainWindow.Content = _view;
}

private void ExecuteBackCommand(object obj)
{
var menuWindow = new MenuWindowController
{
Bettor = Bettor,
MainWindow = MainWindow
};
menuWindow.Initialize();
var menuWindow = new MenuWindowController();
menuWindow.Initialize(_mainWindow, _bettor);
}


public void ExecuteSelectedMatchCommand(object obj)
{
var viewModelSelectedMatch = _viewModel.SelectedMatch;
var bet = _bettorClient.GetBet(viewModelSelectedMatch, Bettor);
var bet = _bettorClient.GetBet(viewModelSelectedMatch, _bettor);
var detailMatchWindowController = new DetailMatchWindowController
{
Match = viewModelSelectedMatch,
Expand Down
58 changes: 24 additions & 34 deletions LigaManagerBettorClient/Controllers/MenuWindowController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,25 @@ namespace LigaManagerBettorClient.Controllers
{
public class MenuWindowController
{
public MainWindow MainWindow { get; set; }
public Bettor Bettor { get; set; }

private MainWindow _mainWindow;
private Bettor _bettor;
private MenuWindowViewModel _viewModel;
private BettorClientServiceClient _bettorClient;
private MenuWindow _view;
public void Initialize()

public void Initialize(MainWindow mainWindow, Bettor bettor)
{
_view = new MenuWindow();
_bettorClient = new BettorClientServiceClient();
_mainWindow = mainWindow;
_bettor = bettor;
// Get all seasons
var seasons = _bettorClient.GetSeasons();

#region View and ViewModel
_viewModel = new MenuWindowViewModel
{
Bettor = Bettor,
Bettor = _bettor,
Seasons = new ObservableCollection<Season>(seasons.ToList()),
SelectedSeason = seasons.ToList().First(),
BettorRankingCommand = new RelayCommand(ExecuteBettorRankingCommand),
Expand All @@ -33,54 +37,40 @@ public void Initialize()
};

_view.DataContext = _viewModel;
#endregion

MainWindow.Content = _view;
MainWindow.Width = 1200;
MainWindow.Height = 800;
_mainWindow.Content = _view;
_mainWindow.Width = 1200;
_mainWindow.Height = 800;
}

#region ExecuteCommands
public void ExecuteBettorRankingCommand(object obj)
{
var bettorRanking = new BettorRankingWindowController
{
MainWindow = MainWindow,
SelectedSeason = _viewModel.SelectedSeason,
Bettor = Bettor

};
bettorRanking.Initialize();
var bettorRanking = new BettorRankingWindowController();
bettorRanking.Initialize(_mainWindow, _viewModel.SelectedSeason, _bettor);
}

public void ExecuteMatchesCommand(object obj)
{
var matches = new MatchesWindowController
{
MainWindow = MainWindow,
SelectedSeason = _viewModel.SelectedSeason,
Bettor = Bettor

};
matches.Initialize();
var matches = new MatchesWindowController();
matches.Initialize(_mainWindow, _viewModel.SelectedSeason, _bettor);
}

public void ExecuteTeamsCommand(object obj)
{
var teamRankingWindowController = new TeamRankingWindowController
{
MainWindow = MainWindow,
SelectedSeason = _viewModel.SelectedSeason,
Bettor = Bettor
};
teamRankingWindowController.Initialize();
var teamRankingWindowController = new TeamRankingWindowController();
teamRankingWindowController.Initialize(_mainWindow, _viewModel.SelectedSeason, _bettor);
}

public void ExecuteBackCommand(object obj)
{
_view.DataContext = _viewModel;

MainWindow.Content = _view;
MainWindow.Width = 1200;
MainWindow.Height = 800;
_mainWindow.Content = _view;
_mainWindow.Width = 1200;
_mainWindow.Height = 800;
}
#endregion
}
}
Loading

0 comments on commit a081a8c

Please sign in to comment.