Example #1
0
 public ResultDto Add([FromBody] AddGenreDto dto)
 {
     try
     {
         Genre genre = new Genre()
         {
             Name = dto.Name
         };
         _context.Genres.Add(genre);
         _context.SaveChangesAsync();
         return(new ResultDto
         {
             IsSuccessful = true,
             Message = "Successfully created"
         });
     }
     catch (Exception ex)
     {
         return(new ResultDto
         {
             IsSuccessful = false,
             Message = "Something goes wrong!"
         });
     }
 }
Example #2
0
        public async Task <ActionResult <GenreDto> > AddGenre(
            [FromBody] AddGenreDto dto,
            CancellationToken token = default)
        {
            var genre = Mapper.Map <AddGenreDto, Genre>(dto);

            Context.Genres.Add(genre);

            await Context.SaveChangesAsync(token);

            Logger.LogInformation(LogTemplates.CreatedEntity, nameof(Genre), genre);

            return(CreatedAtAction(nameof(GetGenre), new { id = genre.Id }, Mapper.Map <Genre, GenreDto>(genre)));
        }
Example #3
0
        public void Execute(AddGenreDto request)
        {
            if (context.Genres.Any(g => g.GenereName == request.Name))
            {
                throw new AlreadyExistsEx("Genre whit this name already exists");
            }

            var genre = new Genre
            {
                GenereName = request.Name
            };

            context.Genres.Add(genre);
            context.SaveChanges();
        }
 public IActionResult Post([FromBody] AddGenreDto request)
 {
     try
     {
         createGenre.Execute(request);
         return(StatusCode(201));
     }
     catch (AlreadyExistsEx ex)
     {
         return(StatusCode(409, ex.Message));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex.Message));
     }
 }
Example #5
0
        public async Task <ActionResult <GenreDto> > UpdateGenre(int id, AddGenreDto dto, CancellationToken token = default)
        {
            var genre = await Context.Genres.Where(x => x.Id == id).SingleOrDefaultAsync(token);

            if (genre == null)
            {
                Logger.LogWarning(LogTemplates.NotFound, nameof(Genre), id);
                return(NotFound($"No {nameof(Genre)} with Id {id} found in database"));
            }

            genre.Name = dto.Name;

            await Context.SaveChangesAsync();

            Logger.LogInformation(LogTemplates.Updated, nameof(Genre), genre);

            return(Ok(Mapper.Map <Genre, GenreDto>(genre)));
        }