private void AddResult(Competition competition, AdminResult adminResult) { // find player using (var session = NHibernateFactory.OpenSession()) { var player = session.Query <Player>().FirstOrDefault(p => p.PdgaNumber == adminResult.PDGA); if (player == null) { // hämta från PDGA PDGASaker.PDGAPlayer pdgaPlayer = PDGASaker.PDGARESTApi.GetMemberInfo(adminResult.PDGA, WebConfigurationManager.AppSettings["PDGAUsername"], WebConfigurationManager.AppSettings["PDGAPassword"]); if (pdgaPlayer != null) { var newPlayer = new Player(); newPlayer.PdgaNumber = pdgaPlayer.pdga_number; newPlayer.LastName = pdgaPlayer.last_name; newPlayer.FirstName = pdgaPlayer.first_name; newPlayer.Rating = pdgaPlayer.rating; newPlayer.RatingDate = DateTime.Now; session.Save(newPlayer); player = newPlayer; } } if (player == null) { return; } var result = new Result(); result.Competition = competition; result.Player = player; result.R1 = int.Parse(adminResult.R1); result.R2 = int.Parse(adminResult.R2); result.Total = int.Parse(adminResult.Total); result.Place = int.Parse(adminResult.Place); session.Save(result); } }
public ActionResult Registration(RegistrationViewModel vm, string registreraAnmalan, string kontrolleraPDGA) { if (kontrolleraPDGA != null) { // kontrollera PDGA nummer if (!string.IsNullOrEmpty(vm.PDGANummer)) { vm.PDGANummer = vm.PDGANummer.Trim(); int pdgaNummer = 0; if (int.TryParse(vm.PDGANummer, out pdgaNummer)) { // kontrollera om redan registrerad i systemet var player = HamtaPlayer(vm.PDGANummer); if (player != null) { vm.SpelareId = player.Id; vm.Fornamn = player.FirstName; vm.Efternamn = player.LastName; if (player.RatingDate.Year != DateTime.Now.Year) { PDGASaker.PDGAPlayer pdgaPlayer = PDGASaker.PDGARESTApi.GetMemberInfo(vm.PDGANummer, WebConfigurationManager.AppSettings["PDGAUsername"], WebConfigurationManager.AppSettings["PDGAPassword"]); if (pdgaPlayer != null && pdgaPlayer.pdga_number != null && pdgaPlayer.membership_status == "current") { UpdateRating(vm.PDGANummer, pdgaPlayer.rating, DateTime.Now); player.Rating = pdgaPlayer.rating; } } int playerRating = 0; int.TryParse(player.Rating, out playerRating); if (playerRating >= 900 || (player.WildCardYear != null && player.WildCardYear == DateTime.Now.Year)) { vm.SpelareOk = true; } } else // om inte i systemet kontrollera med PDGA { PDGASaker.PDGAPlayer pdgaPlayer = PDGASaker.PDGARESTApi.GetMemberInfo(vm.PDGANummer, WebConfigurationManager.AppSettings["PDGAUsername"], WebConfigurationManager.AppSettings["PDGAPassword"]); int playerRating = 0; int.TryParse(pdgaPlayer.rating, out playerRating); if (pdgaPlayer != null && pdgaPlayer.pdga_number != null && pdgaPlayer.membership_status == "current" && playerRating >= 900) { vm.SpelareOk = true; vm.Fornamn = pdgaPlayer.first_name; vm.Efternamn = pdgaPlayer.last_name; var playerModel = new Player(); playerModel.FirstName = pdgaPlayer.first_name; playerModel.LastName = pdgaPlayer.last_name; playerModel.PdgaNumber = pdgaPlayer.pdga_number; playerModel.Rating = pdgaPlayer.rating; playerModel.RatingDate = DateTime.Now; SparaPlayer(playerModel); vm.SpelareId = playerModel.Id; } else { if (playerRating < 900 && pdgaPlayer.membership_status == "current") { vm.Meddelande = "Din rating måste vara 900 eller högre"; } else { vm.Meddelande = string.Format("Angivet PDGAnummer: {0} är inte Ok!", vm.PDGANummer); } } } } else { vm.Meddelande = string.Format("Angivet PDGAnummer: {0} är inte numeriskt!", vm.PDGANummer); } } } else if (registreraAnmalan != null) { // registrera anmälan if (registreraAnmalan.Contains("1")) { vm.TavlingsId = vm.Competitions[0].CompetitionId; } else if (registreraAnmalan.Contains("2")) { vm.TavlingsId = vm.Competitions[1].CompetitionId; } else if (registreraAnmalan.Contains("3")) { vm.TavlingsId = vm.Competitions[2].CompetitionId; } else if (registreraAnmalan.Contains("4")) { vm.TavlingsId = vm.Competitions[3].CompetitionId; } else if (registreraAnmalan.Contains("5")) { vm.TavlingsId = vm.Competitions[4].CompetitionId; } RegistreraAnmalan(vm); //vm.SpelareAnmald = true; } vm.Competitions = GetPlayerCompetitions(vm.SpelareId); return(View(vm)); }