예제 #1
0
        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            _boardViewModel      = ServiceProvider.GetService <ScoreBoardViewModel>();
            _vm                  = ServiceProvider.GetService <OmlViewModel>();
            _vm.PropertyChanged += VmOnPropertyChanged;

            if (savedInstanceState != null && savedInstanceState.ContainsKey(SelectedItem))
            {
                _selectedItem = savedInstanceState.GetInt(SelectedItem);
            }

            var editFragment =
                (OmlItemEditFragment)Activity.SupportFragmentManager.FindFragmentByTag(OmlItemEditFragment
                                                                                       .FragmentTag);

            if (editFragment != null)
            {
                editFragment.SetItemData(_vm.Teams[_selectedItem]);
                editFragment.ItemEdited += OnItemEdited;
            }

            var confirmationFragment =
                (OmlSendingConfirmationFragment)Activity.SupportFragmentManager.FindFragmentByTag(
                    OmlSendingConfirmationFragment.FragmentTag);

            if (confirmationFragment != null)
            {
                confirmationFragment.SetViewModelData(_vm.Teams[_selectedItem]);
                confirmationFragment.Confirmed += ConfirmationDialogOnConfirmed;
            }
        }
예제 #2
0
        public async Task <IActionResult> Oml()
        {
            var vm = new OmlViewModel();

            var round    = Int32.Parse(TempData["round"].ToString());
            var tour     = Int32.Parse(TempData["tour"].ToString());
            var category = (string)TempData["category"];
            var judge    = JsonConvert.DeserializeObject <RROJudge>(TempData["judge"].ToString());
            var teams    = JsonConvert.DeserializeObject <List <RROTeam> >(TempData["teams"].ToString());

            var preResultResponse = await new HttpClient()
                                    .GetAsync($"https://rro.azurewebsites.net/api/omlpreresults?polygon={judge.Polygon}");

            if (!preResultResponse.IsSuccessStatusCode)
            {
                return(StatusCode(500));
            }

            var preResultTeamsJson = await preResultResponse.Content.ReadAsStringAsync();

            var preResultTeams =
                JsonConvert.DeserializeObject <List <OmlScore> >(preResultTeamsJson);

            foreach (var team in teams)
            {
                var temp = preResultTeams.Find(t => t.TeamId == team.TeamId);
                if (temp == null)
                {
                    vm.Teams.Add(new OmlScoreViewModel {
                        TeamId = team.TeamId
                    });
                    continue;
                }
                vm.Teams.Add(new OmlScoreViewModel
                {
                    TeamId = temp.TeamId,
                    Saved  = temp.Saved
                });
            }

            vm.JudgeName    = judge.JudgeName;
            vm.Polygon      = judge.Polygon;
            vm.Category     = category;
            vm.CurrentRound = round;

            ViewData["Polygon"]   = vm.Polygon;
            ViewData["Tour"]      = tour;
            ViewData["Category"]  = vm.Category;
            ViewData["JudgeName"] = vm.JudgeName;
            ViewData["Round"]     = round;

            return(View(vm));
        }