protected void btnReDistributePointsForFullDay_Click(object sender, EventArgs e)
        {
            var matchManagement = new MatchManagement(Global.ConnectionString, SessionProps);

            using (var db = Global.GetConnection())
            {

                var tourDay = int.Parse(drpTourDay.SelectedValue);
                var matches = from m in db.Inti_Match
                              where m.TournamentGUID == SessionProps.SelectedTournament.GUID
                                    && m.TourDay == tourDay
                                    && m.IsUpdated == true
                              select m;

                lblUpdateProgress.Text = "";

                foreach (var match in matches)
                {
                    //clear the points
                    matchManagement.ClearTeamPoints(match.GUID);

                    matchManagement.DistributePoints(match.GUID);

                    lblUpdateProgress.Text += String.Format("{0} - {1}<br>", match.HomeClubInti_Club.Name,
                                                            match.Inti_Club.Name);
                }

                SwitchStep(0);
            }
        }
 public void LoadChangeLog(Guid objectID)
 {
     using(var db = Global.GetConnection())
     {
         var matchManagement = new MatchManagement(Global.ConnectionString, SessionProperties);
         var q = from cl in matchManagement.GetChangeLog(db, objectID)
                 select new
                 {
                     cl.LogDate,
                     cl.Action,
                     UserName = cl.Sys_User.FirstName + " " + cl.Sys_User.LastName,
                     cl.Client,
                     cl.Message
                 };
         grdChangeLog.DataSource = q.Take(25).OrderByDescending(cl=>cl.LogDate);
         grdChangeLog.DataBind();
     }
 }
        protected void btnDistributePoints_Click(object sender, EventArgs e)
        {
            var matchManagement = new MatchManagement(Global.ConnectionString, SessionProps);

            ClearPointEvents(true);

            if (MatchId != Guid.Empty)
            {
                matchManagement.DistributePoints(MatchId);

                lblUpdateProgress.Text = "Matchen uppdaterad!";

                //try to send tweet
                SendMatchTweet(MatchId, matchManagement);

                SwitchStep(0);

            }
        }
        private void SendMatchTweet(Guid matchId, MatchManagement matchManagement)
        {
            try
            {

                //compile match text
                var matchText = matchManagement.GetMatchText(matchId);
                lblUpdateProgress.Text += "<BR>" + matchText;

                var url = "http://interntipset.com/Match/" + matchId.ToString();
                Global.SendTweet(matchText, url, SessionProps);

            }
            catch (Exception ex)
            {
                lblUpdateProgress.Text += "<BR>Kunde inte twittra:<BR>";
                lblUpdateProgress.Text += ex.GetType().Name;
                lblUpdateProgress.Text += ex.Message;
            }
        }
        private void ClearPointEvents(bool onlyTeamPointEvents)
        {
            if (MatchId != Guid.Empty)
            {

                var matchManagement = new MatchManagement(Global.ConnectionString, SessionProps);

                if (onlyTeamPointEvents)
                    matchManagement.ClearTeamPoints(MatchId);
                else
                    matchManagement.ClearPointEvents(MatchId);
            }
        }