Example #1
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            //删除记录
            if (GridSelected.SelectedItem != null)
            {
                DXInfo.Models.OrderMenuEx selInv = GridSelected.SelectedItem as DXInfo.Models.OrderMenuEx;

                if (desk != null && order != null)
                {
                    DXInfo.Models.OrderMenus orderMenu = uow.OrderMenus.GetById(selInv.Id);//.Where(w => w.Id == selInv.Id).FirstOrDefault();
                    if (orderMenu != null)
                    {
                        if (orderMenu.Status == 2)
                        {
                            MessageBox.Show("已下单不能删除");
                            return;
                        }
                        uow.OrderMenus.Delete(orderMenu);
                        uow.Commit();
                    }
                }
                ObservableCollection <DXInfo.Models.OrderMenuEx> lsi = GridSelected.ItemsSource as ObservableCollection <DXInfo.Models.OrderMenuEx>;
                lsi.Remove(selInv);

                txtQuantity.Text = lsi.Sum(s => s.Quantity).ToString();
                txtAmount.Text   = lsi.Sum(s => s.Amount).ToString("c");
            }
        }
        private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            //编辑
            dynamic m = MemberList.SelectedItem;

            if (string.IsNullOrWhiteSpace(card.CardNo))
            {
                throw new ArgumentNullException("卡号", "请输入卡号");
            }
            if (card.CardLevel == Guid.Empty || card.CardLevel == null)
            {
                throw new ArgumentNullException("卡级别", "请选择卡级别");
            }

            DXInfo.Models.aspnet_CustomProfile user = App.MyIdentity.oper;
            if (user == null)
            {
                throw new ArgumentException("操作员信息错误");
            }
            Guid userId = user.UserId;

            if (!user.DeptId.HasValue || user.DeptId == Guid.Empty)
            {
                throw new ArgumentException("部门信息错误");
            }

            var c = uow.Cards.GetAll().Where(w => w.CardNo == card.CardNo).FirstOrDefault();

            if (c != null)
            {
                throw new ArgumentException("卡号已存在");
            }
            StringBuilder sb = new StringBuilder(33);

            sb.Append(card.CardNo);
            int st = CardRef.CoolerPutCard(sb);

            if (st == 0)
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    card.Member     = m.Id;
                    card.DeptId     = user.DeptId.Value;
                    card.UserId     = userId;
                    card.CreateDate = DateTime.Now;
                    uow.Cards.Add(card);
                    uow.Commit();
                    Common.AddCardsLog(uow, card);
                    uow.Commit();
                    transaction.Complete();
                }
                card = new DXInfo.Models.Cards();
                MessageBox.Show("发卡成功");
            }
            else
            {
                MessageBox.Show(CardRef.GetStr(st));
            }
        }
Example #3
0
        /// <summary>
        /// 充值
        /// </summary>
        /// <param name="para"></param>
        public void CardInMoney(CardInMoneyParaObj para)
        {
            if (para.Amount <= 0)
            {
                throw new ArgumentException("请输入充值金额");
            }
            if (para.PayTypeId == null || para.PayTypeId == Guid.Empty)
            {
                throw new ArgumentNullException("请选择支付方式");
            }

            DXInfo.Models.Recharges recharge = new DXInfo.Models.Recharges();
            recharge.Amount          = para.Amount;
            recharge.Donate          = para.Donate;
            recharge.LastBalance     = para.LastBalance;
            recharge.Balance         = para.Balance;
            recharge.Card            = para.CardId;
            recharge.CreateDate      = para.CreateDate;
            recharge.UserId          = para.UserId;
            recharge.DeptId          = para.DeptId;
            recharge.PayType         = para.PayTypeId;
            recharge.RechargeType    = para.RechargeType;
            recharge.OperatorsOnDuty = para.OperatorsOnDuty;
            uow.Recharges.Add(recharge);

            DXInfo.Models.Cards oldCard = uow.Cards.GetById(g => g.Id == para.CardId);
            if (oldCard == null)
            {
                throw new ArgumentException("请先读卡");
            }
            oldCard.Balance = recharge.Balance;
            uow.Cards.Update(oldCard);

            DXInfo.Models.CardsLog cardsLog = Mapper.Map <DXInfo.Models.Cards, DXInfo.Models.CardsLog>(oldCard);
            cardsLog.CardId     = para.CardId;
            cardsLog.CreateDate = para.CreateDate;
            cardsLog.UserId     = para.UserId;
            cardsLog.DeptId     = para.DeptId;
            uow.CardsLog.Add(cardsLog);
            //小票
            DXInfo.Models.Bills bill = new DXInfo.Models.Bills();
            bill.Amount      = para.Amount;
            bill.Balance     = para.Balance;
            bill.BillType    = "CardInMoneyWindow";
            bill.CardNo      = oldCard.CardNo;
            bill.CreateDate  = para.CreateDate;
            bill.DeptName    = para.DeptName;
            bill.Donate      = para.Donate;
            bill.FullName    = para.UserName + "," + para.FullName;
            bill.LastBalance = para.LastBalance;
            bill.MemberName  = para.MemberName;
            bill.PayTypeName = para.PayTypeName;
            uow.Bills.Add(bill);

            uow.Commit();
        }
Example #4
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (isModify)
            {
                int quantity = 0;
                if (!string.IsNullOrEmpty(txtQuantity.Text))
                {
                    quantity = Convert.ToInt32(txtQuantity.Text);
                }
                //using (TransactionScope transaction = new TransactionScope())
                //{
                //DXInfo.Models.OrderBooks orderBook = uow.OrderBooks.GetById(g=>g.Id==this.orderBook.Id);//.Where(w => w.Id == this.orderBook.Id).FirstOrDefault();
                if (orderBook != null)
                {
                    DXInfo.Principal.MyPrincipal mp = Thread.CurrentPrincipal as DXInfo.Principal.MyPrincipal;
                    DXInfo.Principal.MyIdentity  mi = mp.Identity as DXInfo.Principal.MyIdentity;
                    orderBook.CreateDate    = DateTime.Now;
                    orderBook.DeptId        = mi.dept.DeptId;
                    orderBook.UserId        = mi.user.UserId;
                    orderBook.Quantity      = quantity;
                    orderBook.Customer      = txtLinkName.Text;
                    orderBook.LinkPhone     = txtLinkPhone.Text;
                    orderBook.BookBeginDate = Convert.ToDateTime(dpBeginDate.Text + " " + tpBeginTime.Value.GetValueOrDefault().Hour + ":" + tpBeginTime.Value.GetValueOrDefault().Minute);
                    orderBook.BookEndDate   = Convert.ToDateTime(dpEndDate.Text + " " + tpEndTime.Value.GetValueOrDefault().Hour + ":" + tpEndTime.Value.GetValueOrDefault().Minute);
                    orderBook.Status        = 0;
                    uow.OrderBooks.Update(orderBook);

                    DXInfo.Models.OrderBooksHis orderBookHis = new DXInfo.Models.OrderBooksHis();
                    orderBookHis.LinkId        = orderBook.Id;
                    orderBookHis.CreateDate    = DateTime.Now;
                    orderBookHis.DeptId        = mi.dept.DeptId;
                    orderBookHis.UserId        = mi.user.UserId;
                    orderBookHis.Quantity      = orderBook.Quantity;
                    orderBookHis.Customer      = orderBook.Customer;
                    orderBookHis.LinkPhone     = orderBook.LinkPhone;
                    orderBookHis.BookBeginDate = orderBook.BookBeginDate;
                    orderBookHis.BookEndDate   = orderBook.BookEndDate;
                    orderBookHis.Status        = orderBook.Status;
                    uow.OrderBooksHis.Add(orderBookHis);

                    uow.Commit();

                    //transaction.Complete();
                    //}
                }
                this.DialogResult = true;
                this.Close();
            }
            else
            {
                this.DialogResult = true;
                this.Close();
            }
        }
Example #5
0
        public void SyncGT(IAMSCMUow amscmUow)
        {
            var ltbCommCode = amscmUow.tbCommCode.GetAll().Where(w => w.vcCommSign == "GT").ToList();

            foreach (DXInfo.Models.tbCommCode commCode in ltbCommCode)
            {
                var oldInvCat = uow.InventoryCategory.GetAll().Where(w => w.Code == commCode.vcCommCode).FirstOrDefault();
                if (oldInvCat == null)
                {
                    DXInfo.Models.InventoryCategory newInvCat = new DXInfo.Models.InventoryCategory();
                    newInvCat.Code = commCode.vcCommCode;
                    newInvCat.Name = commCode.vcCommName;
                    if (System.Configuration.ConfigurationManager.AppSettings.AllKeys.Contains("AMSApp"))
                    {
                        newInvCat.ProductType = (int)DXInfo.Models.ProductType.Product;
                    }
                    newInvCat.CategoryType = (int)DXInfo.Models.CategoryType.StockManage;
                    uow.InventoryCategory.Add(newInvCat);
                }
            }
            uow.Commit();
        }
Example #6
0
        private int GetVouchCodeSn(DateTime dtNow, string vouchType)
        {
            int yearMonth = Convert.ToInt32(dtNow.ToString("yyyyMM"));
            int icount    = 1;

            DXInfo.Models.VouchCodeSn sn = uow.VouchCodeSn.GetById(g => g.VouchCode == vouchType && g.YearMonth == yearMonth);
            if (sn == null)
            {
                sn           = new DXInfo.Models.VouchCodeSn();
                sn.VouchCode = vouchType;
                sn.YearMonth = yearMonth;
                sn.Sn        = 1;
                uow.VouchCodeSn.Add(sn);
                uow.Commit();
            }
            else
            {
                icount = sn.Sn + 1;
                sn.Sn  = icount;
                uow.VouchCodeSn.Update(sn);
                uow.Commit();
            }
            return(icount);
        }
Example #7
0
 public bool OrderDish_DeleteMenu(Guid orderMenuId)
 {
     DXInfo.Models.OrderMenus orderMenu = uow.OrderMenus.GetById(g => g.Id == orderMenuId);
     if (orderMenu == null)
     {
         Helper.ShowErrorMsg("菜品空,已被删除");
         return(false);
     }
     if (orderMenu.Status != (int)DXInfo.Models.OrderMenuStatus.Normal)
     {
         Helper.ShowErrorMsg("正常状态才能删除");
         return(false);
     }
     if (orderMenu.IsPackage)
     {
         List <DXInfo.Models.OrderMenus> lpkg = this.uow.OrderMenus.GetAll().Where(
             w => w.IsPackage &&
             w.PackageId == orderMenu.PackageId &&
             w.PackageSn == orderMenu.PackageSn &&
             w.OrderId == orderMenu.OrderId &&
             w.Id != orderMenu.Id).ToList();
         foreach (DXInfo.Models.OrderMenus pkg in lpkg)
         {
             if (pkg.Status != 0)
             {
                 Helper.ShowErrorMsg("正常状态才能删除");
                 return(false);
             }
             uow.OrderMenus.Delete(pkg);
         }
         DXInfo.Models.OrderPackages orderPackage = uow.OrderPackages.GetById(g => g.Id == orderMenu.PackageId);
         if (orderPackage != null)
         {
             uow.OrderPackages.Delete(orderPackage);
         }
     }
     uow.OrderMenus.Delete(orderMenu);
     uow.Commit();
     return(true);
 }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (cbLocalDept.SelectedItem != null)
            {
                var q = from n in uow.NameCode.GetAll()
                        where n.Type == "LocalDept"
                        select n;
                if (q.Count() == 0)
                {
                    DXInfo.Models.Depts d = cbLocalDept.SelectedItem as DXInfo.Models.Depts;

                    DXInfo.Models.NameCode nc = new DXInfo.Models.NameCode();
                    nc.Type    = "LocalDept";
                    nc.Code    = "001";
                    nc.Name    = "本地部门";
                    nc.Value   = d.DeptId.ToString();
                    nc.Comment = "启用于:" + DateTime.Now.ToString();
                    uow.NameCode.Add(nc);
                    uow.Commit();
                }
            }
            this.Close();
        }
Example #9
0
        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);
        }
Example #10
0
        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("收的钱应不小于消费金额");
            }
            using (TransactionScope transaction = new TransactionScope())
            {
                DXInfo.Models.Consume consume = new DXInfo.Models.Consume();
                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.DeskNo      = txtDeskNo.Text;
                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    = "NoMemberConsumeWindow";
                bill.CreateDate  = d.CreateDate;
                bill.DeptName    = d.DeptName;
                bill.FullName    = d.FullName;
                bill.PayTypeName = d.PayTypeName;
                bill.Cash        = dCash;
                bill.Change      = dChange;
                bill.DeskNo      = txtDeskNo.Text;
                uow.Bills.Add(bill);

                uow.Commit();

                foreach (var si in d.lSelInv)
                {
                    DXInfo.Models.ConsumeList cl = new DXInfo.Models.ConsumeList();
                    cl.Amount     = si.Amount;
                    cl.Consume    = consume.Id;
                    cl.CreateDate = d.CreateDate;
                    cl.Cup        = si.Cup;
                    cl.DeptId     = d.DeptId;
                    cl.Inventory  = si.Id;
                    cl.Price      = si.SalePrice;
                    cl.Quantity   = si.Quantity;
                    cl.UserId     = d.UserId;

                    uow.ConsumeList.Add(cl);

                    DXInfo.Models.BillInvLists bl = new DXInfo.Models.BillInvLists();
                    bl.Amount    = si.Amount;
                    bl.Bill      = bill.Id;
                    bl.CupType   = si.CupType;
                    bl.Name      = si.Name;
                    bl.Quantity  = si.Quantity;
                    bl.SalePrice = si.SalePrice;
                    bl.Tastes    = si.Tastes;

                    uow.BillInvLists.Add(bl);

                    if (si.lTastes.Count > 0)
                    {
                        uow.Commit();
                        foreach (var lt in si.lTastes)
                        {
                            DXInfo.Models.ConsumeTastes ct = new DXInfo.Models.ConsumeTastes();
                            ct.ConsumeList = cl.Id;
                            ct.Taste       = lt.Id;
                            uow.ConsumeTastes.Add(ct);
                        }
                    }
                }

                uow.Commit();
                transaction.Complete();
            }
            PrintDialog pDialog = new PrintDialog();

            pDialog.PrintVisual(GridPrint, "非会员消费打印");

            DialogResult = true;
            this.Close();
        }
        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;

            if (d.Amount > 0)
            {
                StringBuilder sb = new StringBuilder(33);
                sb.Append(d.CardNo);
                int value = Convert.ToInt32(d.Amount * 100);
                int st    = CardRef.CoolerConsumeCard(sb, value);
                if (st != 0)
                {
                    MessageBox.Show(CardRef.GetStr(st));
                    return;
                }
            }
            using (TransactionScope transaction = new TransactionScope())
            {
                DXInfo.Models.Consume consume = new DXInfo.Models.Consume();
                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.Balance     = d.Balance;
                consume.CreateDate  = d.CreateDate;
                consume.DeptId      = d.DeptId;
                consume.LastBalance = d.LastBalance;
                consume.Point       = d.Point;
                consume.UserId      = d.UserId;
                consume.Point       = d.Point;
                consume.ConsumeType = 0;
                consume.DeskNo      = txtDeskNo.Text;
                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.Balance     = d.Balance;
                bill.BillType    = "CardConsumeWindow";
                bill.CardNo      = d.CardNo;
                bill.CreateDate  = d.CreateDate;
                bill.DeptName    = d.DeptName;
                bill.FullName    = d.FullName;
                bill.LastBalance = d.LastBalance;
                bill.MemberName  = d.MemberName;
                bill.DeskNo      = txtDeskNo.Text;
                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("卡信息未找到");
                }
                card.Balance = d.Balance;

                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);
                    }
                }
                foreach (var si in d.lSelInv)
                {
                    DXInfo.Models.ConsumeList cl = new DXInfo.Models.ConsumeList();
                    cl.Amount     = si.Amount;
                    cl.Consume    = consume.Id;
                    cl.CreateDate = d.CreateDate;
                    cl.Cup        = si.Cup;
                    cl.DeptId     = d.DeptId;
                    cl.Inventory  = si.Id;
                    cl.Price      = si.SalePrice;
                    cl.Quantity   = si.Quantity;
                    cl.UserId     = d.UserId;

                    uow.ConsumeList.Add(cl);

                    DXInfo.Models.BillInvLists bl = new DXInfo.Models.BillInvLists();
                    bl.Amount    = si.Amount;
                    bl.Bill      = bill.Id;
                    bl.CupType   = si.CupType;
                    bl.Name      = si.Name;
                    bl.Quantity  = si.Quantity;
                    bl.SalePrice = si.SalePrice;
                    bl.Tastes    = si.Tastes;

                    uow.BillInvLists.Add(bl);



                    if (si.lTastes.Count > 0)
                    {
                        uow.Commit();
                        foreach (var lt in si.lTastes)
                        {
                            DXInfo.Models.ConsumeTastes ct = new DXInfo.Models.ConsumeTastes();
                            ct.ConsumeList = cl.Id;
                            ct.Taste       = lt.Id;
                            uow.ConsumeTastes.Add(ct);
                        }
                    }
                }

                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.PrintVisual(GridPrint, "会员卡消费打印");

            DialogResult = true;
            this.Close();
        }
        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;

            using (TransactionScope transaction = new TransactionScope())
            {
                DXInfo.Models.Consume consume = new DXInfo.Models.Consume();
                consume.Card        = d.Id;
                consume.Sum         = d.Amount;
                consume.Discount    = 100;
                consume.Amount      = d.Amount;
                consume.Balance     = d.Balance;
                consume.CreateDate  = d.CreateDate;
                consume.DeptId      = d.DeptId;
                consume.LastBalance = d.LastBalance;
                consume.UserId      = d.UserId;
                consume.ConsumeType = 2;
                uow.Consume.Add(consume);


                DXInfo.Models.Bills bill = new DXInfo.Models.Bills();
                bill.Amount      = d.Amount;
                bill.Balance     = d.Balance;
                bill.BillType    = "PointsExchangeWindow";
                bill.CardNo      = d.CardNo;
                bill.CreateDate  = d.CreateDate;
                bill.DeptName    = d.DeptName;
                bill.FullName    = d.FullName;
                bill.LastBalance = d.LastBalance;
                bill.MemberName  = d.MemberName;

                uow.Bills.Add(bill);

                uow.Commit();

                Guid cid = d.Id;

                var p = uow.CardPoints.GetAll().Where(w => w.Card == cid);

                decimal dkp = 0;
                foreach (DXInfo.Models.CardPoints cp in p)
                {
                    if (cp.Point > d.Amount - dkp)
                    {
                        dkp      = d.Amount;
                        cp.Point = cp.Point - d.Amount;
                        break;
                    }
                    else
                    {
                        dkp     += cp.Point;
                        cp.Point = 0;
                    }
                }
                foreach (var si in d.lSelInv)
                {
                    DXInfo.Models.ConsumeList cl = new DXInfo.Models.ConsumeList();
                    cl.Amount     = si.Amount;
                    cl.Consume    = consume.Id;
                    cl.CreateDate = d.CreateDate;
                    cl.Cup        = si.Cup;
                    cl.DeptId     = d.DeptId;
                    cl.Inventory  = si.Id;
                    cl.Price      = si.SalePoint;
                    cl.Quantity   = si.Quantity;
                    cl.UserId     = d.UserId;

                    uow.ConsumeList.Add(cl);

                    DXInfo.Models.BillInvLists bl = new DXInfo.Models.BillInvLists();
                    bl.Amount    = si.Amount;
                    bl.Bill      = bill.Id;
                    bl.CupType   = si.CupType;
                    bl.Name      = si.Name;
                    bl.Quantity  = si.Quantity;
                    bl.SalePrice = si.SalePoint;
                    bl.Tastes    = si.Tastes;

                    uow.BillInvLists.Add(bl);

                    if (si.lTastes.Count > 0)
                    {
                        uow.Commit();
                        foreach (var lt in si.lTastes)
                        {
                            DXInfo.Models.ConsumeTastes ct = new DXInfo.Models.ConsumeTastes();
                            ct.ConsumeList = cl.Id;
                            ct.Taste       = lt.Id;
                            uow.ConsumeTastes.Add(ct);
                        }
                    }
                }
                uow.Commit();
                transaction.Complete();
            }
            PrintDialog pDialog = new PrintDialog();

            pDialog.PrintVisual(GridPrint, "会员积分兑换打印");
            DialogResult = true;
            this.Close();
        }
Example #13
0
        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();
        }
Example #14
0
 private bool RetailUpdateCurrentStock(Guid curStockId, int rdFlag, decimal num, decimal quantity)
 {
     DXInfo.Models.CurrentStock oldCurStock = uow.CurrentStock.GetById(g => g.Id == curStockId);
     if (oldCurStock == null)
     {
         return(false);
     }
     if (rdFlag == 1)
     {
         if (num > oldCurStock.Num)
         {
             return(false);
         }
     }
     oldCurStock.Quantity = rdFlag == 0 ? oldCurStock.Quantity + quantity : oldCurStock.Quantity - quantity;
     oldCurStock.Num      = rdFlag == 0 ? oldCurStock.Num + num : oldCurStock.Num - num;
     oldCurStock.Amount   = oldCurStock.Price * oldCurStock.Num;
     uow.CurrentStock.Update(oldCurStock);
     uow.Commit();
     return(true);
 }
Example #15
0
        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();
        }
Example #16
0
        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;

            StringBuilder sb = new StringBuilder(33);

            sb.Append(d.CardNo);
            int value = Convert.ToInt32((d.Amount + d.Donate) * 100);

#if !DEBUG
            int st = CardRef.CoolerRechargeCard(sb, value);
#else
            //string strCardNo = "12347";
            int st = 0;
#endif
            if (st != 0)
            {
                MessageBox.Show(CardRef.GetStr(st));
                DialogResult = false;
                this.Close();
                return;
            }

            DXInfo.Models.Recharges recharge = new DXInfo.Models.Recharges();
            recharge.Amount      = d.Amount;
            recharge.Donate      = d.Donate;
            recharge.LastBalance = d.LastBalance;
            recharge.Balance     = d.Balance;
            recharge.Card        = d.Id;
            recharge.CreateDate  = d.CreateDate;
            recharge.UserId      = d.UserId;
            recharge.DeptId      = d.DeptId;
            recharge.PayType     = d.PayType;
            if (this.IsPutCard)
            {
                recharge.RechargeType = 2;
            }
            Guid cardid = d.Id;
            DXInfo.Models.Cards card = uow.Cards.GetById(cardid);//.Where(w => w.Id == cardid).FirstOrDefault();
            if (card == null)
            {
                throw new ArgumentException("此卡信息未找到");
            }
            card.Balance = recharge.Balance;

            uow.Recharges.Add(recharge);

            //小票
            DXInfo.Models.Bills bill = new DXInfo.Models.Bills();
            bill.Amount      = d.Amount;
            bill.Balance     = d.Balance;
            bill.BillType    = "CardInMoneyWindow";
            bill.CardNo      = d.CardNo;
            bill.CreateDate  = d.CreateDate;
            bill.DeptName    = d.DeptName;
            bill.Donate      = d.Donate;
            bill.FullName    = d.FullName;
            bill.LastBalance = d.LastBalance;
            bill.MemberName  = d.MemberName;
            bill.PayTypeName = d.PayTypeName;

            uow.Bills.Add(bill);

            uow.Commit();

            //PrintDialog pDialog = new PrintDialog();
            //pDialog.PrintVisual(GridPrint, "会员充值打印");
            //MyPrint mp = new MyPrint();
            //mp.CardInMoneyPrint(uow, d);

            DialogResult = true;
            this.Close();
        }