public Customer CreateCustomer(Customer customer)
        {
            if (!ModelState.IsValid)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            _context.Customers.Add(customer);
            _context.SaveChanges();

            return(customer);
        }
        public ActionResult Save(Movie movie)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new MovieFormViewModel(movie)
                {
                    Genres = _dbContext.Genres.ToList()
                };

                return(View("MovieForm", viewModel));
            }

            if (movie.Id == 0)
            {
                _dbContext.Movies.Add(movie);
            }
            else
            {
                var movieFromDB = _dbContext.Movies.Single(m => m.Id == movie.Id);

                movieFromDB.Name          = movie.Name;
                movieFromDB.ReleaseDate   = movie.ReleaseDate;
                movieFromDB.GenreId       = movie.GenreId;
                movieFromDB.NumberInStock = movie.NumberInStock;
            }

            _dbContext.SaveChanges();

            return(RedirectToAction("Index", "Movie"));
        }
Esempio n. 3
0
        public ActionResult Save(Customer customer)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new CustomerFormViewModel
                {
                    Customer        = customer,
                    MembershipTypes = _dbContext.MembershipTypes.ToList()
                };

                return(View("CustomerForm", viewModel));
            }

            if (customer.Id == 0)
            {
                _dbContext.Customers.Add(customer);
            }
            else
            {
                // Using Single since if given customer is not found it should throw an exception
                var customerInDb = _dbContext.Customers.Single(c => c.Id == customer.Id);
                // two ways
                // way 1 - it opens up security holes, it updates every form field
                // TryUpdateModel(customerInDb);
                // way 2
                // or you can use AutoMapper library (Mapper.Map(customer, customerInDb)
                customerInDb.Name                     = customer.Name;
                customerInDb.BirthDate                = customer.BirthDate;
                customerInDb.MembershipTypeId         = customer.MembershipTypeId;
                customerInDb.IsSubscribedToNewsLetter = customer.IsSubscribedToNewsLetter;
            }

            // persist the changes
            _dbContext.SaveChanges();

            return(RedirectToAction("Index", "Customer"));
        }