//删除外卖单 public bool DeletedTakeoutOrder(int id) { if (id < 0) { return(false); } using (ChooseDishesEntities entities = new ChooseDishesEntities()) { try { TakeoutOrder booktype = new TakeoutOrder() { TakeoutId = id, }; DbEntityEntry <TakeoutOrder> entry = entities.Entry <TakeoutOrder>(booktype); entry.State = EntityState.Deleted; entities.SaveChanges(); return(true); } catch (Exception e) { e.ToString(); return(false); } } }
public void AddTakeoutOrder() { TakeoutOrderDataService at = new TakeoutOrderDataService(); TakeoutOrder to = new TakeoutOrder() { OrderId = new Random().Next(10000) + 1, OrderPeopleId = 15, DeliveryManNum = "000b", Num = "001", AdvanceAmount = 200, DeliverTime = DateTime.Now, SendTime = DateTime.Now, CreateBy = 1, CreateDatetime = DateTime.Now, Status = 0, Deleted = 0 }; Assert.IsTrue(at.AddTakeoutOrder(to)); }
public void UpdateTakeoutOrder() { TakeoutOrderDataService at = new TakeoutOrderDataService(); TakeoutOrder to = new TakeoutOrder() { OrderId = 1694, TakeoutId = 1, OrderPeopleId = 14, DeliveryManNum = "aaa", Num = "003", AdvanceAmount = 500, DeliverTime = DateTime.Today, SendTime = DateTime.Today, Status = 0, Deleted = 0, UpdateBy = 1, UpdateDatetime = DateTime.Now }; Assert.IsTrue(at.UpdateTakeoutOrder(to)); }
//添加外卖单 public bool AddTakeoutOrder(TakeoutOrder To) { if (To == null) { return(false); } //添加 using (ChooseDishesEntities entities = new ChooseDishesEntities()) { try { entities.TakeoutOrder.Add(To); entities.SaveChanges(); return(true); } catch (Exception e) { e.ToString(); return(false); } } }
//修改外卖单 public bool UpdateTakeoutOrder(TakeoutOrder To) { if (To == null) { return(false); } //修改 直接修改 using (ChooseDishesEntities entities = new ChooseDishesEntities()) { try { var type = entities.TakeoutOrder.SingleOrDefault(bt => bt.OrderId == To.OrderId); if (type != null) { type.OrderPeopleId = To.OrderPeopleId; type.DeliveryManNum = To.DeliveryManNum; type.Num = To.Num; type.AdvanceAmount = To.AdvanceAmount; type.DeliverTime = To.DeliverTime; type.SendTime = To.SendTime; type.Status = To.Status; type.Deleted = To.Deleted; type.UpdateBy = To.UpdateBy; type.UpdateDatetime = To.UpdateDatetime; entities.SaveChanges(); return(true); } } catch (Exception e) { e.ToString(); return(false); } return(false); } }
//确定落单 private void CommitOrder() { if (string.IsNullOrEmpty(ContactNumber)) { MessageBox.Show("请填写联系电话"); return; } if (string.IsNullOrEmpty(OrderPeople)) { MessageBox.Show("请填写或者选择订餐人"); return; } if (string.IsNullOrEmpty(Address)) { MessageBox.Show("请填写订餐人地址"); return; } bool flag = false; //1.将订餐人信息插入到外卖客户信息表中 TakeoutClientInfo info = _DataService.FindTakeoutClientByTelephone(ContactNumber); if (info == null) { info = new TakeoutClientInfo() { OrderPeopleId = new Random().Next(1000) + 1, Order_people = OrderPeople, Telephone = ContactNumber, Address = Address, Create_by = 0, //操作人id Create_datetime = DateTime.Now, Status = 0, Deleted = 0 }; flag = _DataService.AddTakeoutClientInfo(info); } else { info.Order_people = OrderPeople; info.Telephone = ContactNumber; info.Address = Address; info.Status = 0; info.Deleted = 0; info.Update_by = 0; //操作人id info.Update_datetime = DateTime.Now; flag = _DataService.UpdateTakeoutClientInfo(info); } if (flag) { TakeoutOrder to = new TakeoutOrder(); to.OrderPeopleId = info.OrderPeopleId; to.OrderId = 1222; //订单号,去订单中查询获取 to.DeliveryManNum = DeliveryMan; //需要去员工数据库查找确定 to.Num = "Q000"; to.AdvanceAmount = 0; to.DeliverTime = DateTime.Now; //送出时指定 to.SendTime = DateTime.Now; to.Status = 0; //0表示未送出状态,1表示在送出状态,2表示送达未签收状态,3.送达已签收状态 to.Deleted = 0; to.CreateBy = 0; //操作人id to.CreateDatetime = DateTime.Now; //2.将订单信息插入到订单表中 flag = _DataService.AddTakeoutOrder(to); if (flag) { //关闭所有页面 //通知主线程执行关闭操作 DispatcherHelper.CheckBeginInvokeOnUI(() => TakeoutOrderWindow.getInstance().Close()); //3.在厨房打印出厨打单 return; } } DispatcherHelper.CheckBeginInvokeOnUI(() => MessageBox.Show("外卖单录入失败")); }
public void CreateTakeoutPriorityOrderQueue(AddOrderedMealViewModel model) { var usrID = HttpContext.Session.GetInt32("userID"); var users = _context.Users.Include(t => t.TakeoutOrders).Include(r => r.Reservations).ToList(); foreach (var user in users) { user.LoyalityPoints = user.Reservations.Where(r => r.State != (int)OrderState.Canceled).ToList().Count; user.LoyalityPoints -= user.Reservations.Where(r => r.State == (int)OrderState.Canceled).ToList().Count; user.LoyalityPoints += user.TakeoutOrders.Where(r => r.State != (int)OrderState.Canceled).ToList().Count; user.LoyalityPoints -= user.TakeoutOrders.Where(r => r.State == (int)OrderState.Canceled).ToList().Count; } var takeout = new TakeoutOrder { OrderedByUserId = (int)usrID, OrderDate = DateTime.Now, OrderedForDate = (DateTime)model.OrderedForDate, Price = 0, State = (int)OrderState.Created, ManagedByWaiterId = 1 }; var minDate = takeout.OrderedForDate.AddMinutes(-5); var maxDate = takeout.OrderedForDate.AddMinutes(5); var beforeTake = _context.TakeoutOrders.Where(d => DateTime.Compare(minDate, d.OrderedForDate) <= 0); var afterTake = beforeTake.Where(d => DateTime.Compare(maxDate, d.OrderedForDate) >= 0).Include(u => u.OrderedBy); var overlaped = afterTake.FirstOrDefault(); bool overlap = overlaped != null ? true : false; int currentUserPoints = users.Where(l => l.UserId == (int)usrID).FirstOrDefault().LoyalityPoints; int overlapUserPoints = overlap ? overlaped.OrderedBy.LoyalityPoints : 0; if (overlap) { if (overlapUserPoints >= currentUserPoints) { takeout.State = (int)OrderState.Canceled; _context.Add(takeout); _context.SaveChanges(); foreach (var m in model.OrderedMeals) { var om = new OrderedMeal { InTakeoutTakeoutOrderId = takeout.TakeoutOrderId, MenuEntryId = m.MenuEntryId, Quantity = m.Quantity, Comment = m.Comment, Price = m.Price }; _context.Add(om); } } else { overlaped.State = (int)OrderState.Canceled; _context.Update(overlaped); _context.Add(takeout); _context.SaveChanges(); foreach (var m in model.OrderedMeals) { var om = new OrderedMeal { InTakeoutTakeoutOrderId = takeout.TakeoutOrderId, MenuEntryId = m.MenuEntryId, Quantity = m.Quantity, Comment = m.Comment, Price = m.Price }; _context.Add(om); } } } else // No overlap detected { _context.Add(takeout); _context.SaveChanges(); foreach (var m in model.OrderedMeals) { var om = new OrderedMeal { InTakeoutTakeoutOrderId = takeout.TakeoutOrderId, MenuEntryId = m.MenuEntryId, Quantity = m.Quantity, Comment = m.Comment, Price = m.Price }; _context.Add(om); } } _context.SaveChanges(); }