public IHttpActionResult Update(UpdateDvdRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var repo = DvdRepoFactory.GetRepository(); DvdDetails dvd = repo.GetByID(request.dvdId); if (dvd == null) { return(NotFound()); } dvd.Title = request.title; dvd.Year = request.realeaseYear; dvd.DirectorName = request.director; dvd.RatingValue = request.rating.ToUpper(); dvd.Note = request.notes; repo.Update(dvd); return(Ok(dvd)); }
public IHttpActionResult All() { var repo = DvdRepoFactory.GetRepository(); var model = repo.GetAll(); return(Ok(model)); }
public IHttpActionResult Create(Dvd dvd) { var repo = DvdRepoFactory.Create(); //Validate here //All items that DVDs can be searched by must be valid (Title,Rating,Director,ReleaseYear) //Empty title if (dvd.Title == " " || string.IsNullOrEmpty(dvd.Title)) { var resp = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(string.Format("Must enter a Title")), ReasonPhrase = "DVD not created" }; throw new HttpResponseException(resp); } //Empty or invalid release year if (dvd.ReleaseYear < 1000 || dvd.ReleaseYear > 9999) { var resp = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(string.Format("Release year must be only 4 digits (ex. 1997)")), ReasonPhrase = "DVD not created" }; throw new HttpResponseException(resp); } //Empty director name if (dvd.Director == " " || string.IsNullOrEmpty(dvd.Director)) { var resp = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(string.Format("Must enter a Director name")), ReasonPhrase = "DVD not created" }; throw new HttpResponseException(resp); } //Empty rating if (dvd.Rating == " " || string.IsNullOrEmpty(dvd.Rating)) { var resp = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(string.Format("Must enter a rating even if unrated")), ReasonPhrase = "DVD not created" }; throw new HttpResponseException(resp); } //If vaild Add to the repo and return a 201 response repo.Create(dvd); return(Created($"/dvd/{dvd.DvdId}", dvd)); }
public IHttpActionResult SearchRating(string rating) { List <DvdDetails> dvds = DvdRepoFactory.GetRepository().GetByRating(rating); if (dvds == null) { return(NotFound()); } return(Ok(dvds)); }
public IHttpActionResult SearchDirector(string directorName) { List <DvdDetails> dvds = DvdRepoFactory.GetRepository().GetByDirector(directorName); if (dvds == null) { return(NotFound()); } return(Ok(dvds)); }
public IHttpActionResult SearchYear(int releaseYear) { List <DvdDetails> dvds = DvdRepoFactory.GetRepository().GetByYear(releaseYear); if (dvds == null) { return(NotFound()); } return(Ok(dvds)); }
public IHttpActionResult SearchTitle(string title) { List <DvdDetails> dvds = DvdRepoFactory.GetRepository().GetByTitle(title); if (dvds == null) { return(NotFound()); } return(Ok(dvds)); }
public IHttpActionResult Delete(int dvdId) { DvdDetails dvd = DvdRepoFactory.GetRepository().GetByID(dvdId); if (dvd == null) { return(NotFound()); } DvdRepoFactory.GetRepository().Delete(dvdId); return(Ok()); }
public IHttpActionResult Get(int dvdId) { DvdDetails dvd = DvdRepoFactory.GetRepository().GetByID(dvdId); if (dvd == null) { return(NotFound()); } else { return(Ok(dvd)); } }
public IHttpActionResult GetByYear(int releaseYear) { var repo = DvdRepoFactory.Create(); List <Dvd> dvds = repo.GetAllByYear(releaseYear); if (dvds == null) { var resp = new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(string.Format("No DVDs found with release year {0}", releaseYear)), ReasonPhrase = "DVDs Not Found" }; throw new HttpResponseException(resp); } return(Ok(dvds)); }
public IHttpActionResult Get(int id) { var repo = DvdRepoFactory.Create(); Dvd dvd = repo.Get(id); if (dvd == null) { var resp = new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(string.Format("No DVD found with id = {0}", id)), ReasonPhrase = "DVD Not Found" }; throw new HttpResponseException(resp); } return(Ok(dvd)); }
public IHttpActionResult GetByDirector(string directorName) { var repo = DvdRepoFactory.Create(); List <Dvd> dvds = repo.GetAllByDirector(directorName); if (dvds == null) { var resp = new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(string.Format("No DVDs found with director name \"{0}\"", directorName)), ReasonPhrase = "DVDs not found" }; throw new HttpResponseException(resp); } return(Ok(dvds)); }
public IHttpActionResult Add(AddDvdRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } DvdDetails dvd = new DvdDetails() { Title = request.title, Year = request.realeaseYear, DirectorName = request.director, RatingValue = request.rating.ToUpper(), Note = request.notes }; DvdRepoFactory.GetRepository().Insert(dvd); return(Created($"dvd/{dvd.DvdID}", dvd)); }