Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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));
        }