コード例 #1
0
ファイル: TeamsController.cs プロジェクト: ZackE4/Zymsoft
        public async Task <ActionResult> AddTeam(AddTeamRequest request)
        {
            if (!await this.IsAPITokenValid(request.ApiToken))
            {
                return(new BadRequestObjectResult("UnAuthorized"));
            }

            string leagueId = await this.GetLeagueId(request.LeagueKey);

            if (leagueId == null)
            {
                return(new BadRequestObjectResult("League Not Found"));
            }

            Team team = new Team
            {
                TeamName  = request.TeamName,
                CoachName = request.CoachName,
                Logo      = String.IsNullOrEmpty(request.Logo) ? Configuration.GetValue <string>("DefaultTeamLogo") : request.Logo,
                LeagueId  = Convert.ToInt32(leagueId)
            };

            var newTeam = await this.TeamRepositry.AddAsync(team);

            return(new OkObjectResult(newTeam));
        }
コード例 #2
0
        public async Task <IHttpActionResult> AddTeamAsync(int id, [FromBody] AddTeamRequest request)
        {
            if (request.Teams.Distinct().Count() != 8)
            {
                throw new ActionCannotBeExecutedException(ExceptionMessages.InvalidTeamsCount);
            }

            Tourney tourney = await UnitOfWork.GetTourneyRepository().SelectByIdAsync(id)
                              ?? throw new ActionCannotBeExecutedException(ExceptionMessages.TourneyNotFound);

            if (tourney.EndDt < DateTime.Now)
            {
                throw new ActionCannotBeExecutedException(ExceptionMessages.TourenyFinished);
            }

            IEnumerable <Team> teams = await UnitOfWork.GetTeamRepository().SelectAsync(t => request.Teams.Contains(t.Id));

            foreach (Team team in teams)
            {
                tourney.Teams.Add(new TourneyTeam
                {
                    Team   = team,
                    Status = TourneyTeamStatus.Participating
                });
            }

            await UnitOfWork.SaveChangesAsync();

            return(Ok());
        }
コード例 #3
0
        public IActionResult OnPostEnterTeam([FromBody] AddTeamRequest addTeamRequest)
        {
            try
            {
                if (addTeamRequest.RaceId == 0)
                {
                    throw new Exception("Invalid Race");
                }

                var teamId = GetNextTeamId(addTeamRequest.RaceId);

                foreach (int racerId in addTeamRequest.RacerIds)
                {
                    var result = new WLC.Models.Results()
                    {
                        Place   = 4,
                        TeamId  = teamId,
                        RaceId  = addTeamRequest.RaceId,
                        RacerId = racerId,
                        Year    = Globals.GetActiveYear(HttpContext)
                    };
                    _context.Results.Add(result);
                }
                _context.SaveChanges();
                return(new JsonResult(new { error = false, message = "RacerAdded" }));
            }
            catch (Exception ex)
            {
                return(new JsonResult(new { error = true, message = "Adding Team Failed: " + ex.Message }));
            }
        }
コード例 #4
0
        public override Task <WorkerEventResponse> AddTeam(AddTeamRequest request, ServerCallContext context)
        {
            var DepID      = GetDepIdFromName(request.DepartmentName);
            var TeamID     = GetNewTeamId();
            var command    = "INSERT INTO Team (TeamID, TeamName, DepartmentID, DepartmentName) VALUES (@val1, @val2, @val3, @val4)";
            var newCommand = new SqlCommand(command, _DbConnection);

            newCommand.Parameters.AddWithValue("@val1", TeamID);
            newCommand.Parameters.AddWithValue("@val2", request.TeamName);
            newCommand.Parameters.AddWithValue("@val3", DepID);
            newCommand.Parameters.AddWithValue("@val4", request.DepartmentName);
            _DbConnection.Open();
            try
            {
                newCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                _DbConnection.Close();
            }
            _DbConnection.Close();
            return(System.Threading.Tasks.Task.FromResult(new WorkerEventResponse {
                State = true, Msg = "New team added!"
            }));
        }
コード例 #5
0
ファイル: TeamBusiness.cs プロジェクト: andrerocha/gymblady
        public Team AddTeam(AddTeamRequest request)
        {
            Team team = null;

            if (request != null && request.Team != null)
            {
                var dataAccess = new TeamDataAccess(request.Context);

                team = dataAccess.Add(request.Team);
            }

            return(team);
        }
コード例 #6
0
ファイル: TeamController.cs プロジェクト: andrerocha/gymblady
        public Team AddTeam([FromBody] Team team)
        {
            if (team != null)
            {
                var business = TeamBusiness.Instance;
                var request  = new AddTeamRequest(this.Context);
                request.Team = team;

                team = business.AddTeam(request);
            }

            return(team);
        }
コード例 #7
0
        public override Task <WorkerEventResponse> AddTeam(AddTeamRequest request, ServerCallContext context)
        {
            DBConnection.Open();
            String     command    = "INSERT INTO Team (TeamID, TeamName, DepartmentID, DepartmentName) VALUES (@val1, @val2, @val3, @val4)";
            SqlCommand newCommand = new SqlCommand(command, DBConnection);

            newCommand.Parameters.AddWithValue("@val1", GetNewTeamID());
            newCommand.Parameters.AddWithValue("@val2", request.TeamName);
            newCommand.Parameters.AddWithValue("@val3", GetDepIdFromName(request.DepartmentName));
            newCommand.Parameters.AddWithValue("@val4", request.DepartmentName);
            newCommand.ExecuteNonQuery();
            DBConnection.Close();
            return(System.Threading.Tasks.Task.FromResult(new WorkerEventResponse {
                State = true, Msg = "New team added!"
            }));
        }
コード例 #8
0
        public async Task <IActionResult> Add(Team team)
        {
            string errorMessage = "";

            Parameter[] paramList = new Parameter[2];
            paramList[0] = new Parameter("apiToken", Connector.CurrentApiToken, ParameterType.QueryString);
            paramList[1] = new Parameter("leagueKey", Connector.League.LeagueKey, ParameterType.QueryString);

            var teamList = this.ApiClient.Get <List <Team> >("Teams/ByLeague", paramList, ref errorMessage);

            if (!string.IsNullOrEmpty(errorMessage))
            {
                return(RedirectToAction("Index", "Teams", new { errorMsg = "Error updating team." }));
            }

            if (teamList != null && teamList.Where(x => x.TeamName.ToUpper() == team.TeamName.ToUpper()).FirstOrDefault() != null)
            {
                return(RedirectToAction("Index", "Teams", new { errorMsg = "A team with that name already exists" }));
            }

            AddTeamRequest apiRequest = new AddTeamRequest
            {
                ApiToken  = Connector.CurrentApiToken,
                LeagueKey = Connector.League.LeagueKey,
                TeamName  = team.TeamName,
                CoachName = team.CoachName,
                Logo      = team.Logo
            };

            errorMessage = "";
            var newTeam = this.ApiClient.Post <Team>("Teams/Add", JsonConvert.SerializeObject(apiRequest), ref errorMessage);

            if (newTeam != null)
            {
                return(RedirectToAction("Index", "Teams", new { actionMsg = $"{newTeam.TeamName} created in league {Connector.League.LeagueName}" }));
            }
            return(RedirectToAction("Index", "Teams", new { errorMsg = "Error adding new team." }));
        }