protected void grdRules_RowCommand(object sender, GridViewCommandEventArgs e) { if(e.CommandName == "New") { //get the highest sort order and add that to the list. Add some random rules and save and show rules using (var db = Global.GetConnection()) { var highestSortOrder = db.Inti_TournamentRule.Where(r => r.TournamentGUID == SessionProps.SelectedTournament.GUID).Max( r => r.SortOrder); var newRule = new Inti_TournamentRule(); newRule.TournamentGUID = SessionProps.SelectedTournament.GUID; newRule.SortOrder = highestSortOrder + 1; newRule.Header = "header"; newRule.Body = "body"; db.Inti_TournamentRule.InsertOnSubmit(newRule); db.SubmitChanges(); } LoadRules(); } }
private void detach_Inti_TournamentRule(Inti_TournamentRule entity) { this.SendPropertyChanging(); entity.Inti_Tournament = null; }
partial void DeleteInti_TournamentRule(Inti_TournamentRule instance);
partial void UpdateInti_TournamentRule(Inti_TournamentRule instance);
partial void InsertInti_TournamentRule(Inti_TournamentRule instance);
protected void btnSave_Click(object sender, EventArgs e) { if (TourId != Guid.Empty) { //update this tournament using (var db = Global.GetConnection()) { var tour = db.Inti_Tournament.Single(t => t.GUID == TourId); tour.Name =TournamentName.Text; tour.Description = TournamentDescription.Text; tour.PublicateDate = DateTime.Parse(PublicateDate.Text); tour.StartRegistration = DateTime.Parse(StartRegistration.Text); tour.EndRegistration = DateTime.Parse(EndRegistration.Text); tour.NmbrOfClubs = int.Parse(NmbrOfClubs.Text); tour.NmbrOfDays = int.Parse(NmbrOfDays.Text); tour.NmbrOfTransfers = int.Parse(NmbrOfTransfers.Text); tour.Budget = int.Parse(Budget.Text); tour.IncludeManager = IncludeManager.Checked; db.SubmitChanges(); } } else { using (var db = Global.GetConnection()) { var tour = new Inti_Tournament(); tour.Name = TournamentName.Text; tour.Description = TournamentDescription.Text; tour.PublicateDate = DateTime.Parse(PublicateDate.Text); tour.StartRegistration = DateTime.Parse(StartRegistration.Text); tour.EndRegistration = DateTime.Parse(EndRegistration.Text); tour.NmbrOfClubs = int.Parse(NmbrOfClubs.Text); tour.NmbrOfDays = int.Parse(NmbrOfDays.Text); tour.NmbrOfTransfers = int.Parse(NmbrOfTransfers.Text); tour.Budget = int.Parse(Budget.Text); tour.IncludeManager = IncludeManager.Checked; db.Inti_Tournament.InsertOnSubmit(tour); //insert rules var headers = new List<string> {"Insats", "Betalning", "Spelarlista", "Budget", "System", "Byten", "Pottfördelning", "Vid samma poäng", "Vid samma poäng II", "Poäng för manager", "Poäng för mål", "Hålla nollan", "Minuspoäng", "Bonuspoäng", "Deadline"}; var bodies = new List<string>(){"100 kr exkl. payson-avgifter", "Detta sker uteslutande via payson.se När man lagt till ett lag får man upp en länk som man ska följa. För denna service tar payson en symbolisk avgift som läggs på hundringen.", "Hämtas från <a target=\"_blank\" href=\"http://www.fantasyleague.com\">www.fantasyleague.com</a>. Vi försöker hålla vår lista uppdaterad så gott det går. Saknar du en viss spelare så flagga upp på forumet om det. Spelaren måste dock vara upplagd på fantasy league för att vi ska agera.", Budget.Text, "Godkända system är: 3-5-2,3-4-3,4-4-2,4-5-1,4-3-3,5-4-1 eller 5-3-2.", tour.NmbrOfTransfers + " byten får göras under vissa transferfönster. Dessa annonseras på förstasidan. Även manager får bytas. Det nya laget gäller för alla matcher som spelas efter att transferfönstret stängts.", "Flest poäng vinner 70% av potten, tvåan får 20%, trean får 5%.", "Om 2 eller fler spelare slutar på samma poäng är det deltagaren som har spenderat minst pengar på spelarköp som vinner. Vi räknar då med det genomsnittliga priset för alla spelare som ingått i laget under tävlingen, så det spelar ingen roll hur många eller få spelare man byter.", "Om två eller fler lag inte går att skilja med poäng och budget, så delar de lagen på de placeringar som de upptar. Motsvarande pott-pengar delas lika mellan dessa lagen.", "3p för vinst<br>1p för oavgjort<br>(Då förlängning och straffavgörande förekommer räknas slutresultatet)", "Målvakt: 7p<br>Back: 6p<br>Mittfältare: 5p<br>Anfallare: 4p<br>Straffmål: 2p (gäller ej straffavgörande)", "Målvakt: 4p<br>Back: 2p<br>(Man måste ha spelat minst 45 minuter för att få poäng för att hålla nollan)<br>(Då förlängning förekommer räknas bara resultat vid fulltid)", "Rött kort: -5p<br>Självmål: -3p<br>Missad straff i straffavgörande: -2p", "För att göra hemsidan lite roligare får du 2 bonuspoäng om du laddar upp en bild på dig själv. Notera att du numera laddar upp en bild per lag.", "Senast " + tour.EndRegistration.ToShortDateString() + " kl " + tour.EndRegistration.ToString("HH:mm") + " ska ditt lag vara betalt och skickat."}; for (int i = 0; i < headers.Count; i++) { var rule = new Inti_TournamentRule(); rule.Inti_Tournament = tour; rule.SortOrder = i; rule.Header = headers[i]; rule.Body = bodies[i]; db.Inti_TournamentRule.InsertOnSubmit(rule); } //add forum category var forumCategory = new Ext_ForumCategory(); forumCategory.Inti_Tournament = tour; forumCategory.Name = tour.Name + ", diverse"; db.Ext_ForumCategory.InsertOnSubmit(forumCategory); //set penalty miss point event if euro/world cup if (tour.Name.StartsWith("EM") || tour.Name.StartsWith("VM")) { var pointEvent = db.Inti_PointEvent.Single(pe => pe.GUID == new Guid("4E304B11-8937-405A-98DC-72D896F7A89E")); pointEvent.Inti_Tournament = tour; } db.SubmitChanges(); } } }
private void CopyFromTournament(Guid tournamentId) { using (var db = Global.GetConnection()) { var oldRules = from r in db.Inti_TournamentRule where r.TournamentGUID == SessionProps.SelectedTournament.GUID select r; if(oldRules.ToList().Count == 0) { var rulesToCopy = from r in db.Inti_TournamentRule where r.TournamentGUID == tournamentId select r; foreach (var rule in rulesToCopy) { var newRule = new Inti_TournamentRule(); newRule.Header = rule.Header; newRule.TournamentGUID = SessionProps.SelectedTournament.GUID; newRule.Body = rule.Body; newRule.SortOrder = rule.SortOrder; db.Inti_TournamentRule.InsertOnSubmit(newRule); } db.SubmitChanges(); //refresh the rules LoadRules(); } } }