public void TestAthleteDAtoVM()
        {
            AthleteDA source = new AthleteDA {
                AthleteID = 1, AthleteName = "Niall Martin", DateOfBirth = new DateTime(2006, 06, 10), GroupID = 1, GroupName = "Under 10s", AgeGroup = new GroupDA(), IsDeleted = false, Results = new List <ResultDA>()
            };
            AthleteVM dest = new AthleteVM();

            Assert.IsNull(dest.AthleteName);
            Mapper.Map(source, dest);
            Assert.AreEqual("Niall Martin", dest.AthleteName);
        }
Пример #2
0
        //GET: Create
        public ViewResult Create()
        {
            try
            {
                AthleteVM athlete = new AthleteVM();

                return(View("Create", athlete));
            }
            catch (Exception e)
            {
                throw (new Exception("Error occured in AthleteController.Create()"));
            }
        }
        private bool athleteFilter(object item)
        {
            if (_athleteFilterString == null)
            {
                return(true);
            }
            AthleteVM athlete = item as AthleteVM;

            // Is case sensitive
            //return athlete.Athlete.Fullname.Contains(_athleteFilterString);

            // is case insensitive
            return(athlete.Athlete.Fullname.IndexOf(_athleteFilterString, StringComparison.OrdinalIgnoreCase) >= 0);
        }
Пример #4
0
        //GET: Delete
        public ViewResult Delete(int athleteID)
        {
            AthleteVM athlete       = new AthleteVM();
            AthleteDA athleteSource = new AthleteDA();

            try
            {
                athleteSource = DataAccessServiceController.AthleteService.GetAthleteByID(athleteID);

                Mapper.Map(athleteSource, athlete);

                return(View("Delete", athlete));
            }
            catch (Exception e)
            {
                throw (new Exception("Error occured in AthleteController.Delete(athleteID)"));
            }
        }
Пример #5
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();
 }
Пример #6
0
        private async void listView_ItemClick(object sender, ItemClickEventArgs e)
        {
            string name = (e.ClickedItem as Matches).name;

            foreach (Matches match in matchesVM.AllMatches)
            {
                if (match.name == name)
                {
                    MainPage.Curr.NavMenuMatchListView.Visibility     = Visibility.Visible;
                    MainPage.Curr.NavMenuMatchInfoListView.Visibility = Visibility.Visible;
                    navMenuItemVM.NavMenuMatchItem[0].text            = name;

                    if (navMenuItemVM.PrimarySelectedItem != null)
                    {
                        navMenuItemVM.PrimarySelectedItem.Selected = Visibility.Collapsed;
                    }

                    navMenuItemVM.PrimarySelectedItem          = navMenuItemVM.NavMenuMatchItem[0];
                    navMenuItemVM.PrimarySelectedItem.Selected = Visibility.Visible;
                    if (navMenuItemVM.SecondarySelectedItem != null)
                    {
                        navMenuItemVM.SecondarySelectedItem.Selected = Visibility.Collapsed;
                    }
                    navMenuItemVM.SecondarySelectedItem          = navMenuItemVM.NavMenuMatchInfoItem[1];
                    navMenuItemVM.SecondarySelectedItem.Selected = Visibility.Visible;

                    matchesVM.SelectedMatch = match;

                    // 请求数据库刷新更具当前选中的比赛更新VM(包括Athlete、Battle、Result)
                    // matchesVM.SelectedMatch即为当前选中的比赛,包括了name,startTime和matchEvent

                    JObject result = await Internet.API.GetAPI().GetMatchInfo(matchesVM.SelectedMatch.matchEvent, name);

                    //Debug.WriteLine(result);
                    AthleteVM.GetAthleteVM().AllAthletes.Clear();
                    AthleteVM.GetAthleteVM().AllAthletes.Add(new Athlete("序号", "姓名", "性别", "身份证", "联系方式", "积分", "种子序号"));
                    JToken athletes = result["data"]["athletes"];
                    Debug.WriteLine(athletes);
                    foreach (JToken athlete in athletes)
                    {
                        string athleteId   = athlete["_id"].ToString();
                        JToken athleteInfo = athlete["athlete"];
                        AthleteVM.GetAthleteVM().AllAthletes.Add(new Athlete(athleteId, athleteInfo["姓名"].ToString(), athleteInfo["性别"].ToString(), athleteInfo["身份证"].ToString(), athleteInfo["手机号"].ToString(), athleteInfo["积分"].ToString(), "0"));
                    }

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

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

                    //Result ResultTableTitle = resultVM.AllResults[0];
                    resultVM.AllResults.Clear();
                    //resultVM.AllResults.Add(ResultTableTitle);

                    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;

                            //Athlete(string _id, string _name, string _sex, string _idNum, string _phoneNum, string _score, string _seedNum)

                            //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");
                            }
                            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));
                    break;
                }
            }
        }
Пример #7
0
        private async void CreateBattles_Click(object sender, RoutedEventArgs e)
        {
            if (matchLastTime.Text == "" || place.Text == "" || placeContain.Text == "" || sectionPerDay.Text == "")
            {
                await new MessageDialog("请确认信息再进行提交!").ShowAsync();
                return;
            }

            if (MatchSystem.SelectedIndex == 0)
            {
                matchType = "SingleElimination";
            }
            else if (MatchSystem.SelectedIndex == 1)
            {
                matchType = "SingleCycle";
            }
            else
            {
                matchType = "GroupLoop";
            }
            Debug.WriteLine(StartTimePicker.Date.ToString());
            JObject result = await Internet.API.GetAPI().createMatch(athleteDataSet, matchEvent, matchType, NameBox.Text, StartTimePicker.Date.ToString().Split(" ")[0], SeedNumber.Text, matchLastTime.Text, place.Text, placeContain.Text, sectionPerDay.Text);

            Matches newMatch = new Matches(matchEvent, NameBox.Text, StartTimePicker.Date.ToString().Split(" ")[0], matchType, matchLastTime.Text, place.Text, placeContain.Text, sectionPerDay.Text, SeedNumber.Text);

            matchesVM.SelectedMatch = newMatch;
            matchesVM.AllMatches.Add(newMatch);
            TileService.UpdateTileItem();
            Athlete AthleteTableTitle = AthleteVM.GetAthleteVM().AllAthletes[0];

            AthleteVM.GetAthleteVM().AllAthletes.Clear();
            AthleteVM.GetAthleteVM().AllAthletes.Add(AthleteTableTitle);
            JToken athletes = result["data"]["athletes"];

            // Debug.WriteLine(athletes);
            foreach (JToken athlete in athletes)
            {
                string athleteId   = athlete["_id"].ToString();
                JToken athleteInfo = athlete["athlete"];
                AthleteVM.GetAthleteVM().AllAthletes.Add(new Athlete(athleteId, athleteInfo["姓名"].ToString(), athleteInfo["性别"].ToString(), athleteInfo["身份证"].ToString(), athleteInfo["手机号"].ToString(), athleteInfo["积分"].ToString(), "0"));
            }

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

            //Battle BattleTableTitle = battleVM.AllBattles[0];
            battleVM.AllBattles.Clear();
            //battleVM.AllBattles.Add(BattleTableTitle);
            battleVM.round = int.Parse(round);


            //Result ResultTableTitle = resultVM.AllResults[0];
            resultVM.AllResults.Clear();
            //resultVM.AllResults.Add(ResultTableTitle);

            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;

                    //Athlete(string _id, string _name, string _sex, string _idNum, string _phoneNum, string _score, string _seedNum)

                    //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");
                    }
                    Battle newbattle = new Battle(_id, groupId, A, B);
                    battleVM.AllBattles.Add(newbattle);
                    resultVM.AllResults.Add(new Result(newbattle, winnerName, winnerNum));
                }
            }

            MainPage.Curr.NavMenuMatchListView.Visibility = Visibility.Visible;
            navMenuItemVM.NavMenuMatchItem[0].text        = NameBox.Text;
            navMenuItemVM.PrimarySelectedItem.Selected    = Visibility.Collapsed;
            navMenuItemVM.PrimarySelectedItem             = navMenuItemVM.NavMenuMatchItem[0];
            navMenuItemVM.PrimarySelectedItem.Selected    = Visibility.Visible;

            MainPage.Curr.ContentFrame.Navigate(typeof(Battles));
            MainPage.Curr.NavMenuMatchInfoListView.Visibility = Visibility.Visible;
            if (navMenuItemVM.SecondarySelectedItem != null)
            {
                navMenuItemVM.SecondarySelectedItem.Selected = Visibility.Collapsed;
            }
            navMenuItemVM.SecondarySelectedItem          = navMenuItemVM.NavMenuMatchInfoItem[1];
            navMenuItemVM.SecondarySelectedItem.Selected = Visibility.Visible;
            await new MessageDialog("成功创建比赛").ShowAsync();
        }
Пример #8
0
        public ActionResult Create(AthleteVM athlete)
        {
            try
            {
                AthleteDA        athleteDA   = new AthleteDA();
                List <AthleteDA> athleteList = new List <AthleteDA>();

                //set athlete's group depending on athlete's date of birth
                //condition is set by seeing if athlete is less than a certain amount of days old (eg. 4018 days is 11 years ie. 365.25 * 11)
                if ((DateTime.Now - athlete.DateOfBirth).Days < 4018)
                {
                    athlete.GroupID   = 1;
                    athlete.GroupName = "Under 10s";
                }
                else if ((DateTime.Now - athlete.DateOfBirth).Days >= 4018 && (DateTime.Now - athlete.DateOfBirth).Days < 4748)
                {
                    athlete.GroupID   = 2;
                    athlete.GroupName = "Under 12s";
                }
                else if ((DateTime.Now - athlete.DateOfBirth).Days >= 4748 && (DateTime.Now - athlete.DateOfBirth).Days < 5479)
                {
                    athlete.GroupID   = 3;
                    athlete.GroupName = "Under 14s";
                }
                else if ((DateTime.Now - athlete.DateOfBirth).Days >= 5479 && (DateTime.Now - athlete.DateOfBirth).Days < 6209)
                {
                    athlete.GroupID   = 4;
                    athlete.GroupName = "Under 16s";
                }
                else if ((DateTime.Now - athlete.DateOfBirth).Days >= 6209 && (DateTime.Now - athlete.DateOfBirth).Days < 6940)
                {
                    athlete.GroupID   = 5;
                    athlete.GroupName = "Under 18s";
                }
                else if ((DateTime.Now - athlete.DateOfBirth).Days >= 6940 && (DateTime.Now - athlete.DateOfBirth).Days < 8036)
                {
                    athlete.GroupID   = 6;
                    athlete.GroupName = "Under 21s";
                }
                else if ((DateTime.Now - athlete.DateOfBirth).Days >= 8036)
                {
                    athlete.GroupID   = 7;
                    athlete.GroupName = "Senior";
                }

                Mapper.Map(athlete, athleteDA);

                athleteList.Add(athleteDA);
                bool success = DataAccessServiceController.AthleteService.SaveAthletes(athleteList);

                if (success == true)
                {
                    return(RedirectToAction("Success", "Application", new { area = "" }));
                }
                else
                {
                    return(RedirectToAction("Fail", "Application", new { area = "" }));
                }
            }
            catch (Exception e)
            {
                throw (new Exception("Error occured in AthleteController.Create(athlete)"));
            }
        }