コード例 #1
0
        public ActionResult GetOrders(string userName)
        {
            if (userName != null)
            {
                ApplicationManager manager =
                    new ApplicationManager(new ApplicationStore(new ApplicationDbContext()));
                ApplicationUser user = manager.FindByNameAsync(userName).Result;

                var CurrentUser = System.Web.HttpContext.Current.User.Identity.Name;
                if (CurrentUser != userName)
                {
                    return(RedirectToAction("Login", "Account"));
                }

                List <OrderServiceEmployee> listofOrderServiceEmployees = new List <OrderServiceEmployee>();
                List <Service> listofServices = new List <Service>(); // list of services
                List <Offer>   listofOffers   = new List <Offer>();   //list of offers
                orderViewModel orderViewModel = new orderViewModel();
                DateTime       dateofnow      = DateTime.Now;
                // selcet orders
                var orders = (from VAR in context.Orders
                              where VAR.ClientID == user.Id && VAR.StartTime >= dateofnow
                              select VAR).ToList();
                orderViewModel.Orders = orders; // fill list of orders
                foreach (var VARIABLE in orderViewModel.Orders)
                {
                    // select orderService Employee
                    var orderServiceEmployee = (from serv in context.OrderServiceEmployees
                                                where serv.OrderID == VARIABLE.ID
                                                select serv).FirstOrDefault();
                    if (orderServiceEmployee != null)
                    {
                        listofOrderServiceEmployees.Add(orderServiceEmployee);
                        var service = (from serv in context.Services
                                       where serv.ID == orderServiceEmployee.ServiceID
                                       select serv).FirstOrDefault();
                        listofServices.Add(service);
                    }
                    var offer = (from row in context.Offers where row.OrderID == VARIABLE.ID && row.Order.StatusID != 3 select row).FirstOrDefault();
                    if (offer != null)
                    {
                        listofOffers.Add(offer);
                    }
                }

                orderViewModel.ServiceEmployees = listofOrderServiceEmployees;
                orderViewModel.Services         = listofServices;
                orderViewModel.Offers           = listofOffers;
                return(View(orderViewModel));
            }
            else
            {
                return(RedirectToAction("Login", "Account"));
            }
        }
コード例 #2
0
        public JsonResult Order(orderViewModel model)
        {
            try
            {
                var cart_items = JsonConvert.DeserializeObject <List <cart> >(model.cartItems);
                if (!ModelState.IsValid)
                {
                    return(Json(new { success = false, responseText = "Sorry! There was error perfoming your action." }, JsonRequestBehavior.AllowGet));
                }


                Order order = new Order();
                order.fname    = model.fname;
                order.lname    = model.lname;
                order.phoneno  = model.phoneno;
                order.postcode = model.postcode;
                order.province = model.province;
                order.city     = model.city;
                order.countary = model.countary;
                order.email    = model.email;
                order.address  = model.address;
                order.status   = Status.pending;
                order.date     = DateTime.Now;

                _context.Orders.Add(order);
                _context.SaveChanges();

                OrderProduct orderProduct = new OrderProduct();
                foreach (var item in cart_items)
                {
                    orderProduct.OrderId   = order.Id;
                    orderProduct.ProductId = item.Id;
                    orderProduct.quantity  = item.Quantity;
                    orderProduct.date      = DateTime.Now;

                    _context.OrderProducts.Add(orderProduct);
                    _context.SaveChanges();
                }


                var order_new = _context.Orders.SingleOrDefault(c => c.Id == order.Id);



                return(Json(new { data = order_new, success = true, responseText = "Your Order has been successfuly placed" }, JsonRequestBehavior.AllowGet));
            }
            catch (JsonException jx)
            {
                throw new JsonException("Unable to place order", jx);
            }
        }