Example #1
0
 public PlayerDetail()
 {
     InitializeComponent();
     _vm = new PlayerDetailViewModel(MainPage.SelectedPlayer);
     this.DataContext = _vm;
     SetText();
 }
Example #2
0
        public PlayerDetailPage()
        {
            var player = new Player();

            PlayerDetailViewModel = new PlayerDetailViewModel(player);
            BindingContext        = PlayerDetailViewModel;
        }
Example #3
0
 public PlayerDetailView(PlayerInTeam player)
 {
     InitializeComponent();
     DataContext       = new PlayerDetailViewModel(player);
     buttonHighlighter = new RadioBackgroundControlHighlighter(
         (SolidColorBrush)FindResource("buttonStandartColor"),
         (SolidColorBrush)FindResource("buttonHighlightColor")
         );
 }
Example #4
0
        // GET: Player/Details/5
        public ActionResult Details(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            PlayerDetailViewModel playerDetails = new PlayerDetailViewModel((int)id);

            return(View(playerDetails));
        }
        public PlayerDetailPage(Player player)
        {
            InitializeComponent();
            BindingContext = new PlayerDetailViewModel();

            // assign passed course item to viewmodel Course
            viewModel.Player = player;

            //Title = viewModel.Course.CourseName;
            Title = viewModel.Player.PlayerName ?? "Add New Player";

            viewModel.IsNew = (player.PlayerName == null);
        }
        public PlayerDetailPage()
        {
            InitializeComponent();

            var Player = new Player
            {
                Name     = "Jan Hellmich",
                Initials = "JH",
                UserName = "******",
                Handicap = 11.9,
                Birthday = new DateTime(1966, 10, 11)
            };

            viewModel      = new PlayerDetailViewModel(Player);
            BindingContext = viewModel;
        }
Example #7
0
 public PlayerDetailPage(PlayerDetailViewModel PlayerDetailViewModel)
 {
     InitializeComponent();
     BindingContext = this.PlayerDetailViewModel = PlayerDetailViewModel;
 }
Example #8
0
        public ActionResult Detail(string tag)
        {
            Stopwatch stopwatch = new Stopwatch();

            stopwatch.Start();
            string logmessage = stopwatch.ElapsedMilliseconds + "| Starting detail for player " + tag + "\n";

            //var allPlayers = from p in db.Players orderby p.Tag select p;
            tag = HttpUtility.UrlDecode(tag);
            bool noRewrite = Convert.ToBoolean(Request["noRewrite"]);
            int? id        = null;

            try
            {
                id = Convert.ToInt32(tag);
            }
            catch (FormatException e)
            {
            }
            Player player;

            if (id == null)
            {
                logmessage += stopwatch.ElapsedMilliseconds + "| Looking up player\n";
                var players = from p in db.Players
                              where p.Tag.Equals(tag)
                              select p;
                logmessage += stopwatch.ElapsedMilliseconds + "| LINQ call complete\n";
                if (players.Count(c => true) > 1)
                {
                    return(View("SearchFoundMultiple", players));
                }
                player      = players.FirstOrDefault();
                logmessage += stopwatch.ElapsedMilliseconds + "| Player selected\n";
            }
            else
            {
                player = db.Players.Find(id);
                if (!noRewrite && player.Tag.Equals(player.URL))
                {
                    return(RedirectToAction("Detail", new { tag = player.Tag }));
                }
            }
            if (player == null)
            {
                return(RedirectToAction("Index"));
            }
            logmessage += stopwatch.ElapsedMilliseconds + "| Finding opponent sets\n";
            var opponentSets = (from s in db.Sets
                                where s.LoserID == player.PlayerId || s.WinnerID == player.PlayerId
                                select new List <int>()
            {
                s.WinnerID, s.LoserID
            });
            var opponentIDs = new HashSet <int>(opponentSets.SelectMany(s => s));

            logmessage += stopwatch.ElapsedMilliseconds + "| Opponent sets finished\n";
            logmessage += stopwatch.ElapsedMilliseconds + "| Players to dict start\n";
            Dictionary <int, string> IdToTag = (from p in db.Players
                                                where opponentIDs.Contains(p.PlayerId)
                                                select new { id = p.PlayerId, tag = p.Tag }).ToDictionary(p => p.id, p => p.tag);

            logmessage += stopwatch.ElapsedMilliseconds + "| Players to dict end\n";
            var tournaments = from t in db.Tournaments select t;

            logmessage += stopwatch.ElapsedMilliseconds + "| Opponents start\n";
            var opponentLinq = from p in db.Players
                               where opponentIDs.Contains(p.PlayerId)
                               select p;
            string query     = String.Format("SELECT * FROM Players WHERE PlayerId IN ({0})", String.Join(",", opponentIDs));
            var    opponents = db.Database.SqlQuery <Player>(query).ToList();

            logmessage += stopwatch.ElapsedMilliseconds + "| Opponents end\n";
            logmessage += stopwatch.ElapsedMilliseconds + "| Get recent sets start\n";
            List <BiasedSet> sets = getRecentSets(player.PlayerId, IdToTag, tournaments, opponents);

            logmessage += stopwatch.ElapsedMilliseconds + "| Get recent sets end\n";
            logmessage += stopwatch.ElapsedMilliseconds + "| Set counts start\n";
            int wins   = sets.Count(s => s.won);
            int draws  = sets.Count(s => s.isDraw);
            int losses = sets.Count(s => !s.won && !s.isDraw);

            logmessage += stopwatch.ElapsedMilliseconds + "| Set counts end\n";

            if (Convert.ToBoolean(Session["userModerator"]))
            {
                ViewBag.JavascriptIncludes.Add("~/Scripts/Player-Admin.js");
            }

            logmessage += stopwatch.ElapsedMilliseconds + "| Elo scores start\n";
            var eloScores = from es in db.EloScores
                            where es.PlayerID == player.PlayerId
                            orderby es.Date ascending
                            select new { Month = es.Date.Month - 1, Year = es.Date.Year, Day = es.Date.Year, ELO = es.ELO };

            logmessage += stopwatch.ElapsedMilliseconds + "| Elo scores end\n";

            List <object[]> data = new List <object[]>();

            foreach (var score in eloScores)
            {
                object[] tmp = new object[2];
                //month - 1 because javascript thinks january is 0 but C# thinks january is 1
                tmp[0] = new { month = score.Month - 1, year = score.Year, day = score.Day };
                tmp[1] = Convert.ToInt32(score.ELO);
                data.Add(tmp);
            }
            var eloData = new { data = data.ToArray() };
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            logmessage += stopwatch.ElapsedMilliseconds + "| All players start\n";
            var allPlayers = db.Players.Select(p => p).ToList();

            logmessage += stopwatch.ElapsedMilliseconds + "| All players end\n";
            log(logmessage.Replace("\n", "<br>"));
            var vm = new PlayerDetailViewModel(player, wins, losses, draws, sets, serializer.Serialize(eloData), allPlayers);

            db.Dispose();
            return(View(vm));
        }
Example #9
0
 public PlayerDetailPage(PlayerDetailViewModel viewModel)
 {
     InitializeComponent();
     FlowListView.Init();
     BindingContext = viewModel;
 }
Example #10
0
        public ItemDetailPage(PlayerDetailViewModel viewModel)
        {
            InitializeComponent();

            BindingContext = this.viewModel = viewModel;
        }