/// <summary>
        /// 增加订单
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public string Add_DinnerOrder(string info)
        {
            if (!info.IsNotNullOrEmpty()
                )
            {
                return("数据为空");
            }
            using (DbRepository entities = new DbRepository())
            {
                var model = info.DeserializeJson <Domain.Dinner.OrderModel>();

                string openId = CacheHelper.Get <string>("dinner-openId");
                string shopId = CacheHelper.Get <string>("dinner-shopId");
                if (!openId.IsNotNullOrEmpty())
                {
                    return("微信授权过期");
                }
                if (!shopId.IsNotNullOrEmpty())
                {
                    return("店铺不存在");
                }
                var addEntity = new DinnerOrder();
                addEntity.UNID    = Guid.NewGuid().ToString("N");
                addEntity.OpenId  = openId;
                addEntity.Details = "";

                decimal totalPrice = 0;
                model.Details.ForEach(x => {
                    entities.OrderDetails.Add(new OrderDetails()
                    {
                        UNID     = Guid.NewGuid().ToString("N"),
                        DishId   = x.DishId,
                        DishName = x.DishName,
                        Number   = x.Number,
                        OrderId  = addEntity.UNID,
                        Price    = x.Price,
                    });
                    totalPrice       += (x.Price * x.Number);
                    addEntity.Details = string.Format("{0} {1}X{2}份 ", addEntity.Details, x.DishName, x.Number);
                });
                addEntity.OrderNum    = string.Format("DC{0}-{1}", DateTime.Now.ToString("yyMMddhhmmss"), addEntity.UNID.SubString(4));
                addEntity.TotalPrice  = totalPrice;
                addEntity.CreatedTime = DateTime.Now;
                addEntity.UpdatedTime = DateTime.Now;
                addEntity.State       = (int)DinnerOrderState.Audting;
                addEntity.ShopId      = shopId;
                addEntity.Remark      = model.Remark;

                entities.DinnerOrder.Add(addEntity);
                return(entities.SaveChanges() > 0 ? "" : "保存出错");
            }
        }
Ejemplo n.º 2
0
        public ActionResult OrderPage(int Id)
        {
            DinnerOrder          dinnerOrder    = new DinnerOrder();
            List <Day>           days           = new List <Day>();
            Restaurant           restaurant     = restaurantRepository.GetRestaurant(Id);
            List <DinnerSession> dinnerSessions = dinnerSessionRepository.GetAllDinnerSessionsByRestaurantId(Id).ToList();

            //filter all days from dinnerSessions per restaurant so only new days are add to days list
            foreach (DinnerSession dinnerSession in dinnerSessions)
            {
                if (!days.Contains(dayRepository.GetDay(dinnerSession.DayId)))
                {
                    days.Add(dayRepository.GetDay(dinnerSession.DayId));
                }
            }

            dinnerOrder.days       = days;
            dinnerOrder.restaurant = restaurant;
            dinnerOrder.timeslot   = retrieveStarttimes(Id, false).startTimeSession.ToList();

            return(View(dinnerOrder));
        }