Exemplo n.º 1
0
        public ActionResult Create(Album album)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // Save Album
                    storeDB.Albums.Add(album);
                    storeDB.SaveChanges();

                    return(Redirect("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(String.Empty, ex);
            }

            // Invalid - redisplay with errors

            var viewModel = new StoreManagerViewModel()
            {
                Album   = album,
                Genres  = new SelectList(storeDB.Genres.ToList(), "GenreId", "Name", album.GenreId),
                Artists = new SelectList(storeDB.Artists.ToList(), "ArtistId", "Name", album.ArtistId)
            };

            return(View(viewModel));
        }
Exemplo n.º 2
0
        public ActionResult Create(Genre genre)
        {
            if (ModelState.IsValid)
            {
                db.Genres.Add(genre);
                db.SaveChanges();

                if (Request.IsAjaxRequest())
                {
                    return(Json(genre));
                }

                return(RedirectToAction("Index"));
            }

            if (Request.IsAjaxRequest())
            {
                return(Json(new
                {
                    errors = ModelState.Where(modelState =>
                                              modelState.Value.Errors.Count > 0).ToDictionary(
                        kvp => kvp.Key,
                        kvp => kvp.Value.Errors.Take(1).Select(e =>
                                                               e.ErrorMessage).ToArray()[0]
                        )
                }));
            }

            return(View(genre));
        }
Exemplo n.º 3
0
        // PUT api/Songs/5
        public HttpResponseMessage PutSong(int id, Song song)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            var songToUpdate = db.Songs.FirstOrDefault(a => a.SongId == id);

            if (songToUpdate != null && song != null)
            {
                songToUpdate.SongTitle = song.SongTitle ?? songToUpdate.SongTitle;
                songToUpdate.SongYear  = song.SongYear ?? songToUpdate.SongYear;
                songToUpdate.Genre     = song.Genre ?? songToUpdate.Genre;
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            db.Entry(songToUpdate).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Exemplo n.º 4
0
        public IHttpActionResult PutArtist(int id, Artist artist)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != artist.ArtistId)
            {
                return(BadRequest());
            }

            storeDB.Entry(artist).State = EntityState.Modified;

            try
            {
                storeDB.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ArtistExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemplo n.º 5
0
        public ActionResult Register([Bind(Include = "Id,UserName,Email,Password,ConfirmPassword")] RegisterUser model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                MembershipCreateStatus createStatus;
                // Membership.CreateUser(model.UserName, model.Password, model.Email, "question", "answer", true, null, out createStatus);


                //if (createStatus == MembershipCreateStatus.Success)
                //{
                Session["CurrentUser"]         = model.UserName;
                Session["userName"]            = model.UserName;
                Session["CurrentUserPassword"] = model.Password;
                MigrateShoppingCart(model.UserName);
                db.Users.Add(model);
                db.SaveChanges();
                FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
                return(RedirectToAction("Index", "Home"));
                //}
                //else
                //{
                //    ModelState.AddModelError("", ErrorCodeToString(createStatus));
                //}
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Exemplo n.º 6
0
        // PUT api/Albums/5
        public HttpResponseMessage PutAlbum(int id, Album album)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            var albumToUpdate = db.Albums.FirstOrDefault(a => a.AlbumId == id);

            if (albumToUpdate != null && album != null)
            {
                albumToUpdate.AlbumTitle = album.AlbumTitle ?? albumToUpdate.AlbumTitle;
                albumToUpdate.AlbumYear  = album.AlbumYear ?? albumToUpdate.AlbumYear;
                albumToUpdate.Producer   = album.Producer ?? albumToUpdate.Producer;
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            db.Entry(albumToUpdate).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Exemplo n.º 7
0
        public void AddToCart(Album album)
        {
            // Get the matching cart and album instances
            var cartItem = storeDB.Carts.SingleOrDefault(
                c => c.CartId == ShoppingCartId &&
                c.AlbumId == album.AlbumId);

            if (cartItem == null)
            {
                // Create a new cart item if no cart item exists
                cartItem = new Cart
                {
                    AlbumId     = album.AlbumId,
                    CartId      = ShoppingCartId,
                    Count       = 1,
                    DateCreated = DateTime.Now
                };

                storeDB.Carts.Add(cartItem);
            }
            else
            {
                // If the item does exist in the cart, then add one to the quantity
                cartItem.Count++;
            }

            // Save changes
            storeDB.SaveChanges();
        }
        // PUT api/Artists/5
        public HttpResponseMessage PutArtist(int id, Artist artist)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            var artistToUpdate = db.Artists.FirstOrDefault(a => a.ArtistId == id);

            if (artistToUpdate != null && artist != null)
            {
                artistToUpdate.ArtistName  = artist.ArtistName ?? artistToUpdate.ArtistName;
                artistToUpdate.Country     = artist.Country ?? artistToUpdate.Country;
                artistToUpdate.DateOfBirth = artist.DateOfBirth ?? artistToUpdate.DateOfBirth;
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            db.Entry(artistToUpdate).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
        //GET: Store/Add to cart method//
        public ActionResult AddToCart(int AlbumId)
        {
            //to create unique cart id//
            String CurrentCartId;

            GetCartId();
            CurrentCartId = Session["CartId"].ToString();
            //create and save item into cart//

            //to check if item already exists in cart//
            Cart cart = storeDB.Carts.SingleOrDefault(c => c.AlbumId == AlbumId && c.CartId == CurrentCartId);

            if (cart == null)
            {
                cart = new Cart
                {
                    CartId      = CurrentCartId,
                    AlbumId     = AlbumId,
                    Count       = 1,
                    DateCreated = DateTime.Now
                };

                storeDB.Carts.Add(cart);
            }
            else
            {
                //increament count by 1//
                cart.Count++;
            }

            storeDB.SaveChanges();
            //redirect to cart page//
            return(RedirectToAction("ShoppingCart"));
        }
Exemplo n.º 10
0
 public ActionResult AddAlbum(Album album, int?page)
 {
     ViewBag.Artists = db.Artists.ToList();
     ViewBag.Genres  = db.Genres.ToList();
     db.Albums.Add(album);
     db.SaveChanges();
     return(PartialView("_AlbumList", db.Albums.ToList().ToPagedList(page ?? 1, 10)));
 }
Exemplo n.º 11
0
 public void DeleteCart(IEnumerable <Models.Cart> carts)
 {
     foreach (var cartItem in carts)
     {
         storeDB.Carts.Remove(cartItem);
     }
     storeDB.SaveChanges();;
 }
Exemplo n.º 12
0
        public ActionResult Create([Bind(Include = "ContactId,Name,Address,City,State,Zip,Email")] Contact contact)
        {
            if (ModelState.IsValid)
            {
                db.Contacts.Add(contact);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(contact));
        }
Exemplo n.º 13
0
 public ActionResult Create(Album album)
 {
     if (ModelState.IsValid)
     {
         db.Albums.Add(album);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     SetGenreArtistViewBag(album.GenreId, album.ArtistId);
     return(View(album));
 }
Exemplo n.º 14
0
        /// <summary>
        /// Patches the specified entity.
        /// </summary>
        /// <param name="entity">The entity.</param>
        public override Singer Update(Singer entity)
        {
            var oldEntity = context.Singer.Where(p => p.Id == entity.Id && p.Active == TrueValue).FirstOrDefault();

            oldEntity.Name    = entity.Name;
            oldEntity.Updated = entity.Updated;

            context.SaveChanges();

            return(oldEntity);
        }
Exemplo n.º 15
0
        public ActionResult Create([Bind(Include = "Id,UserName,Email,Password,ConfirmPassword")] RegisterUser registerUser)
        {
            if (ModelState.IsValid)
            {
                db.Users.Add(registerUser);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(registerUser));
        }
Exemplo n.º 16
0
        public ActionResult Create([Bind(Include = "GenreId,Name,Description")] Genre genre)
        {
            if (ModelState.IsValid)
            {
                db.Genre.Add(genre);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(genre));
        }
Exemplo n.º 17
0
 public ActionResult Create(Album album)
 {
     if (ModelState.IsValid)
     {
         db.Albums.Add(album);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.GenreId  = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
     ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
     return(View(album));
 }
        public ActionResult Create([Bind(Include = "AlbumId,GenreId,ArtisId,Title,Price,AlbumArtUrl")] Album album)
        {
            if (ModelState.IsValid)
            {
                db.Albums.Add(album);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
            return(View(album));
        }
Exemplo n.º 19
0
 public ActionResult Create(Album album)
 {
     if (ModelState.IsValid)     //检查表单的数据是否通过了验证规则
     {
         storeDB.Albums.Add(album);
         storeDB.SaveChanges();
         return(RedirectToAction("Index"));
     }
     //如果表单没有通过验证,重新显示带有验证提示信息的表单
     ViewBag.GenreId  = new SelectList(storeDB.Genres, "GenreId", "Name", album.AlbumId);
     ViewBag.ArtistId = new SelectList(storeDB.Artists, "ArtistId", "Name", album.ArtistId);
     return(View(album));
 }
Exemplo n.º 20
0
        //
        // POST: /StoreManager/Create

        // [HttpPost]
        public IActionResult Create(Album album)
        {
            if (/*ModelState.IsValid*/ true)
            {
                db.Albums.Add(album);
                db.SaveChanges();
                // return RedirectToAction("Index");
                return(null);
            }

            //ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
            //ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
            return(View(album));
        }
Exemplo n.º 21
0
        /// <summary>
        /// Patches the specified entity.
        /// </summary>
        /// <param name="entity">The entity.</param>
        public override Album Update(Album entity)
        {
            var oldEntity = context.Album.Where(p => p.Id == entity.Id && p.Active == TrueValue).FirstOrDefault();

            oldEntity.Name       = entity.Name;
            oldEntity.Year       = entity.Year;
            oldEntity.PriceSale  = entity.PriceSale;
            oldEntity.SingerFK   = entity.SingerFK;
            oldEntity.CategoryFK = entity.CategoryFK;

            context.SaveChanges();

            return(oldEntity);
        }
Exemplo n.º 22
0
        public ActionResult AddressAndPayment(FormCollection values)
        {
            var order = new Order {
            };

            TryUpdateModel(order);

            try
            {
                if (string.Equals(values["PromoCode"], PromoCode, StringComparison.OrdinalIgnoreCase) == true)
                {
                    order.Username  = User.Identity.Name;
                    order.OrderDate = DateTime.Now;

                    //Save Order
                    storeDB.Orders.Add(order);
                    storeDB.SaveChanges();
                    //Process the order
                    var cart = ShoppingCart.GetCart(this.HttpContext);
                    cart.CreateOrder(order, 0.8m);

                    return(RedirectToAction("OrderDetails",
                                            new { id = order.OrderId }));

                    //return RedirectToAction("OrderDetail", order);

                    //return View(order);
                }
                else
                {
                    order.Username  = User.Identity.Name;
                    order.OrderDate = DateTime.Now;

                    //Save Order
                    storeDB.Orders.Add(order);
                    storeDB.SaveChanges();
                    //Process the order
                    var cart = ShoppingCart.GetCart(this.HttpContext);
                    cart.CreateOrder(order, 1);

                    return(RedirectToAction("OrderDetails", new { id = order.OrderId }));
                }
            }
            catch
            {
                //Invalid - redisplay with errors
                return(View(order));
            }
        }
Exemplo n.º 23
0
        public ActionResult Create([Bind(Include = "AlbumId,GenreId,ArtistId,Title,Price,AlbumArtUrl")] Album album) // Model Binding capabilities built into ASP.NET MVC
        //public ActionResult Create(Album album)
        {
            if (ModelState.IsValid)          // to validate rules in modeles
            {
                dbContext.Albums.Add(album); // EF to persist the values
                dbContext.SaveChanges();     // EF generates the appropriate SQL commands to save changes to database
                return(RedirectToAction("Index"));
            }

            // In case of errors, displaying invalid form submissions with Validation Errors
            ViewBag.ArtistId = new SelectList(dbContext.Artists, "ArtistId", "Name", album.ArtistId);
            ViewBag.GenreId  = new SelectList(dbContext.Genres, "GenreId", "Name", album.GenreId);
            return(View(album));
        }
        public ActionResult EditOrder(int id, Order order)
        {
            if (ModelState.IsValid)
            {
                var o = db.Orders.Find(id);
                o.Status = order.Status;

                //Add SMS Notification Here

                db.SaveChanges();
                return(RedirectToAction("Orders"));
            }

            return(View(order));
        }
Exemplo n.º 25
0
        public ActionResult Create(AlbumModel album)
        {
            if (ModelState.IsValid)
            {
                //Save Album
                storeDB.Albums.Add(album);
                storeDB.SaveChanges();
                return RedirectToAction("Index");
            }

            // Invalid – redisplay with errors
            ViewBag.Genres = storeDB.Genres.OrderBy(g => g.Name).ToList();
            ViewBag.Artists = storeDB.Artists.OrderBy(a => a.Name).ToList();
            return View(album);
        }//end method
 public ActionResult Create([Bind(Include = "AlbumId,GenreId,ArtistId,Title,Price,AlbumArtUrl")] Album album)
 {
     //如果输入正确,符合规则则添加专辑
     //规则来源于实体注解
     //重定向到index
     if (ModelState.IsValid)
     {
         db.Albums.Add(album);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     //否则返回Create View并且显示错误信息
     ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
     ViewBag.GenreId  = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
     return(View(album));
 }
Exemplo n.º 27
0
        public object Post(ApiOrderSubmit orderSubmit)
        {
            try
            {
                if (!(orderSubmit.Login != null && WebSecurity.Login(orderSubmit.Login.UserName, orderSubmit.Login.Password)))
                {
                    throw new Exception("You are not logged in.");
                }

                var cartItems = BuildCartItems(orderSubmit.Items);

                var order = orderSubmit.Order;
                order.Username  = orderSubmit.Login.UserName;
                order.OrderDate = DateTime.Now;

                storeDB.Orders.Add(order);

                CreateOrder(order, cartItems);
                storeDB.SaveChanges();

                return(new
                {
                    error = ""
                });
            }
            catch (Exception ex)
            {
                return(new
                {
                    error = "There was an error submitting your order. " + ex.Message
                });
            }
        }
        //
        // GET: /ShoppingCart/AddToCart/5

        public ActionResult AddToCart(int id)
        {
            // Retrieve the album from the database
            var addedAlbum = storeDB.Albums
                             .Single(album => album.AlbumId == id);

            // Add it to the shopping cart
            var cart = ShoppingCart.GetCart(storeDB, this.HttpContext);

            cart.AddToCart(addedAlbum);

            storeDB.SaveChanges();

            // Go back to the main store page for more shopping
            return(RedirectToAction("Index"));
        }
Exemplo n.º 29
0
        public ActionResult ConfirmCheckout()
        {
            MyCart     myCart      = Session["cart"] as MyCart;
            UserDetail currentUser = db.UserDetails.Find(WebSecurity.CurrentUserId);
            Order      newOrder    = new Order()
            {
                Email        = currentUser.Email,
                Phone        = currentUser.Phone,
                ShipAddress  = currentUser.Address,
                UserDetailId = currentUser.Id
            };

            db.Orders.Add(newOrder);
            foreach (var item in myCart.CartItems)
            {
                OrderDetail od = new OrderDetail()
                {
                    Count    = item.Count,
                    AlbumId  = item.Id,
                    Discount = 0,
                    Order    = newOrder,
                    Price    = item.Price
                };
                db.OrderDetails.Add(od);
            }
            db.SaveChanges();
            myCart.ClearCart();
            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 30
0
        public ActionResult AddressAndPayment(FormCollection values)
        {
            var order = new Order();

            TryUpdateModel(order);
            try
            {
                if (string.Equals(values["PromoCode"], PromoCode, StringComparison.OrdinalIgnoreCase) == false)
                {
                    return(View(order));
                }
                else
                {
                    order.Username  = User.Identity.Name;
                    order.OrderDate = DateTime.Now;
                    storeDB.Orders.Add(order);
                    storeDB.SaveChanges();
                    var cart = ShoppingCart.GetCart(this.HttpContext);
                    cart.CreateOrder(order);
                    return(RedirectToAction("Complete", new { id = order.OrderId }));
                }
            }
            catch (Exception)
            {
                return(View(order));
            }
        }