Skip to content

Commit ef96b98

Browse files
committed
Delete movie implemented
1 parent 1e688cb commit ef96b98

3 files changed

Lines changed: 20 additions & 0 deletions

File tree

StarWars.API/Controllers/MovieController.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,5 +67,18 @@ public async Task<IActionResult> Create([FromBody] MovieView movieView)
6767

6868
return new OkObjectResult(item);
6969
}
70+
71+
[HttpDelete("{id}")]
72+
public async Task<IActionResult> Delete([FromRoute] string id)
73+
{
74+
var item = await service.Get(id);
75+
if (item == null) return new NotFoundObjectResult(id);
76+
77+
item = await service.Delete(id);
78+
79+
if (item == null) return new BadRequestObjectResult($"ID '{id}' could not be deleted");
80+
81+
return new OkObjectResult(item);
82+
}
7083
}
7184
}

StarWars.API/Services/MovieService.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,11 @@ public async Task<MovieView> Create(Movie movie)
3838
var item = await repo.Create(movie);
3939
return Mapper.Map<MovieView>(item);
4040
}
41+
42+
public async Task<MovieView> Delete(string id)
43+
{
44+
var item = await repo.Delete(id);
45+
return Mapper.Map<MovieView>(item);
46+
}
4147
}
4248
}

StarWars.Interface/IMovieService.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ public interface IMovieService
99
Task<MovieView[]> All();
1010
Task<MovieView> Get(string id);
1111
Task<MovieView> Create(Movie movie);
12+
Task<MovieView> Delete(string id);
1213
}
1314
}

0 commit comments

Comments
 (0)