Exemple #1
0
        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));
        }
Exemple #2
0
        public IHttpActionResult All()
        {
            var repo  = DvdRepoFactory.GetRepository();
            var model = repo.GetAll();

            return(Ok(model));
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        public IHttpActionResult SearchRating(string rating)
        {
            List <DvdDetails> dvds = DvdRepoFactory.GetRepository().GetByRating(rating);

            if (dvds == null)
            {
                return(NotFound());
            }

            return(Ok(dvds));
        }
Exemple #5
0
        public IHttpActionResult SearchDirector(string directorName)
        {
            List <DvdDetails> dvds = DvdRepoFactory.GetRepository().GetByDirector(directorName);

            if (dvds == null)
            {
                return(NotFound());
            }

            return(Ok(dvds));
        }
Exemple #6
0
        public IHttpActionResult SearchYear(int releaseYear)
        {
            List <DvdDetails> dvds = DvdRepoFactory.GetRepository().GetByYear(releaseYear);

            if (dvds == null)
            {
                return(NotFound());
            }

            return(Ok(dvds));
        }
Exemple #7
0
        public IHttpActionResult SearchTitle(string title)
        {
            List <DvdDetails> dvds = DvdRepoFactory.GetRepository().GetByTitle(title);

            if (dvds == null)
            {
                return(NotFound());
            }

            return(Ok(dvds));
        }
Exemple #8
0
        public IHttpActionResult Delete(int dvdId)
        {
            DvdDetails dvd = DvdRepoFactory.GetRepository().GetByID(dvdId);

            if (dvd == null)
            {
                return(NotFound());
            }

            DvdRepoFactory.GetRepository().Delete(dvdId);
            return(Ok());
        }
Exemple #9
0
        public IHttpActionResult Get(int dvdId)
        {
            DvdDetails dvd = DvdRepoFactory.GetRepository().GetByID(dvdId);

            if (dvd == null)
            {
                return(NotFound());
            }
            else
            {
                return(Ok(dvd));
            }
        }
Exemple #10
0
        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));
        }
Exemple #11
0
        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));
        }
Exemple #12
0
        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));
        }
Exemple #13
0
        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));
        }