private void Button_Click_2(object sender, RoutedEventArgs e) { if (OrderDishes.SelectedItem != null) { DXInfo.Models.OrderDishes od = OrderDishes.SelectedItem as DXInfo.Models.OrderDishes; //DXInfo.Models.FairiesMemberManage db = new DXInfo.Models.FairiesMemberManage(); var q = (from m in uow.OrderMenus.GetAll() join i in uow.Inventory.GetAll() on m.InventoryId equals i.Id into mi from mis in mi.DefaultIfEmpty() join u in uow.aspnet_CustomProfile.GetAll() on m.UserId equals u.UserId into mu from mus in mu.DefaultIfEmpty() where m.OrderId == od.Id select new { m.Id, m.InventoryId, mis.Name, m.Price, m.Quantity, m.Amount, mus.FullName, m.CreateDate, m.Status, }).ToList(); MemberList.ItemsSource = q; Amount.Text = q.Sum(s => s.Amount).ToString(); } }
private void Button_Click_3(object sender, RoutedEventArgs e) { if (OrderDishes.SelectedItem != null) { if (MessageBox.Show("卡号:" + CardNo.Text, "无卡结账提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { DXInfo.Models.OrderDishes orderDishe = OrderDishes.SelectedItem as DXInfo.Models.OrderDishes; MemberBalance(orderDishe.Id, CardNo.Text); card.DataContext = null; OrderDishes.ItemsSource = null; MemberList.ItemsSource = null; Amount.Text = ""; } } }
private bool OrderDisheUpdate(Guid orderDishId, DateTime createDate, Guid userId) { DXInfo.Models.OrderDishes newOrderDish = uow.OrderDishes.GetById(g => g.Id == orderDishId); if (newOrderDish == null) { ErrorMsg = "订单已结账!"; return(false); } if (newOrderDish.Status != (int)DXInfo.Models.OrderDishStatus.Ordered) { ErrorMsg = "确认下单后才可以结账!"; return(false); } uow.OrderDishes.Delete(newOrderDish); DXInfo.Models.OrderDishesHis newOrderDishHis = Mapper.Map <DXInfo.Models.OrderDishesHis>(newOrderDish); newOrderDishHis.Status = (int)DXInfo.Models.OrderDishStatus.Checkouted; newOrderDishHis.LinkId = newOrderDish.Id; newOrderDishHis.CreateDate = createDate; newOrderDishHis.UserId = userId; uow.OrderDishesHis.Add(newOrderDishHis); return(true); }
public OrderInfo GetOrder(string userName, string passwd, string deskNo) { OrderInfo orderInfo = new OrderInfo(); if (!LogOn(userName, passwd)) { return(null); } DXInfo.Models.aspnet_Users user = (from d in uow.aspnet_Users.GetAll() where d.UserName == userName select d).FirstOrDefault(); if (user == null) { throw new WebFaultException <string>("无“" + userName + "”操作员信息", HttpStatusCode.MethodNotAllowed); } orderInfo.OrderDesk.UserId = user.UserId; DXInfo.Models.aspnet_CustomProfile userProfile = uow.aspnet_CustomProfile.GetById(g => g.UserId == user.UserId); if (userProfile == null) { throw new WebFaultException <string>("无“" + userName + "”操作员信息", HttpStatusCode.MethodNotAllowed); } orderInfo.OrderDesk.UserName = user.UserName; orderInfo.OrderDesk.FullName = userProfile.FullName; //判断桌台是否可用 DXInfo.Models.Desks curdesk = uow.Desks.GetAll().Where(w => w.Code == deskNo).FirstOrDefault(); if (curdesk == null) { //throw new Exception("桌台错误"); throw new WebFaultException <string>(deskNo + "无此桌台", HttpStatusCode.MethodNotAllowed); } if (curdesk.Status != 1) { //throw new Exception("桌台不在用"); throw new WebFaultException <string>(deskNo + "不在用", HttpStatusCode.MethodNotAllowed); } orderInfo.OrderDesk.DeskId = curdesk.Id; orderInfo.OrderDesk.DeskNo = deskNo; //判断桌台是否使用 DXInfo.Models.OrderDeskes od = (from d in uow.OrderDeskes.GetAll() where d.DeskId == curdesk.Id && d.Status == 0 select d).FirstOrDefault(); if (od == null) { //throw new Exception("订单错误"); throw new WebFaultException <string>(deskNo + "未开台", HttpStatusCode.MethodNotAllowed); } orderInfo.OrderDesk.OrderDeskId = od.Id; DXInfo.Models.OrderDishes orderDish = (from d in uow.OrderDishes.GetAll() where d.Id == od.OrderId select d).FirstOrDefault(); if (orderDish == null) { throw new WebFaultException <string>("无此订单", HttpStatusCode.MethodNotAllowed); } if (!(orderDish.Status == 0 || orderDish.Status == 3)) { throw new WebFaultException <string>("已结账或已撤销", HttpStatusCode.MethodNotAllowed); } orderInfo.OrderDesk.OrderDishId = orderDish.Id; var q = from d in uow.OrderMenus.GetAll() where d.OrderId == od.OrderId && !(d.Status == 1 || d.Status == 7) join i in uow.Inventory.GetAll() on d.InventoryId equals i.Id into di from dis in di.DefaultIfEmpty() join p in uow.OrderPackages.GetAll() on d.PackageId equals p.Id into dp from dps in dp.DefaultIfEmpty() orderby d.Id select new OrderMenuInfo() { OrderMenuId = d.Id, InvId = d.InventoryId, InvCode = dis.Code, InvName = dis.Name, Amount = d.Amount, Quantity = d.Quantity, SalePrice = d.Price, EnglishName = dis.EnglishName, Comment = d.Comment, IsAdd = false, IsDelete = false, IsPackage = d.IsPackage, PackageId = d.PackageId, PackageSn = d.PackageSn, Status = d.Status, }; orderInfo.lOrderMenu = q.ToList(); List <DXInfo.Models.MenuStatus> lLackMenu = (from d in uow.MenuStatus.GetAll() where d.Dept == localDeptId && d.Status == (int)DXInfo.Models.OrderMenuStatus.Lack select d).ToList(); orderInfo.lLackMenu = lLackMenu; return(orderInfo); }
public bool Order(OrderDeskInfo orderDesk, List <OrderMenuInfo> lOrderMenu) { DateTime dtOperDate = DateTime.Now; Guid userId = Guid.Empty; try { using (TransactionScope transaction = new TransactionScope()) { if (!orderDesk.UserId.HasValue) { throw new WebFaultException <string>("无“" + orderDesk.UserName + "”操作员信息", HttpStatusCode.MethodNotAllowed); } userId = orderDesk.UserId.Value; DXInfo.Models.OrderDishes orderDish = uow.OrderDishes.GetById(g => g.Id == orderDesk.OrderDishId); if (orderDish == null) { throw new WebFaultException <string>("无此订单", HttpStatusCode.MethodNotAllowed); } if (orderDish.Status == 1 || orderDish.Status == 2) { throw new WebFaultException <string>("已结账或撤销的不能提交", HttpStatusCode.MethodNotAllowed); } foreach (OrderMenuInfo omi in lOrderMenu) { int lackCount = (from d in uow.MenuStatus.GetAll() where d.Dept == localDeptId && d.Inventory == omi.InvId && d.Status == (int)DXInfo.Models.OrderMenuStatus.Lack select d).Count(); if (lackCount > 0) { throw new WebFaultException <string>(omi.InvName + "缺菜不能提交", HttpStatusCode.MethodNotAllowed); } if (omi.IsAdd && !omi.OrderMenuId.HasValue) { DXInfo.Models.OrderMenus orderMenu = new DXInfo.Models.OrderMenus(); orderMenu.UserId = userId; orderMenu.OrderId = orderDesk.OrderDishId.Value; orderMenu.InventoryId = omi.InvId; orderMenu.Price = omi.SalePrice; orderMenu.Quantity = omi.Quantity; orderMenu.Amount = omi.Amount; orderMenu.Comment = omi.Comment; orderMenu.CreateDate = dtOperDate; orderMenu.IsPackage = omi.IsPackage; orderMenu.PackageId = omi.PackageId; orderMenu.PackageSn = omi.PackageSn; orderMenu.Status = (int)DXInfo.Models.OrderMenuStatus.Normal; uow.OrderMenus.Add(orderMenu); uow.Commit(); DXInfo.Models.OrderMenusHis omHis = Mapper.Map <DXInfo.Models.OrderMenusHis>(orderMenu); omHis.LinkId = orderMenu.Id; uow.OrderMenusHis.Add(omHis); } else { if (omi.OrderMenuId.HasValue) { DXInfo.Models.OrderMenus orderMenu = (from d in uow.OrderMenus.GetAll() where d.Id == omi.OrderMenuId select d) .FirstOrDefault(); if (orderMenu != null && orderMenu.Status == (int)DXInfo.Models.OrderMenuStatus.Normal) { if (omi.IsDelete) { uow.OrderMenus.Delete(orderMenu); } else { orderMenu.Quantity = omi.Quantity; orderMenu.Price = omi.SalePrice; orderMenu.Amount = omi.Amount; orderMenu.Comment = omi.Comment; uow.OrderMenus.Update(orderMenu); } DXInfo.Models.OrderMenusHis omHis = Mapper.Map <DXInfo.Models.OrderMenusHis>(orderMenu); omHis.LinkId = orderMenu.Id; omHis.UserId = userId; omHis.CreateDate = dtOperDate; uow.OrderMenusHis.Add(omHis); } } } } uow.Commit(); transaction.Complete(); } } catch (Exception ex) { throw new WebFaultException <string>(ex.Message, HttpStatusCode.MethodNotAllowed); } return(true); }
private void MemberBalance(Guid orderId, string cardNo) { //结账 //DXInfo.Models.FairiesMemberManage db = new DXInfo.Models.FairiesMemberManage(); DXInfo.Models.Cards card = uow.Cards.GetAll().Where(w => w.CardNo == cardNo).FirstOrDefault(); if (card == null) { MessageBox.Show(cardNo + "未找到会员卡"); return; } DXInfo.Models.Members member = uow.Members.GetAll().Where(w => w.Id == card.Member).FirstOrDefault(); if (member == null) { MessageBox.Show("未找到会员信息"); return; } DXInfo.Models.CardLevels cardLevel = uow.CardLevels.GetAll().Where(w => w.Id == card.CardLevel).FirstOrDefault(); if (cardLevel == null) { MessageBox.Show("未找到卡级别参数"); return; } DXInfo.Models.OrderDishes orderDish = uow.OrderDishes.GetAll().Where(w => w.Id == orderId && w.Status == 2).FirstOrDefault(); if (orderDish == null) { MessageBox.Show("已撤销桌台才可无卡结账"); return; } decimal dDiscount = cardLevel.Discount; //bool isOut = false; Guid gPayType = Guid.Empty; var lsi = (from o in uow.OrderMenus.GetAll() join i in uow.Inventory.GetAll() on o.InventoryId equals i.Id into oi from ois in oi.DefaultIfEmpty() join c in uow.InventoryCategory.GetAll() on ois.Category equals c.Id into ic from ics in ic.DefaultIfEmpty() where o.OrderId == orderId && !(o.Status == 0 || o.Status == 1 || o.Status == 7) select new { ics.IsDiscount, o.InventoryId, ois.Code, ois.Name, ois.EnglishName, o.Price, o.Comment, o.Status, o.Id, o.Amount, o.Quantity, ois.Category }).ToList(); decimal dSum = lsi.Sum(s => s.Amount); decimal dSum1 = lsi.Where(w => w.IsDiscount).Sum(s => s.Amount); decimal dSum2 = lsi.Where(w => !w.IsDiscount).Sum(s => s.Amount); int iCount = Convert.ToInt32(lsi.Sum(s => s.Quantity)); decimal dAmount = (Math.Round(dSum1 * dDiscount / 100, 2) + dSum2); if (dAmount > card.Balance) { MessageBox.Show("余额不足"); return; } //消费积分 Guid deptId = App.MyIdentity.oper.DeptId.Value; decimal point = 0; if (dAmount > 0) { var cp1 = uow.ConsumePoints.GetAll().Where(w => w.DeptId == deptId); var cp = cp1.Count() > 0 ? cp1 : uow.ConsumePoints.GetAll(); foreach (var si in lsi) { if (cp.Count() > 0) { var cpc = cp.Where(w => w.Category == si.Category); if (cpc.Count() > 0) { decimal min = cpc.Min(m => m.Point / m.Amount); point += si.Amount * min; } else { decimal min = cp.Min(m => m.Point / m.Amount); point += si.Amount * min; } } } } var lselInv = lsi.Select(s => new { OrderMenuId = s.Id, Id = s.InventoryId, s.Code, s.Name, s.EnglishName, s.Price, s.Quantity, s.Amount, s.Comment, s.IsDiscount, Status = s.Status }); Guid cardId = card.Id; DateTime dtn = DateTime.Now.AddDays(-1); var di = (from d1 in uow.CardDonateInventory.GetAll().Where(w => w.CardId == cardId).Where(w => w.IsValidate).Where(w => w.InvalideDate > dtn) join i in uow.Inventory.GetAll() on d1.Inventory equals i.Id into d1i from d1is in d1i.DefaultIfEmpty() select new { d1is.Id, d1is.Name }).ToList(); var ctx = new { Id = card.Id, CardNo = card.CardNo, MemberName = member.MemberName, UserId = App.MyIdentity.oper.UserId, FullName = App.MyIdentity.oper.FullName, DeptId = App.MyIdentity.oper.DeptId.Value, DeptName = App.MyIdentity.dept.DeptName, Sum = dSum, Voucher = 0, PayVoucher = 0, Discount = dDiscount, Amount = dAmount, LastBalance = card.Balance, Balance = card.Balance - dAmount, CreateDate = DateTime.Now, lSelInv = lselInv, Point = point, Count = iCount, CardDonateInventory = di, PayType = gPayType, OrderId = orderId }; DeskNoCardConsume2Window cw = new DeskNoCardConsume2Window(uow, ctx); if (cw.ShowDialog().GetValueOrDefault()) { } }
private void Button_Click(object sender, RoutedEventArgs e) { if (IsPrint) { PrintDialog pDialog1 = new PrintDialog(); pDialog1.PrintVisual(GridPrint, "会员卡消费打印"); DialogResult = true; this.Close(); return; } dynamic d = GridPrint.DataContext; decimal dCash = Convert.ToDecimal(txtCash.Text); decimal dChange = Convert.ToDecimal(txtChange.Text); if (dCash - dChange < d.Amount) { throw new ArgumentException("收的钱应不小于消费金额"); } using (TransactionScope transaction = new TransactionScope()) { Guid orderId = d.OrderId; DXInfo.Models.OrderDishes orderDish = uow.OrderDishes.GetById(orderId);//.Where(w => w.Id == orderId).FirstOrDefault(); if (orderDish.Status != 3) { MessageBox.Show("确认下单后才可以结账!"); DialogResult = false; this.Close(); return; } orderDish.Status = 1; var q = from o in uow.OrderDeskes.GetAll() where o.OrderId == orderDish.Id select o; foreach (DXInfo.Models.OrderDeskes orderDesk in q) { orderDesk.Status = 1; DXInfo.Models.OrderDeskesHis deskHis = new DXInfo.Models.OrderDeskesHis(); deskHis.DeskId = orderDesk.DeskId; deskHis.LinkId = orderDesk.Id; deskHis.OrderId = orderDesk.OrderId; deskHis.UserId = d.UserId; deskHis.CreateDate = DateTime.Now; deskHis.Status = 1; uow.OrderDeskesHis.Add(deskHis); } DXInfo.Models.Consume consume = new DXInfo.Models.Consume(); consume.OrderId = d.OrderId; consume.Sum = d.Sum; consume.Voucher = d.Voucher; consume.PayVoucher = d.PayVoucher; consume.Discount = d.Discount; consume.Card = d.Id; consume.Amount = d.Amount; consume.CreateDate = d.CreateDate; consume.DeptId = d.DeptId; consume.Point = d.Point; consume.UserId = d.UserId; consume.Point = d.Point; consume.ConsumeType = 3; consume.SourceType = 1; consume.Cash = dCash; consume.Change = dChange; consume.Quantity = d.Count; if (d.PayType != Guid.Empty) { consume.PayType = d.PayType; } uow.Consume.Add(consume); DXInfo.Models.Bills bill = new DXInfo.Models.Bills(); bill.Sum = d.Sum; bill.Voucher = d.Voucher; bill.Discount = d.Discount; bill.Amount = d.Amount; bill.BillType = "WRCardConsume3Window"; bill.CardNo = d.CardNo; bill.CreateDate = d.CreateDate; bill.DeptName = d.DeptName; bill.FullName = d.FullName; bill.MemberName = d.MemberName; bill.PayTypeName = d.PayTypeName; bill.Cash = dCash; bill.Change = dChange; uow.Bills.Add(bill); uow.Commit(); Guid CardId = d.Id; DXInfo.Models.Cards card = uow.Cards.GetById(CardId);//.Where(w => w.Id == CardId).FirstOrDefault(); if (card == null) { throw new ArgumentException("卡信息未找到"); } if (d.CardDonateInventory != null && d.CardDonateInventory.Count > 0) { foreach (var cdi in d.CardDonateInventory) { DXInfo.Models.ConsumeDonateInv cdonate = new DXInfo.Models.ConsumeDonateInv(); cdonate.Consume = consume.Id; cdonate.Inventory = cdi.Id; uow.ConsumeDonateInv.Add(cdonate); Guid gInvId = cdi.Id; var cdi1 = uow.CardDonateInventory.GetAll().Where(w => w.Inventory == gInvId).Where(w => w.CardId == CardId).FirstOrDefault(); if (cdi1 != null) { cdi1.IsValidate = false; } DXInfo.Models.BillDonateInvLists bd = new DXInfo.Models.BillDonateInvLists(); bd.Bill = bill.Id; bd.InvName = cdi.Name; uow.BillDonateInvLists.Add(bd); } } //DXInfo.Restaurant.DeskManageFacade dmf = new DXInfo.Restaurant.DeskManageFacade(); foreach (var si in d.lSelInv) { Guid orderMenuId = si.OrderMenuId; DXInfo.Models.OrderMenus om = uow.OrderMenus.GetById(orderMenuId);//.Where(w => w.Id == orderMenuId).FirstOrDefault(); om.OperDate = DateTime.Now; om.UserId = App.MyIdentity.oper.UserId; om.Status = 8; uow.OrderMenus.Update(om); DXInfo.Models.OrderMenusHis omHis = Mapper.Map <DXInfo.Models.OrderMenusHis>(om);//dmf.CreateOrderMenuHis(om, App.MyIdentity.oper.UserId, DateTime.Now); omHis.LinkId = om.Id; uow.OrderMenusHis.Add(omHis); DXInfo.Models.ConsumeList cl = new DXInfo.Models.ConsumeList(); cl.Amount = si.IsDiscount ? Math.Floor(si.Amount * d.Discount / 100) : si.Amount; cl.Consume = consume.Id; cl.CreateDate = d.CreateDate; cl.DeptId = d.DeptId; cl.Inventory = si.Id; cl.Price = si.Price; cl.Quantity = si.Quantity; cl.UserId = d.UserId; cl.Sum = si.Amount; cl.Discount = si.IsDiscount ? d.Discount : 100; cl.IsPackage = si.IsPackage; cl.PackageId = si.PackageId; uow.ConsumeList.Add(cl); DXInfo.Models.BillInvLists bl = new DXInfo.Models.BillInvLists(); bl.Amount = si.Amount; bl.Bill = bill.Id; bl.CupType = si.EnglishName; bl.Name = si.Name; bl.Quantity = si.Quantity; bl.SalePrice = si.Price; uow.BillInvLists.Add(bl); } if (d.Point > 0) { var cps = uow.CardPoints.GetAll().Where(w => w.Card == CardId).Where(w => w.PointType == 0).FirstOrDefault(); if (cps != null) { cps.Point = cps.Point + d.Point; } else { DXInfo.Models.CardPoints cp = new DXInfo.Models.CardPoints(); cp.Card = d.Id; cp.CreateDate = d.CreateDate; cp.DeptId = d.DeptId; cp.Point = d.Point; cp.PointType = 0; cp.UserId = d.UserId; uow.CardPoints.Add(cp); } } uow.Commit(); transaction.Complete(); } PrintDialog pDialog = new PrintDialog(); pDialog.PageRangeSelection = PageRangeSelection.AllPages; pDialog.UserPageRangeEnabled = true; this.Measure(new Size(pDialog.PrintableAreaWidth, pDialog.PrintableAreaHeight)); this.Arrange(new Rect(new Point(0, 0), this.DesiredSize)); pDialog.PrintVisual(GridPrint, "会员卡消费打印"); DialogResult = true; this.Close(); }
public void Button_Click(object sender, RoutedEventArgs e) { if (IsPrint) { PrintDialog pDialog1 = new PrintDialog(); pDialog1.PrintVisual(GridPrint, "非会员消费打印"); DialogResult = true; this.Close(); return; } dynamic d = GridPrint.DataContext; decimal dCash = Convert.ToDecimal(txtCash.Text); decimal dChange = Convert.ToDecimal(txtChange.Text); if (dCash - dChange < d.Amount) { throw new ArgumentException("收的钱应不小于消费金额"); } Guid orderId = d.OrderId; using (TransactionScope transaction = new TransactionScope()) { DXInfo.Models.OrderDishes orderDish = uow.OrderDishes.GetById(orderId);//.Where(w => w.Id == orderId).FirstOrDefault(); if (orderDish.Status != 3) { MessageBox.Show("确认下单后才可以结账!"); DialogResult = false; this.Close(); return; } orderDish.Status = 1; var q = from o in uow.OrderDeskes.GetAll() where o.OrderId == orderDish.Id select o; foreach (DXInfo.Models.OrderDeskes orderDesk in q) { orderDesk.Status = 1; DXInfo.Models.OrderDeskesHis deskHis = new DXInfo.Models.OrderDeskesHis(); deskHis.DeskId = orderDesk.DeskId; deskHis.LinkId = orderDesk.Id; deskHis.OrderId = orderDesk.OrderId; deskHis.UserId = d.UserId; deskHis.CreateDate = DateTime.Now; deskHis.Status = 1; uow.OrderDeskesHis.Add(deskHis); } DXInfo.Models.Consume consume = new DXInfo.Models.Consume(); consume.OrderId = d.OrderId; consume.Sum = d.Sum; consume.Voucher = d.Voucher; consume.PayVoucher = d.PayVoucher; consume.Amount = d.Amount; consume.CreateDate = d.CreateDate; consume.DeptId = d.DeptId; consume.UserId = d.UserId; consume.Cash = dCash; consume.Change = dChange; consume.ConsumeType = 1; consume.PayType = d.PayType; consume.Discount = 100; consume.Quantity = d.Count; consume.SourceType = 1; uow.Consume.Add(consume); DXInfo.Models.Bills bill = new DXInfo.Models.Bills(); bill.Sum = d.Sum; bill.Voucher = d.Voucher; bill.Amount = d.Amount; bill.BillType = "WRNoMemberConsumeWindow"; bill.CreateDate = d.CreateDate; bill.DeptName = d.DeptName; bill.FullName = d.FullName; bill.PayTypeName = d.PayTypeName; bill.Cash = dCash; bill.Change = dChange; uow.Bills.Add(bill); uow.Commit(); //DXInfo.Restaurant.DeskManageFacade dmf = new DXInfo.Restaurant.DeskManageFacade(); foreach (var si in d.lSelInv) { Guid orderMenuId = si.OrderMenuId; DXInfo.Models.OrderMenus om = uow.OrderMenus.GetById(orderMenuId);//.Where(w => w.Id == orderMenuId).FirstOrDefault(); om.OperDate = DateTime.Now; om.UserId = App.MyIdentity.oper.UserId; om.Status = 8; uow.OrderMenus.Update(om); DXInfo.Models.OrderMenusHis omHis = Mapper.Map <DXInfo.Models.OrderMenusHis>(om);//dmf.CreateOrderMenuHis(om, App.MyIdentity.oper.UserId, DateTime.Now); omHis.LinkId = om.Id; uow.OrderMenusHis.Add(omHis); DXInfo.Models.ConsumeList cl = new DXInfo.Models.ConsumeList(); cl.Amount = si.Amount; cl.Consume = consume.Id; cl.CreateDate = d.CreateDate; cl.DeptId = d.DeptId; cl.Inventory = si.Id; cl.Price = si.Price; cl.Quantity = si.Quantity; cl.UserId = d.UserId; cl.IsPackage = si.IsPackage; cl.PackageId = si.PackageId; cl.Discount = 100; cl.Sum = cl.Amount; uow.ConsumeList.Add(cl); DXInfo.Models.BillInvLists bl = new DXInfo.Models.BillInvLists(); bl.Amount = si.Amount; bl.Bill = bill.Id; bl.CupType = si.EnglishName; bl.Name = si.Name; bl.Quantity = si.Quantity; bl.SalePrice = si.Price; uow.BillInvLists.Add(bl); } uow.Commit(); transaction.Complete(); } PrintDialog pDialog = new PrintDialog(); pDialog.PageRangeSelection = PageRangeSelection.AllPages; pDialog.UserPageRangeEnabled = true; pDialog.PrintVisual(GridPrint, "非会员消费打印"); DialogResult = true; this.Close(); }