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")); } }
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); } }