public ActionResult DeleteConfirmed(decimal id)
        {
            creditInformation creditInformation = db.creditInformations.Find(id);

            db.creditInformations.Remove(creditInformation);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: creditInformation/Details/5
        public ActionResult Details(decimal id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            creditInformation creditInformation = db.creditInformations.Find(id);

            if (creditInformation == null)
            {
                return(HttpNotFound());
            }
            return(View(creditInformation));
        }
        public ActionResult Edit([Bind(Include = "cardNumber,cardHolder,cardType,username,expiryDate,securityCode")] creditInformation creditInformation)
        {
            string user = Session["User"].ToString();

            creditInformation.username = user;
            if (ModelState.IsValid)
            {
                db.Entry(creditInformation).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.cardType = new SelectList(db.cardTypes, "type", "type", creditInformation.cardType);
            ViewBag.username = new SelectList(db.users, "username", "firstName", creditInformation.username);
            return(View(creditInformation));
        }
        // GET: creditInformation/Edit/5
        public ActionResult Edit(decimal id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            creditInformation creditInformation = db.creditInformations.Find(id);

            if (creditInformation == null)
            {
                return(HttpNotFound());
            }
            ViewBag.cardType = new SelectList(db.cardTypes, "type", "type", creditInformation.cardType);
            ViewBag.username = new SelectList(db.users, "username", "firstName", creditInformation.username);
            return(View(creditInformation));
        }
Пример #5
0
        public ActionResult Create([Bind(Include = "firstName,lastName,email,shipAddress,mailAdress")] user user, [Bind(Include = "cardHolder,cardType,cardNumber,expiryDate,securityCode,username")] creditInformation creditInformation, [Bind(Include = "username,orderId,gameId,orderDate,shipDate,status")] order order)
        {
            if (ModelState.IsValid)
            {
                string currentUser = Session["User"].ToString();
                var    cartItems   = db.carts.ToList();

                foreach (var item in cartItems)
                {
                    if (item.username == currentUser)
                    {
                        for (int i = 0; i < item.quantity; i++)
                        {
                            var newOrder = db.orders.Add(order);
                            newOrder.username = currentUser;
                            // Find id of last order within list, auto increment
                            var     orderItems = db.orders.ToList();
                            var     lastOrder  = orderItems.Last();
                            decimal orderId    = lastOrder.orderId + 1;
                            newOrder.orderId   = orderId;
                            newOrder.gameId    = item.gameId;
                            newOrder.orderDate = DateTime.Today;
                            newOrder.shipDate  = null;
                            newOrder.status    = "Received";
                            db.SaveChanges();
                        }
                    }
                    // Remove users' items from cart
                    foreach (var cartItem in cartItems)
                    {
                        if (cartItem.username == currentUser && cartItem.gameId == item.gameId)
                        {
                            db.carts.Attach(cartItem);
                            db.carts.Remove(cartItem);
                        }
                    }
                }

                // Save checkout information
                // User info
                string firstName = "";
                string lastName  = "";
                var    userList  = db.users.ToList();
                foreach (var userItem in userList)
                {
                    if (userItem.username == currentUser)
                    {
                        firstName            = user.firstName;
                        lastName             = user.lastName;
                        userItem.email       = user.email;
                        userItem.shipAddress = user.shipAddress;
                        userItem.mailAddress = user.mailAddress;
                        db.SaveChanges();
                    }
                }
                // Payment info
                bool exists     = false;
                var  creditList = db.creditInformations.ToList();
                var  last       = creditList.Last();
                foreach (var creditItem in creditList)
                {
                    // If user has an entry in creditInformation, update that entry
                    if (creditItem.username == currentUser)
                    {
                        exists = true;
                        creditItem.cardNumber = creditInformation.cardNumber;
                        // Concatenate first & last names for cardHolder
                        string cardHolder = firstName + " " + lastName;
                        creditItem.cardHolder   = cardHolder;
                        creditItem.cardType     = creditInformation.cardType;
                        creditItem.username     = Session["User"].ToString();
                        creditItem.expiryDate   = creditInformation.expiryDate;
                        creditItem.securityCode = creditInformation.securityCode;
                        db.SaveChanges();
                    }
                    // Else, create a new entry for them
                    else if (creditItem.Equals(last) && exists == false)
                    {
                        var newCredit = db.creditInformations.Add(creditInformation);
                        newCredit.cardNumber = creditInformation.cardNumber;
                        // Concatenate first & last names for cardHolder
                        string cardHolder = firstName + " " + lastName;
                        newCredit.cardHolder   = cardHolder;
                        newCredit.cardType     = creditInformation.cardType;
                        newCredit.username     = Session["User"].ToString();
                        newCredit.expiryDate   = creditInformation.expiryDate;
                        newCredit.securityCode = creditInformation.securityCode;
                        db.SaveChanges();
                    }
                }
                return(RedirectToAction("Index", "Game"));
            }

            ViewBag.gameId   = new SelectList(db.games, "id", "name", order.gameId);
            ViewBag.status   = new SelectList(db.orderStatus, "status", "status", order.status);
            ViewBag.username = new SelectList(db.users, "username", "firstName", order.username);
            return(View(order));
        }