public HttpResponseMessage Register(User user)
        {
            HttpResponseMessage response = null;

            user.Password = EncryptPassword(user.Password);
            user.Role     = _rentalStoreContext.Roles.First(r => r.Id == 2);

            if (_rentalStoreContext.Users.Any(u => u.Username == user.Username))
            {
                response = Request.CreateResponse(HttpStatusCode.Conflict, "Такое имя пользователя уже существует");
            }

            else
            {
                try
                {
                    _rentalStoreContext.Users.Add(user);
                    _rentalStoreContext.SaveChanges();
                    response = Request.CreateResponse(HttpStatusCode.Created, user);
                }
                catch (Exception e)
                {
                    response = Request.CreateResponse(HttpStatusCode.BadRequest, "Регистрация не удалась.");
                }
            }

            return(response);
        }
示例#2
0
        public HttpResponseMessage Add(UserMovie movie)
        {
            HttpResponseMessage response = null;
            Cart cart = new Cart();

            Movie movieToChange = _rentalStoreConext.Movies.First(m => m.Id == movie.Movie.Id);

            if (movieToChange.Count == 0 || movieToChange == null)
            {
                response = Request.CreateResponse(HttpStatusCode.NotFound, "Этого филмьа больше нет в наличии");
                return(response);
            }
            else
            {
                cart.Movie           = movieToChange;
                movieToChange.Count -= 1;
            }

            try
            {
                User user = _rentalStoreConext.Users.First(u => u.Id == movie.UserId);
                cart.User = user;
            }
            catch (Exception e)
            {
                response = Request.CreateResponse(HttpStatusCode.NotFound, "При добавлении фильма в корзину возникла ошибка");
            }


            try
            {
                _rentalStoreConext.Carts.Add(cart);
                _rentalStoreConext.SaveChanges();
                response = Request.CreateResponse(HttpStatusCode.Created, movie);
            }
            catch (Exception e)
            {
                response = Request.CreateResponse(HttpStatusCode.BadRequest, e.Message);
            }

            return(response);
        }
        public HttpResponseMessage Edit(Movie movie)
        {
            HttpResponseMessage response = null;

            if (movie == null)
            {
                throw new ArgumentNullException("movie");
            }
            else
            {
                Movie movieToUpdate = _rentalStoreContext.Movies.First(m => m.Id == movie.Id);
                if (movieToUpdate == null)
                {
                    response = Request.CreateResponse(HttpStatusCode.Created, "Не удалось отредактировать");
                    return(response);
                }

                movieToUpdate.Title       = movie.Title;
                movieToUpdate.Image       = movie.Image;
                movieToUpdate.GenreId     = movie.GenreId;
                movieToUpdate.Description = movie.Description;
                movieToUpdate.Count       = movie.Count;
                movieToUpdate.Director    = movie.Director;
                movieToUpdate.Producer    = movie.Producer;
                movieToUpdate.Writer      = movie.Writer;
                movieToUpdate.TrailerURL  = movie.TrailerURL;
                movieToUpdate.ReleaseDate = movie.ReleaseDate;
                movieToUpdate.Price       = movie.Price;

                _rentalStoreContext.SaveChanges();

                response = Request.CreateResponse(HttpStatusCode.Created, movie);
            }


            return(response);
        }
示例#4
0
 public void Insert(Movie entity)
 {
     _rentalStoreContext.Movies.Add(entity);
     _rentalStoreContext.SaveChanges();
 }