Exemplo n.º 1
0
        public IActionResult AddOrder(decimal totalPrice, string foodIds)
        {
            var userIdStr = User.Claims.SingleOrDefault(s => s.Type == "LoginId").Value;

            int.TryParse(userIdStr, out int userId);
            if (userId == 0)
            {
                return(Json(0));
            }

            var order = new TakeOut()
            {
                AccountId  = userId,
                Price      = totalPrice,
                Status     = "已付款",
                CreateTime = DateTime.Now
            };

            _db.TakeOuts.Add(order);
            _db.SaveChanges();

            var splitedIds = foodIds.Split(',');
            var addedFoods = new List <TakeOutAndFood>();

            foreach (var id in splitedIds)
            {
                int.TryParse(id, out int foodId);
                var added = addedFoods.FirstOrDefault(x => x.FoodId == foodId);
                if (added == null)
                {
                    var orderFood = new TakeOutAndFood()
                    {
                        OrderId = order.Id,
                        FoodId  = foodId,
                        Count   = 1
                    };
                    _db.TakeOutAndFoods.Add(orderFood);
                    addedFoods.Add(orderFood);
                }
                else
                {
                    added.Count++;
                }
            }
            _db.SaveChanges();

            return(Json(1));
        }
Exemplo n.º 2
0
            public bool[] ParseDBInformation()
            {
                bool[] bValues = new bool[7];
                try
                {
                    int i = 0;
                    foreach (var TakeOut in typeof(DBObjects.Take_Out_Confirm).GetFields())
                    {
                        bValues[i] = bool.Parse(TakeOut.GetValue(this).ToString());
                        i++;
                    }
                }
                catch (Exception ex)
                {
                    ServiceBaseX._logger.Log(Category.Error, MethodBase.GetCurrentMethod().DeclaringType.Name + "_" + MethodBase.GetCurrentMethod().Name + ": " + ex.Message);
                    return(null);
                }

                return(bValues);
            }