예제 #1
0
 private void Exit_Clicked(object sender, RoutedEventArgs e)
 {
     UserInfo.UserName       = "";
     UserInfo.Password       = "";
     UserInfo.IsLogged       = false;
     UserName.Text           = "";
     Password.Password       = "";
     Login_Button.Visibility = Visibility.Visible;
     UserInfoState.Hide();
     errorMessage.Text = "";
     ContentFrame.Navigate(typeof(Home));
     BattleVM.GetBattleVM().AllBattles.Clear();
     AthleteVM.GetAthleteVM().AllAthletes.Clear();
     MatchesVM.GetMatchesVM().AllMatches.Clear();
     ResultVM.GetResultVM().AllResults.Clear();
     NavMenuPrimaryListView.IsItemClickEnabled = false;
     NavMenuBottomListView.IsItemClickEnabled  = false;
     NavMenuMatchListView.Visibility           = Visibility.Collapsed;
     NavMenuMatchInfoListView.Visibility       = Visibility.Collapsed;
     API.GetAPI().SignOut();
 }
예제 #2
0
        private async void GenerateNextRound_Click(object sender, RoutedEventArgs e)
        {
            foreach (var Result in resultVM.AllResults)
            {
                if (Result.winAthleteNum == 0)
                {
                    await new MessageDialog("还有对战未确认获胜运动员").ShowAsync();
                    return;
                }
            }

            JArray winnerIdArray = new JArray();

            foreach (var Result in resultVM.AllResults)
            {
                if (Result.winAthleteNum == 1)
                {
                    winnerIdArray.Add(Result.battle.athlete1.id);
                }
                else if (Result.winAthleteNum == 2)
                {
                    winnerIdArray.Add(Result.battle.athlete2.id);
                }
            }
            //Debug.WriteLine(winnerIdArray.ToString());
            JObject result = await Internet.API.GetAPI().getNextMatch(BattleVM.GetBattleVM().round.ToString(), winnerIdArray, matchesVM.SelectedMatch.name, matchesVM.SelectedMatch.matchEvent, matchesVM.SelectedMatch.matchType);

            //Debug.WriteLine(result);
            string round  = result["data"]["round"].ToString();
            JToken groups = result["data"]["groups"];

            //athleteVM.AllAthletes.Clear();
            //Battle BattleTableTitle = battleVM.AllBattles[0];
            battleVM.AllBattles.Clear();
            //battleVM.AllBattles.Add(BattleTableTitle);

            //Result ResultTableTitle = resultVM.AllResults[0];
            resultVM.AllResults.Clear();
            //resultVM.AllResults.Add(ResultTableTitle);
            battleVM.round = battleVM.round + 1;

            foreach (JToken group in groups)
            {
                string groupId = group["group"].ToString();
                JToken battles = group["battles"];

                foreach (JToken battle in battles)
                {
                    //battle id
                    string _id = battle["_id"].ToString();

                    // winnerName
                    string winnerName = "";
                    int    winnerNum  = 0;

                    if (battle["winner"].ToString() != "")
                    {
                        winnerNum = battle["winner"].ToString()[0] - '0';
                        if (winnerNum == 1)
                        {
                            winnerName = battle["athleteA"]["athlete"]["姓名"].ToString();
                        }
                        else if (winnerNum == 2)
                        {
                            winnerName = battle["athleteB"]["athlete"]["姓名"].ToString();
                        }
                    }

                    Athlete A = null, B = null;

                    //athleteA
                    JToken athleteA = battle["athleteA"];
                    //轮空选手为空
                    if (athleteA.ToString() != null)
                    {
                        string athleteAId = athleteA["_id"].ToString();
                        //Debug.WriteLine(athleteAId);
                        JToken infoA = athleteA["athlete"];
                        //Debug.WriteLine(infoA);
                        A = new Athlete(athleteAId, infoA["姓名"].ToString(), infoA["性别"].ToString(), infoA["身份证"].ToString(), infoA["手机号"].ToString(), infoA["积分"].ToString(), "0");
                    }

                    //athleteB
                    JToken athleteB = battle["athleteB"];
                    //轮空选手为空
                    if (athleteB.ToString() != "")
                    {
                        string athleteBId = athleteB["_id"].ToString();
                        JToken infoB      = athleteB["athlete"];
                        //Debug.WriteLine(infoB);
                        B = new Athlete(athleteBId, infoB["姓名"].ToString(), infoB["性别"].ToString(), infoB["身份证"].ToString(), infoB["手机号"].ToString(), infoB["积分"].ToString(), "0");
                    }

                    /*
                     * if (A != null)
                     *  athleteVM.AllAthletes.Add(A);
                     * if (B != null)
                     *  athleteVM.AllAthletes.Add(B);
                     */
                    Battle newbattle = new Battle(_id, groupId, A, B);
                    battleVM.AllBattles.Add(newbattle);
                    resultVM.AllResults.Add(new Result(newbattle, winnerName, winnerNum));
                }
            }
            MainPage.Curr.ContentFrame.Navigate(typeof(Battles));
            if (navMenuItemVM.SecondarySelectedItem != null)
            {
                navMenuItemVM.SecondarySelectedItem.Selected = Visibility.Collapsed;
            }
            navMenuItemVM.SecondarySelectedItem          = navMenuItemVM.NavMenuMatchInfoItem[1];
            navMenuItemVM.SecondarySelectedItem.Selected = Visibility.Visible;
            await new MessageDialog("成功生成下一轮").ShowAsync();
        }
예제 #3
0
 public BattleLogDetailsView(BattleVM viewModel)
 {
     DataContext = viewModel;
     InitializeComponent();
 }
예제 #4
0
 public BattleLogDetailsView(BattleVM viewModel)
 {
     ViewModel = viewModel;
     InitializeComponent();
 }
예제 #5
0
        private async void ExportExcel_Click(object sender, RoutedEventArgs e)
        {
            FileSavePicker savePicker = new FileSavePicker();

            savePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
            savePicker.FileTypeChoices.Add("Excel", new List <string>()
            {
                ".xlsx"
            });
            savePicker.SuggestedFileName = Title.Text;
            StorageFile file = await savePicker.PickSaveFileAsync();

            using (ExcelPackage package = new ExcelPackage(await file.OpenStreamForWriteAsync()))
            {
                ExcelWorksheet battlesSheet;
                try{
                    battlesSheet = package.Workbook.Worksheets.Add("battlesSheet");
                }
                catch (Exception) {
                    package.Workbook.Worksheets.Delete("battlesSheet");
                    battlesSheet = package.Workbook.Worksheets.Add("battlesSheet");
                }
                battlesSheet.Cells["A1:C1"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
                battlesSheet.Cells["A1:C1"].Merge = true;
                battlesSheet.Cells["A1:C1"].Value = Title.Text + " (第" + battleVM.round.ToString() + "轮)";

                /*battlesSheet.Cells["A2"].Value = "运动员";
                 * battlesSheet.Cells["B2"].Value = "VS";
                 * battlesSheet.Cells["C2"].Value = "运动员";
                 */
                string groupIndex = battleVM.AllBattles[0].groupIndex;
                if (matchesVM.SelectedMatch.matchType == "GroupLoop")
                {
                    groupIndex = "0";
                }
                int index = 3;
                foreach (var battle in BattleVM.GetBattleVM().AllBattles)
                {
                    if (battle.groupIndex != groupIndex)
                    {
                        battlesSheet.Cells[++index, 2].Value = "第" + battle.groupIndex + "组";
                        groupIndex = battle.groupIndex;
                        index++;
                    }
                    Debug.WriteLine(index);
                    if (battle.athlete1 != null)
                    {
                        Debug.Write(battle.athlete1.name);
                        battlesSheet.Cells[index, 1].Value = battle.athlete1.name;
                    }
                    battlesSheet.Cells[index, 2].Value = "vs";
                    if (battle.athlete2 != null)
                    {
                        Debug.WriteLine(" " + battle.athlete2.name);
                        battlesSheet.Cells[index, 3].Value = battle.athlete2.name;
                    }
                    index++;
                }
                package.Save();
            }
            await new MessageDialog("成功导出到" + Title.Text + ".xlsx").ShowAsync();
        }