public async Task<ActionResult> AddTeam (int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            var group = await db.Groups.FindAsync(id);
            if (group == null)
            {
                return HttpNotFound();
            }

            var groupTeam = new GroupTeam
            {
                GroupId = group.GroupId,                
            };

            var teams = new List<Team>();
            foreach (var team in group.GroupTeams)
            {
                teams.Add(team.Team);
            }

            ViewBag.TeamId = new SelectList(db.Teams.OrderBy(t => t.Name), "TeamId", "Name");

            return View(groupTeam);
        }
 public GroupMemberRequestViewModel(GroupTeam req)
 {
     UserId  = req.UserId;
     Picture = req.User.Picture;
     Name    = req.User.Name;
     Title   = req.User.Title;
 }
示例#3
0
        public async Task <ActionResult> AddTeam(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var group = await db.Groups.FindAsync(id);

            if (group == null)
            {
                return(HttpNotFound());
            }

            //  CHEJ - Crea un objeto del GroupTeam
            var groupTeam = new GroupTeam
            {
                GroupId = group.GroupId,
            };

            //  CHEJ - Invoca el metodo de carga del ViewBag
            LoadViewBagTeams(group, groupTeam);

            return(View(groupTeam));
        }
示例#4
0
        public async Task <ActionResult> AddTeam(GroupTeam groupTeam)
        {
            if (ModelState.IsValid)
            {
                db.GroupTeams.Add(groupTeam);
                response = await DbHelper.SaveChangeDB(db);

                if (response.IsSuccess)
                {
                    return(RedirectToAction(
                               string.Format("Details/{0}", groupTeam.GroupId)));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, response.Message);
                }
            }

            var group = await db.Groups.FindAsync(groupTeam.GroupId);

            if (group == null)
            {
                return(HttpNotFound());
            }

            //  CHEJ - Carga el ViewBag de Teams
            LoadViewBagTeams(group, groupTeam);

            return(View(groupTeam));
        }
示例#5
0
文件: Group.cs 项目: guivieiras/osu
        public void AddTeam(Team team)
        {
            GroupTeam gt = new GroupTeam(team);

            if (TeamsCount < 8)
            {
                teams.Add(gt);
                allTeams.Add(gt);

                TeamsCount++;
            }
        }
        public async Task<ActionResult> AddTeam(GroupTeam groupTeam)
        {
            if (ModelState.IsValid)
            {
                db.GroupTeams.Add(groupTeam);
                await db.SaveChangesAsync();
                return RedirectToAction(string.Format("Details/{0}", groupTeam.GroupId));
            }

            ViewBag.TeamId = new SelectList(db.Teams.OrderBy(t => t.Name), "TeamId", "Name", groupTeam.TeamId);
            return View(groupTeam);
        }
示例#7
0
        public ActionResult Standing18()
        {
            //ViewBag.Message = "World cup 2018 Info";
            string         json     = string.Empty;
            string         JsonText = FlagsConst.stdLink;
            MatchInfoModel mim      = new MatchInfoModel();

            mim.StdGroup = new List <StandingModel>();
            //using (StreamReader reader = new StreamReader(JsonText))
            //{
            //    json = reader.ReadToEnd();
            //}

            using (WebClient wc = new WebClient())
            {
                json = wc.DownloadString(JsonText);
            }

            JavaScriptSerializer jss = new JavaScriptSerializer();
            var obj = jss.Deserialize <dynamic>(json);
            int len = obj.Length;

            for (int i = 0; i < len; i++)
            {
                StandingModel std = new StandingModel();
                std.name      = obj[i]["name"];
                std.id        = obj[i]["id"];
                std.listStand = new List <GroupTeam>();
                int lende = obj[i]["tableRows"].Length;
                for (int j = 0; j < lende; j++)
                {
                    var match = new GroupTeam();
                    match.TeamName      = obj[i]["tableRows"][j]["team"]["name"];
                    match.TeamId        = obj[i]["tableRows"][j]["team"]["id"];
                    match.TeamFlag      = FlagsConst.ptLink + match.TeamId.ToString() + ".png";
                    match.Position      = obj[i]["tableRows"][j]["position"];
                    match.matchesTotal  = obj[i]["tableRows"][j]["totalFields"]["matchesTotal"];
                    match.winTotal      = obj[i]["tableRows"][j]["totalFields"]["winTotal"];
                    match.drawTotal     = obj[i]["tableRows"][j]["totalFields"]["drawTotal"];
                    match.lossTotal     = obj[i]["tableRows"][j]["totalFields"]["lossTotal"];
                    match.goalsTotal    = obj[i]["tableRows"][j]["totalFields"]["goalsTotal"];
                    match.goalDiffTotal = obj[i]["tableRows"][j]["totalFields"]["goalDiffTotal"];
                    match.pointsTotal   = obj[i]["tableRows"][j]["totalFields"]["pointsTotal"];

                    std.listStand.Add(match);
                }
                mim.StdGroup.Add(std);
            }
            return(PartialView("_Standing18", mim));
        }
示例#8
0
        public async Task <ActionResult> DeleteTeam(int id)
        {
            GroupTeam groupTeam = await db.GroupTeams.FindAsync(id);

            if (groupTeam == null)
            {
                return(HttpNotFound());
            }

            db.GroupTeams.Remove(groupTeam);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
示例#9
0
        public Result AskToJoinRequest(int groupId)
        {
            try
            {
                if (!IsAuthenticated())
                {
                    return(new Result("You must be logged in to do this.", 401));
                }

                var user  = _userManager.GetUserAsync(_http.HttpContext.User).Result;
                var group = _context.Groups.FirstOrDefault(i => i.Id == groupId);
                var req   = _context.GroupTeam.FirstOrDefault(i => i.GroupId == groupId && i.UserId == user.Id);

                if (group == null)
                {
                    return(new Result("Requested group doesn't exist.", 404));
                }

                if (req != null)
                {
                    if (req.Approved)
                    {
                        return(new Result("You already belong to this group.", 400));
                    }
                    else
                    {
                        return(new Result("You already sent this request.", 400));
                    }
                }

                var request = new GroupTeam {
                    GroupId = groupId, UserId = user.Id, RequestDate = DateTime.Now
                };

                _context.GroupTeam.Add(request);
                _context.SaveChanges(true);
            }
            catch (Exception ex)
            {
                LogException(ex);
                return(new Result(ex.Message, 400));
            }

            return(new Result());
        }
示例#10
0
        public async Task <ActionResult> AddTeam(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Group group = await db.Groups.FindAsync(id);

            if (group == null)
            {
                return(HttpNotFound());
            }

            var groupTeam = new GroupTeam
            {
                GroupId = group.GroupId,
            };

            ViewBag.TeamId = new SelectList(db.Teams.OrderBy(t => t.Name), "TeamId", "Name");
            return(View(groupTeam));
        }
        public IActionResult CreateGroupTeam([FromBody] GroupTeamHelper groupTeamHelper)
        {
            try
            {
                if (groupTeamHelper == null)                      //if the group object passed is null.
                {
                    _logger.LogError("GroupTeam object sent from client is null.");
                    return(BadRequest("GroupTeam object is null"));              //return BadRequest status code.
                }

                if (!ModelState.IsValid)                //if the ModelState of groupForm is invalid.
                {
                    _logger.LogError("Invalid groupTeam object sent from client.");
                    return(BadRequest("Invalid model object"));
                }

                //string[] Teams = groupTeamHelper.TeamString.Split(',');

                for (int i = 0; i < groupTeamHelper.teamArray.Length; i++)
                {
                    var groupTeam = new GroupTeam();
                    groupTeam.GroupId = groupTeamHelper.groupId;
                    var Team = _repository.Team.GetTeamById(groupTeamHelper.teamArray[i]);
                    groupTeam.TeamId = Team.TeamId;
                    _repository.GroupTeam.CreateGroupTeam(groupTeam);
                }
                return(Ok());                          //returning the group objects with OK return code.

                //return CreatedAtRoute("GroupTeamById", new { gid = groupTeam.gs_id }, groupTeam);
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside CreateGroupTeam action: {ex.Message}");
                return(StatusCode(500, "Internal server error"));
            }
        }
示例#12
0
        private void BindGroupTeam()
        {
            var list = Team.Cache.GetTeamsByLeagueGuid(new Guid(ddlGroupLeague.SelectedValue));

            lbLeagueTeam.DataSource     = list;
            lbLeagueTeam.DataTextField  = "TeamDisplayName";
            lbLeagueTeam.DataValueField = "ID";
            lbLeagueTeam.DataBind();

            #region Set lbLeagueTeam Selected Items

            if (SelectedGroup != Guid.Empty)
            {
                foreach (ListItem item in lbLeagueTeam.Items)
                {
                    if (GroupTeam.IsExistRelationGroupTeam(SelectedGroup, new Guid(item.Value)))
                    {
                        item.Selected = true;
                    }
                }
            }

            #endregion
        }
示例#13
0
        private void StageNumberOne(ref Result methodResult)
        {
            List <ITeam> teams = new List <ITeam>();

            teams.AddRange(GameEntityHolder.Teams);
            int currentCommand;
            int minRange = 0, maxRange = GameEntityHolder.Teams.Count;


            foreach (SubStage subStage in GameEntityHolder.Game.CurrentChild.ChildItemss)
            {
                currentCommand = _random.Next(minRange, maxRange);

                ITeam team = teams.FirstOrDefault(p => p.Id == currentCommand);
                if (team != null)
                {
                    GroupTeam teamToAdd = new GroupTeam()
                    {
                        Id         = team.Id,
                        TeamType   = team.TeamType,
                        IsExisting = team.IsExisting,
                        Name       = team.Name,
                        TeamColor  = team.TeamColor,
                        Place      = 0,
                        Points     = 0
                    };
                    subStage.TeamInformation.TeamsInGroup.Add(teamToAdd);
                    teams.Remove(team);
                }
            }

            methodResult = new Result()
            {
                Success = true,
            };
        }
        public IResult GenerateTeamGroups(int stageNumber)
        {
            if (GameEntityHolder.Teams == null ||
                !GameEntityHolder.Teams.Any())
            {
                return(new Result()
                {
                    //TODO Set Error message from errorholder
                    Success = false
                });
            }

            Random  rand = new Random();
            int     currentCommand;
            int     minRange = 0, maxRange = GameEntityHolder.Teams.Count;
            IResult methodResult = new Result()
            {
                Success = false
            };

            switch (stageNumber)
            {
            case 1:
                List <ITeam> teams = new List <ITeam>();
                teams.AddRange(GameEntityHolder.Teams);

                foreach (var subStage in GameEntityHolder.Game.CurrentChild.ChildItemss)
                {
                    currentCommand = rand.Next(minRange, maxRange);
                    ITeam team = teams.FirstOrDefault(p => p.Id == currentCommand);
                    if (team != null)
                    {
                        GroupTeam teamToAdd = new GroupTeam()
                        {
                            Id         = team.Id,
                            TeamType   = team.TeamType,
                            IsExisting = team.IsExisting,
                            Name       = team.Name,
                            TeamColor  = team.TeamColor,
                            Place      = 0,
                            Points     = 0
                        };

                        subStage.TeamInformation.TeamsInGroup.Add(teamToAdd);
                        teams.Remove(team);
                    }
                }

                methodResult = new Result()
                {
                    Success = true
                };

                break;

            case 2:
                List <IGroupTeam> teamsSecondStage = new List <IGroupTeam>();

                var childItemss = GameEntityHolder.Game.ChildItemss
                                  .FirstOrDefault(p => p.StageNumber == 1)?.ChildItemss;

                if (childItemss != null)
                {
                    foreach (ISubStage subStage in childItemss)
                    {
                        teamsSecondStage.AddRange(subStage.TeamInformation.TeamsInGroup);
                    }
                }

                GameEntityHolder.Game.CurrentChild.CurrentChild.TeamInformation
                .TeamsInGroup = new List <IGroupTeam>();
                //TODO Remove 4 => to config section
                for (int i = 1; i <= 4; i++)
                {
                    GameEntityHolder.Game.CurrentChild.CurrentChild.TeamInformation
                    .TeamsInGroup.AddRange(teamsSecondStage.Where(p => p.Place == i));
                }

                methodResult = new Result()
                {
                    Success = true
                };

                break;

            default:
                break;
            }

            return(methodResult);
        }
示例#15
0
 private void LoadViewBagTeams(Group group, GroupTeam groupTeam)
 {
     ViewBag.TeamId =
         new SelectList(CombosHelper.GetTeams(db, group), "TeamId", "Name", groupTeam.TeamId);
 }
示例#16
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                var  groupGuid = new Guid(lblGroupGuid.Text);
                Guid leagueGuid;
                Guid teamGuid;

                #region ListBox Multiple Value for RelationGroupTeam

                if (ddlGroupLeague.SelectedValue != Guid.Empty.ToString())
                {
                    Group.RemoveRelationGroupAllTeam(groupGuid);

                    leagueGuid = new Guid(ddlGroupLeague.SelectedValue);

                    foreach (ListItem item in lbLeagueTeam.Items)
                    {
                        teamGuid = new Guid(item.Value);
                        if ((item.Selected) && (!GroupTeam.IsExistRelationGroupTeam(groupGuid, teamGuid)))
                        {
                            var gt = new GroupTeam();
                            gt.GroupGuid = groupGuid;
                            gt.TeamGuid  = teamGuid;
                            gt.Insert();
                        }
                    }

                    ClientScript.RegisterClientScriptBlock(typeof(string), "updated", "alert('保存分组球队列表');", true);
                }
                else
                {
                    leagueGuid = SelectedLeague;
                }

                #endregion

                if (leagueGuid == Guid.Empty)
                {
                    throw new Exception("No Selected League Guid");
                }

                var group = new Group(groupGuid);
                group.GroupGuid  = groupGuid;
                group.GroupName  = tbGroupName.Text;
                group.GroupOrder = Convert.ToInt16(tbGroupOrder.Text);
                group.LeagueGuid = leagueGuid;
                group.IsTable    = cbIsTable.Checked;

                if (gvGroup.SelectedIndex != -1)
                {
                    group.Update();
                    ClientScript.RegisterClientScriptBlock(typeof(string), "success", "alert('更新分组成功');", true);
                }
                else
                {
                    group.Insert();
                    ClientScript.RegisterClientScriptBlock(typeof(string), "success", "alert('添加分组成功');", true);
                }

                gvGroup.SelectedIndex = -1;

                ResetForm();

                BindGroupData();
            }
            catch
            {
                if (SelectedLeague == Guid.Empty)
                {
                    ClientScript.RegisterClientScriptBlock(typeof(string), "failed", "alert('没有选择当前分类');", true);
                }
                else
                {
                    ClientScript.RegisterClientScriptBlock(typeof(string), "failed", "alert('添加/更新分组失败');", true);
                }
            }
        }