using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
namespace Live_Scoring_V1
{
///
/// Interaction logic for Test.xaml
///
public partial class Test : Page
{
//private Dictionary dict = new Dictionary();
DispatcherTimer dt;
public Test()
{
InitializeComponent();
Score SC = new Score();
SC.SetScore(3297);
}
private void YellowPlayer_clicked(object sender, MouseButtonEventArgs e)
{
Grid button = (Grid)sender;
bool Proceed = GetChildren(button,1,1);
int UserID = Int32.Parse(button.Uid);
if (Proceed) {
MessageBox.Show("Proceed Now");
}
}
private static bool GetChildren(Grid grid, int row, int column)
{
bool Elmen =false ;
foreach (UIElement child in grid.Children)
{
//if (Grid.GetRow(child) == row && Grid.GetColumn(child) == column)
//{
string type = Convert.ToString(child.GetType());
//string Name = child.GetValue(TextBlock.NameProperty) as string;
if (Grid.GetRow(child) == row)
{
Grid innerGrid = (Grid)child;
foreach (UIElement elm in innerGrid.Children)
{
if (Grid.GetColumn(elm) == column)
{
TextBlock Text = (TextBlock)elm;
string UID = Text.Uid.ToString();
if (UID=="Return") {
Elmen = true;
}
}
}
}
}
return Elmen;
}
public Dictionary dict = new Dictionary();
int n = 1;
int timesec = 20;
private void CreateTimers()
{
DispatcherTimer timer = new DispatcherTimer();
timer.Tick += timer_Ticke;
//timer.Elapsed += new EventHandler(timer_Tick);
timer.Interval = new TimeSpan(0, 0,1 );
int UserID = 12;
Grid Maingrd = new Grid();
//Maingrd.MouseDown += new MouseButtonEventHandler(YellowPlayer_clicked);
Maingrd.Uid = UserID.ToString();
Maingrd.Margin = new Thickness(10, 30, 0, 20);
Maingrd.Background = Brushes.Yellow;
RowDefinition row1 = new RowDefinition();
RowDefinition row2 = new RowDefinition();
row1.Height = new GridLength(40);
row2.Height = new GridLength(40);
Maingrd.RowDefinitions.Add(row1);
Maingrd.RowDefinitions.Add(row2);
//Add Text
TextBlock Title = new TextBlock();
Title.Text = "Yellow Card";
Title.FontSize = 14;
Title.FontWeight = FontWeights.Bold;
Title.TextAlignment = TextAlignment.Center;
Title.VerticalAlignment = VerticalAlignment.Center;
Title.Margin = new Thickness(10);
Grid GRD = new Grid();
Grid.SetRow(Title, 0);
Grid.SetRow(GRD, 1);
Maingrd.Children.Add(Title);
Maingrd.Children.Add(GRD);
ColumnDefinition Col1 = new ColumnDefinition();
ColumnDefinition Col2 = new ColumnDefinition();
Col1.Width = new GridLength(45);
Col2.Width = new GridLength(65);
GRD.ColumnDefinitions.Add(Col1);
GRD.ColumnDefinitions.Add(Col2);
TextBlock Number = new TextBlock();
Number.Text = "11";
Number.FontSize = 18;
Number.FontWeight = FontWeights.Bold;
Number.TextAlignment = TextAlignment.Center;
Number.VerticalAlignment = VerticalAlignment.Center;
TextBlock Timm = new TextBlock();
Timm.FontSize = 50;
Timm.FontSize = 18;
Timm.FontWeight = FontWeights.Bold;
Timm.TextAlignment = TextAlignment.Center;
Timm.VerticalAlignment = VerticalAlignment.Center;
Timm.Uid = "None";
Timm.Name =Convert.ToString( "Sec_"+timesec);
int min = timesec / 60;
int sec = timesec % 60;
if (min < 10 && sec < 10)
{
Timm.Text = string.Format("0{0}:0{1}", min, sec);
}
else if (min < 10 && sec > 9)
{
Timm.Text = string.Format("0{0}:{1}", min, sec);
}
else if (min > 9 && sec < 10)
{
Timm.Text = string.Format("{0}:0{1}", min, sec);
}
else if (min > 9 && sec > 9)
{
Timm.Text = string.Format("{0}:{1}", min, sec);
}
Border BRD = new Border();
BRD.BorderBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#999"));
BRD.BorderThickness = new Thickness(0, 0, 1, 0);
BRD.Child = Number;
Grid.SetColumn(BRD, 0);
Grid.SetColumn(Timm, 1);
GRD.Children.Add(BRD);
GRD.Children.Add(Timm);
MyTimers.Children.Add(Maingrd);
dict[timer] = Timm;
timer.Start();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
CreateTimers();
n++;
}
private void timer_Ticke(object sender, EventArgs e)
{
DispatcherTimer t = (DispatcherTimer)sender;
TextBlock l = dict[t];
int labelTime = 0;
string Name = l.Name;
var Splitter = Name.Split('_');
if (Int32.TryParse(Splitter[1], out labelTime))
{
labelTime -= 1;
}
l.Name = Convert.ToString("Sec_" + labelTime);
if (labelTime == 0)
{
l.Uid = "Return";
t.Stop();
}
int time =Int32.Parse (Splitter[1])-1;
int min = time / 60;
int sec = time % 60;
if (time % 2 == 0)
{
l.Foreground = Brushes.Red;
}
else
{
l.Foreground = Brushes.White;
}
if (min < 10 && sec < 10) {
l.Text = string.Format("0{0}:0{1}", min, sec);
}
else if (min < 10 && sec > 9)
{
l.Text = string.Format("0{0}:{1}", min, sec);
}
else if (min > 9 && sec < 10)
{
l.Text = string.Format("{0}:0{1}", min, sec);
}
else if (min > 9 && sec > 9)
{
l.Text = string.Format("{0}:{1}", min, sec);
}
}
}
internal class Dictionary
{
}
}