//big order of all orders
        private BigOrder BigComand()
        {
            var order = (from o in db.Orders
                         join od in db.Order_Details on o.OrderID equals od.OrderID
                         group od by o.OrderID into x
                         select new { OrderID = x.Key, max = x.Sum(o => o.Quantity) })
                        .OrderByDescending(x => x.max)
                        .Take(1);
            BigOrder bigOrder = new BigOrder();

            //IQueryable->BigOrder
            foreach (var itemOrder in order)
            {
                bigOrder.OrderID         = itemOrder.OrderID;
                bigOrder.NumberOfProduct = itemOrder.max;
            }
            return(bigOrder);
        }
Example #2
0
        //报单应答
        public override void OnJHTradeOrder(Trade_Head msgHead, Orderf pOrder)
        {
            if (msgHead != null && pOrder != null && msgHead.ReturnCode == "201")
            {
                //如果是大单报单 添加到大单队列。
                if (BIG_ORDER_F == msgHead.TradeNo)
                {
                    BigOrder big = new BigOrder();

                    big.tradeNo   = BIG_ORDER_F;
                    big.limitTime = DateTime.Now;
                    big.order_no  = pOrder.order_no;
                    big.order_id  = pOrder.order_id;
                    big.bigOrder  = pOrder;

                    listOrderNos.Add(big);
                    return;
                }

                //如果是必须成交的单子不处理
                if (MUST_TRADE_ON == msgHead.TradeNo)
                {
                    return;
                }

                //挂单
                if (int.Parse(msgHead.TradeNo) % 2 == 1)
                {
                    listOpens.Add(pOrder);
                }
                else
                {
                    listCloses.Add(pOrder);
                }
            }
        }
Example #3
0
        // GET: BigOrder/Create
        public ActionResult Create()
        {
            List <SelectListItem> location = new List <SelectListItem>();

            ViewBag.NoLogIn = "";
            SelectListItem Reston = new SelectListItem()
            {
                Text = "Reston", Value = "Reston", Selected = true
            };
            SelectListItem New_York = new SelectListItem()
            {
                Text = "New York", Value = "New York", Selected = false
            };
            SelectListItem Tampa = new SelectListItem()
            {
                Text = "Tampa", Value = "Tampa", Selected = false
            };
            SelectListItem San_Andreas = new SelectListItem()
            {
                Text = "San Andreas", Value = "San Andreas", Selected = false
            };

            location.Add(Reston);
            location.Add(New_York);
            location.Add(Tampa);
            location.Add(San_Andreas);
            ViewBag.locations = location;

            List <SelectListItem> Inv = new List <SelectListItem>();

            SelectListItem Tomato = new SelectListItem()
            {
                Text = "Tomato", Value = "Tomato", Selected = true
            };
            SelectListItem Lettuce = new SelectListItem()
            {
                Text = "Lettuce", Value = "Lettuce", Selected = false
            };
            SelectListItem Mayo = new SelectListItem()
            {
                Text = "Mayo", Value = "mayo", Selected = false
            };
            SelectListItem Ketchup = new SelectListItem()
            {
                Text = "onions", Value = "onions", Selected = false
            };

            Inv.Add(Tomato);
            Inv.Add(Lettuce);
            Inv.Add(Mayo);
            Inv.Add(Ketchup);
            ViewBag.Inv = Inv;

            List <SelectListItem> Inv1 = new List <SelectListItem>();

            SelectListItem Tomato1 = new SelectListItem()
            {
                Text = "Tomato", Value = "Tomato", Selected = true
            };
            SelectListItem Lettuce1 = new SelectListItem()
            {
                Text = "Lettuce", Value = "Lettuce", Selected = false
            };
            SelectListItem Mayo1 = new SelectListItem()
            {
                Text = "Mayo", Value = "mayo", Selected = false
            };
            SelectListItem Ketchup1 = new SelectListItem()
            {
                Text = "onions", Value = "onions", Selected = false
            };

            Inv1.Add(Tomato1);
            Inv1.Add(Lettuce1);
            Inv1.Add(Mayo1);
            Inv1.Add(Ketchup1);
            ViewBag.Inv1 = Inv1;
            List <SelectListItem> Inv2 = new List <SelectListItem>();

            SelectListItem Tomato2 = new SelectListItem()
            {
                Text = "Tomato", Value = "Tomato", Selected = true
            };
            SelectListItem Lettuce2 = new SelectListItem()
            {
                Text = "Lettuce", Value = "Lettuce", Selected = false
            };
            SelectListItem Mayo2 = new SelectListItem()
            {
                Text = "Mayo", Value = "mayo", Selected = false
            };
            SelectListItem Ketchup2 = new SelectListItem()
            {
                Text = "onions", Value = "onions", Selected = false
            };

            Inv2.Add(Tomato2);
            Inv2.Add(Lettuce2);
            Inv2.Add(Mayo2);
            Inv2.Add(Ketchup2);
            ViewBag.Inv2 = Inv2;

            List <SelectListItem> Inv3 = new List <SelectListItem>();

            SelectListItem Tomato3 = new SelectListItem()
            {
                Text = "Tomato", Value = "Tomato", Selected = true
            };
            SelectListItem Lettuce3 = new SelectListItem()
            {
                Text = "Lettuce", Value = "Lettuce", Selected = false
            };
            SelectListItem Mayo3 = new SelectListItem()
            {
                Text = "Mayo", Value = "mayo", Selected = false
            };
            SelectListItem Ketchup3 = new SelectListItem()
            {
                Text = "onions", Value = "onions", Selected = false
            };

            Inv3.Add(Tomato3);
            Inv3.Add(Lettuce3);
            Inv3.Add(Mayo3);
            Inv3.Add(Ketchup3);
            ViewBag.Inv3 = Inv3;

            List <SelectListItem> Inv4 = new List <SelectListItem>();

            SelectListItem Tomato4 = new SelectListItem()
            {
                Text = "Tomato", Value = "Tomato", Selected = true
            };
            SelectListItem Lettuce4 = new SelectListItem()
            {
                Text = "Lettuce", Value = "Lettuce", Selected = false
            };
            SelectListItem Mayo4 = new SelectListItem()
            {
                Text = "Mayo", Value = "mayo", Selected = false
            };
            SelectListItem Ketchup4 = new SelectListItem()
            {
                Text = "onions", Value = "onions", Selected = false
            };

            Inv4.Add(Tomato4);
            Inv4.Add(Lettuce4);
            Inv4.Add(Mayo4);
            Inv4.Add(Ketchup4);
            ViewBag.Inv4 = Inv4;

            BigOrder bigOrder = new BigOrder()
            {
                QuantityBurger     = 0,
                QuantityCocktail   = 0,
                QuantityOfBurger   = 0,
                QuantityDraft_Beer = 0,
                QuantityTaco       = 0,
                QuantityWrap       = 0
            };

            return(View(bigOrder));
        }
Example #4
0
        public async Task <ActionResult> Create(BigOrder collection, string locations, string Inv, string Inv1, string Inv2, string Inv3, string Inv4)
        {
            string Username = "";

            try
            {
                Username = TempData.Peek("username").ToString();
            }
            catch
            {
                ViewBag.NoLogIn = "******";
                return(RedirectToAction("Login", "Account"));
            }

            if (collection.CustomBurgerYes && (collection.Custom_Burger == null || collection.Custom_Burger == ""))
            {
                return(RedirectToAction("Create", "BigOrder"));
            }

            var BO = new BigOrder
            {
                user     = Username,
                Location = locations,
                burger   = collection.burger,

                CockTail           = collection.CockTail,
                Custom_Burger      = collection.Custom_Burger,
                Draft_Beer         = collection.Draft_Beer,
                QuantityDraft_Beer = collection.QuantityDraft_Beer,
                OrderTime          = DateTime.Now,
                QuantityBurger     = collection.QuantityBurger,
                ingredient         = Inv,
                ingredient1        = Inv1,
                ingredient2        = Inv2,
                ingredient3        = Inv3,
                ingredient4        = Inv4,
                QuantityCocktail   = collection.QuantityCocktail,
                QuantityOfBurger   = collection.QuantityOfBurger,
                QuantityTaco       = collection.QuantityTaco,
                QuantityWrap       = collection.QuantityWrap,
                Taco            = collection.Taco,
                wrap            = collection.wrap,
                CustomBurgerYes = collection.CustomBurgerYes
            };

            if (!ModelState.IsValid)
            {
                return(View(BO));
            }
            try
            {
                string jsonString = JsonConvert.SerializeObject(BO);

                var uri2     = ServiceUri + "BigOrder";
                var request2 = new HttpRequestMessage(HttpMethod.Post, uri2)
                {
                    Content = new StringContent(jsonString, Encoding.UTF8, "application/json"),
                };

                var response = await HttpClient.SendAsync(request2);

                if (!response.IsSuccessStatusCode)
                {
                    return(View("AccessDenied"));
                }

                TempData["orderPlaced"] = "Your order has been placed!";
                return(RedirectToAction("IndexAsync", "UserHasPremadeBurgers"));
            }
            catch
            {
                return(View(BO));
            }
        }
        public async Task JustDoMAgic(BigOrder value)
        {
            //order bit
            Users     u = Repo.GetUserByUsername(value.user);
            Locations l = Repo.GetLocationByCity(value.Location);
            Orders    o;

            if (value.CustomBurgerYes)
            {
                o = new Orders
                {
                    UserId     = u.UserId,
                    LocationId = l.Id,
                    OrderTime  = value.OrderTime,
                    Cost       = 5 * (value.QuantityBurger + value.QuantityCocktail + value.QuantityDraft_Beer + value.QuantityOfBurger + value.QuantityTaco + value.QuantityWrap + 11)
                };
            }
            else
            {
                o = new Orders
                {
                    UserId     = u.UserId,
                    LocationId = l.Id,
                    OrderTime  = value.OrderTime,
                    Cost       = 5 * (value.QuantityBurger + value.QuantityCocktail + value.QuantityDraft_Beer + value.QuantityOfBurger + value.QuantityTaco + value.QuantityWrap)
                };
            }


            await Repo.AddOrderAsync(o);

            //order bit

            //items into order
            Orders LastOrderOfUser = await Repo.FindLastOrderOfUserAsync(u.UserId);

            await addPreMadeItem(value.burger, value.QuantityOfBurger, "Burger", LastOrderOfUser.OrderId, l.Id);

            await addPreMadeItem(value.CockTail, value.QuantityCocktail, "Cocktail", LastOrderOfUser.OrderId, l.Id);
            await addPreMadeItem(value.Draft_Beer, value.QuantityDraft_Beer, "Draft Beer", LastOrderOfUser.OrderId, l.Id);
            await addPreMadeItem(value.Taco, value.QuantityTaco, "Taco", LastOrderOfUser.OrderId, l.Id);
            await addPreMadeItem(value.wrap, value.QuantityWrap, "Wrap", LastOrderOfUser.OrderId, l.Id);

            //items into order
            if (value.CustomBurgerYes)
            {
                await addCustomBurger(value.CustomBurgerYes, value.Custom_Burger, LastOrderOfUser.OrderId);

                var cb = await Repo.getLastCustom(value.Custom_Burger);

                var buns = await Repo.GetInventoriesByNameAsync("buns");

                var patties = await Repo.GetInventoriesByNameAsync("patties");

                var cheese = await Repo.GetInventoriesByNameAsync("cheese");

                var Inv = await Repo.GetInventoriesByNameAsync(value.ingredient);

                var Inv1 = await Repo.GetInventoriesByNameAsync(value.ingredient1);

                var Inv2 = await Repo.GetInventoriesByNameAsync(value.ingredient2);

                var Inv3 = await Repo.GetInventoriesByNameAsync(value.ingredient3);
                await CustomUsesInventory(cb.Id, buns.Id);
                await CustomUsesInventory(cb.Id, patties.Id);
                await CustomUsesInventory(cb.Id, cheese.Id);
                await CustomUsesInventory(cb.Id, Inv.Id);
                await CustomUsesInventory(cb.Id, Inv1.Id);
                await CustomUsesInventory(cb.Id, Inv2.Id);
                await CustomUsesInventory(cb.Id, Inv3.Id);
                await addinv(l.Id, buns.Id);
                await addinv(l.Id, patties.Id);
                await addinv(l.Id, cheese.Id);
                await addinv(l.Id, Inv.Id);
                await addinv(l.Id, Inv1.Id);
                await addinv(l.Id, Inv2.Id);
                await addinv(l.Id, Inv3.Id);
            }
        }
        public async Task <ActionResult <Orders> > PostAsync(BigOrder value)
        {
            await JustDoMAgic(value);

            return(NoContent());
        }