Example #1
0
 public void Post([FromBody] PlayerAddRequest players)
 {
     if (ModelState.IsValid)
     {
         playerRepository.Add(players);
     }
 }
        // GetSettings.EdFootballConnectionString
        public async void Add(PlayerAddRequest model)
        {
            await using (var con = new SqlConnection(GetSettings.EdFootballConnectionString))
            {
                var par = new DynamicParameters();
                par.Add("@Firstname", model.Firstname);
                par.Add("@Lastname", model.Lastname);

                await con.ExecuteAsync(QueryString.AddPlayer, par, commandType : CommandType.StoredProcedure);
            }
        }
        [ValidateNewPlayer] // Perform new Player validations (Validators\ValidateNewPlayer.cs)
        public async Task <IActionResult> Add([FromBody] PlayerAddRequest model)
        {
            // at this point model has been validated
            var newPlayer = _mapper.Map <Player>(model);

            newPlayer.Active = true; // set initial status of player to Active

            // ReSharper disable once MethodHasAsyncOverload
            // AddAsync() overload has special use-case for client-side HiLo generated PKs
            _db.Players.Add(newPlayer);

            // Save Unit-of-Work
            // do not handle exceptions here to let other
            // services know we failed and they need to retry
            await _db.SaveChangesAsync();

            // TODO: More structured logging with NLog
            _logger.LogInformation($@">>> PlayerController.Add() success - Id ""{model.TransactionId}"", Name ""{model.PlayerName}"".");

            var result = _mapper.Map <Player, PlayerModelResponse>(newPlayer);

            return(Created($"/v1/{ControllerContext.ActionDescriptor.ControllerName}/{model.TransactionId}", result));
        }