예제 #1
0
        public async Task<ActionResult> Create(cfcusaga.data.Order order)
        {
            if (ModelState.IsValid)
            {
                db.Orders.Add(order);
                await db.SaveChangesAsync();
                return RedirectToAction("Index");
            }

            return View(order);
        }
예제 #2
0
        public static string ToString(cfcusaga.data.Order order)
        {
            StringBuilder bob = new StringBuilder();

            bob.Append("<p>Order Information for Order: " + order.OrderId + "<br>Placed at: " + order.OrderDate + "</p>").AppendLine();
            bob.Append("<p>Name: " + order.FirstName + " " + order.LastName + "<br>");
            bob.Append("Address: " + order.Address + " " + order.City + " " + order.State + " " + order.PostalCode + "<br>");
            bob.Append("Contact: " + order.Email + "     " + order.Phone + "</p>");

            //TODO: Create Credit Card class
            //bob.Append("<p>Charge: " + order.CreditCard + " " + order.Experation.ToString("dd-MM-yyyy") + "</p>");
            //bob.Append("<p>Credit Card Type: " + order.CcType + "</p>");

            bob.Append("<br>").AppendLine();
            bob.Append("<Table>").AppendLine();
            // Display header 
            string header = "<tr> <th>Item Name</th>" + "<th>Quantity</th>" + "<th>Price</th> <th></th> </tr>";
            bob.Append(header).AppendLine();

            String output = String.Empty;
            try
            {
                foreach (var item in order.OrderDetails)
                {
                    bob.Append("<tr>");
                    output = "<td>" + item.Item.Name + "</td>" + "<td>" + item.Quantity + "</td>" + "<td>" + item.Quantity * item.UnitPrice + "</td>";
                    bob.Append(output).AppendLine();
                    Console.WriteLine(output);
                    bob.Append("</tr>");
                }
            }
            catch (Exception ex)
            {
                output = "No items ordered.";
            }
            bob.Append("</Table>");
            bob.Append("<b>");
            // Display footer 
            string footer = String.Format("{0,-12}{1,12}\n",
                                          "Total", order.Total);
            bob.Append(footer).AppendLine();
            bob.Append("</b>");

            return bob.ToString();
        }
예제 #3
0
        public async Task<ActionResult> AddItemToCart(cfcusaga.data.Item item)
        {
            // Retrieve the item from the database

            var foundItem = await _svc.GetItem(item.ID);
            foundItem.TshirtSize = item.TshirtSize;
            var cart = ShoppingCart.GetCart(this.HttpContext, _svc);
            int count = cart.AddToCart(foundItem);

            return RedirectToAction("Index", "Items");
            //var results = new ShoppingCartRemoveViewModel()
            //{
            //    Message = Server.HtmlEncode(foundItem.Name) +
            //              " has been added to your shopping cart.",
            //    CartTotal = cart.GetTotal(),
            //    CartCount = cart.GetCount(),
            //    ItemCount = count,
            //    DeleteId = item.ID
            //};
            //return Json(results);
        }
예제 #4
0
        //public async Task<List<cfcusaga.domain.Orders.Cart>> GetCartItems()
        //{
        //    return await _svc.GetCartItems(ShoppingCartId);
        //}

        public cfcusaga.domain.Orders.Cart AddToCart(cfcusaga.domain.Events.Item item, out int count)
        {

            try
            {
                var cartItem = new cfcusaga.domain.Orders.Cart
                {
                    ItemId = item.Id,
                    CartId = ShoppingCartId,
                    Count = 1,
                    DateCreated = DateTime.Now
                };
                _svc.AddItemToCart(cartItem);

                int id = cartItem.Id;
                count = cartItem.Count;
                return cartItem;
            }
            catch (Exception ex)
            {

                throw;
            }
        }
예제 #5
0
        public int AddToCart(cfcusaga.domain.Events.Item item)
        {

            try
            {
                var cartItem = new cfcusaga.domain.Orders.Cart
                {
                    ItemId = item.Id,
                    CartId = ShoppingCartId,
                    Count = 1,
                    DateCreated = DateTime.Now,
                    TshirtSize = item.TshirtSize
                };
                _svc.AddItemToCart(cartItem);

                //_svc.SaveChanges();
                return cartItem.Count;
            }
            catch (Exception ex)
            {

                throw;
            }
        }
예제 #6
0
 public async Task<ActionResult> Edit(cfcusaga.data.Order order)
 {
     if (ModelState.IsValid)
     {
         db.Entry(order).State = EntityState.Modified;
         await db.SaveChangesAsync();
         return RedirectToAction("Index");
     }
     return View(order);
 }
예제 #7
0
 public async Task<ActionResult> Edit(cfcusaga.domain.Events.Event anEvent)
 {
     if (ModelState.IsValid)
     {
         var updatedEvent = await _svc.UpdateEvent(anEvent);
         return RedirectToAction("Index");
     }
     return View(anEvent);
 }
예제 #8
0
        public async Task<ActionResult> Create(cfcusaga.domain.Events.Event newEvent)
        {
            if (ModelState.IsValid)
            {
                await _svc.SaveChangesAsync(newEvent);
                return RedirectToAction("Index");
            }

            return View(newEvent);
        }
예제 #9
0
        //public async Task<cfcusaga.domain.Orders.Order> CreateOrderDetails(cfcusaga.domain.Orders.Order order)
        //{
        //    try
        //    {
        //        decimal orderTotal = 0;
        //        order.OrderDetails = new List<cfcusaga.domain.Orders.OrderDetail>();

        //        var cartItems = await GetCartItems();
        //        // Iterate over the items in the cart, 
        //        // adding the order details for each
        //        foreach (var item in cartItems)
        //        {
        //            var js = item.ToJson();
        //            var orderDetail = new cfcusaga.domain.Orders.OrderDetail
        //            {
        //                ItemId = item.ItemId,
        //                OrderId = order.OrderId,
        //                UnitPrice = item.ItemPrice,
        //                Quantity = item.Count,
        //                CartId = item.Id,
        //                Lastname = item.Lastname,
        //                Firstname = item.Firstname,
        //                Gender = item.Gender,
        //                BirthDate = item.BirthDate,
        //                Allergies = item.Allergies,
        //                TshirtSize = item.TshirtSize,
        //                RegistrationDetail = js
        //            };
        //            // Set the order total of the shopping cart
        //            orderTotal += (item.Count * item.ItemPrice);
        //            order.OrderDetails.Add(orderDetail);
        //            await _svc.AddOrderDetails(orderDetail);

        //            cfcusaga.domain.Membership.Member aMember = null;
        //            if (item.CategoryId == (int)CategoryTypeEnum.Registration && !item.MemberId.HasValue )
        //            {
        //                aMember = new cfcusaga.domain.Membership.Member
        //                {
        //                    LastName = item.Lastname, Firstname = item.Firstname, BirthDate = item.BirthDate ?? item.BirthDate, Gender = item.Gender, Phone = item.Phone, Email = item.Email
        //                };
        //                await _svc.AddMemberDetails(aMember);
        //            }
        //            if (item.CategoryId == (int) CategoryTypeEnum.Registration && aMember != null)
        //            {
        //                await _svc.AddEventRegistrations(aMember, order, item);
        //            }
        //            // _svc.RemoveItemRegistration(item.Id
        //        }
        //        // Set the order's total to the orderTotal count
        //        order.Total = orderTotal;

        //        //TODO: Clean the 
        //        //order.OrderDetails

        //        //_svc.SaveChanges();
        //        // Empty the shopping cart
        //        EmptyCart();
        //        // Return the OrderId as the confirmation number
        //        return order;
        //    }
        //    catch (Exception ex)
        //    {
        //        var msg = ex.Message;
        //        throw;
        //    }
        //}

        public void UpdateCartItem(cfcusaga.domain.Orders.Cart foundItem)
        {
            _svc.UpdateCartItem(foundItem);
        }
예제 #10
0
 public void UpdateCartItem(cfcusaga.domain.Orders.Cart cartItem)
 {
     var entity = _db.Carts.FirstOrDefault(c => c.ID == cartItem.Id);
     if (entity != null) entity.TshirtSize = cartItem.TshirtSize;
     _db.SaveChanges();
 }
예제 #11
0
 public async Task<ActionResult> Edit(cfcusaga.domain.Orders.Order order)
 {
     if (ModelState.IsValid)
     {
         //db.Entry(order).State = EntityState.Modified;
         //await db.SaveChangesAsync();
         await _svc.SaveOrder(order);
         return RedirectToAction("Details", new { id = order.OrderId });
         //return RedirectToAction("Register", "Items", new {eventId = id});
     }
     ViewBag.OrderStatusID = new SelectList(_svc.GetOrderStatuses(), "ID", "Name");
     return View(order);
 }
예제 #12
0
        public async Task<ActionResult> Create(cfcusaga.domain.Events.Item item)
        {
            if (ModelState.IsValid)
            {
                var eventId = EventsController.GetSessionEventId(this.HttpContext);
                item.EventId = eventId ?? 0;
                await _svc.AddEventItem(item);
                return RedirectToAction("Index");
            }

            ViewBag.CatagorieId = new SelectList(_svc.GetItemCategories(), "ID", "Name");
            return View(item);
        }
예제 #13
0
 public async Task<ActionResult> Edit(cfcusaga.domain.Events.Item item)
 {
     if (ModelState.IsValid)
     {
         await _svc.UpdateEventItemAsync(item);
         return RedirectToAction("Index");
     }
     //ViewBag.CatagorieId = new SelectList(_db.Catagories, "ID", "Name", item.CatagorieId);
     ViewBag.CatagorieId = new SelectList(_svc.GetItemCategories(), "ID", "Name");
     return View(item);
 }