/// <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 ? "" : "保存出错"); } }
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)); }