コード例 #1
0
        public async Task <bool> UpdateGame(UpdateGameRequestDTO dto)
        {
            bool success = false;

            try
            {
                Game game = new Game()
                {
                    GameID      = dto.GameId,
                    Title       = dto.Title,
                    Rating      = dto.Rating,
                    Developer   = dto.Developer,
                    Description = dto.Description,
                    Genre       = dto.Genre
                };

                gameRepository.UpdateGame(game);
                await gameRepository.SaveChangesAsync();

                success = true;
            }
            catch (DbException ex)
            {
                AddModelError("Error grabbing data from database");
                // Log errors
            }
            return(success);
        }
コード例 #2
0
        public async Task <IHttpActionResult> Put(int id, [FromBody] UpdateGameRequestDTO dto)
        {
            ResponseDTO responseDTO = new ResponseDTO(ErrorModel);

            if (ModelState.IsValid)
            {
                // Massage data
                dto.Title       = dto.Title.Trim();
                dto.Developer   = dto.Developer.Trim();
                dto.Genre       = dto.Genre.Trim();
                dto.Description = dto.Description.Trim();

                await gameService.UpdateGame(dto);

                // If no errors accumulated from controller or service then continue
                if (ErrorModel.Errors.Count == 0)
                {
                    return(Ok(responseDTO));
                }
            }

            // TODO: Distinguish between different error types (500, etc) and send back error obj (response DTO)

            return(BadRequest());
        }