Example #1
0
        //签字免单
        private void freeTool_Click(object sender, EventArgs e)
        {
            SignForFreeForm inputSerForm = new SignForFreeForm();

            if (inputSerForm.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            var     dc_new  = new BathDBDataContext(LogIn.connectionString);
            Account account = new Account();

            insert_account(dc_new, ref account, inputSerForm.signature);

            set_order_paid(dc_new, account);
            update_seat_room(dc_new);
            dc_new.SubmitChanges();
            setStatus(dc_new);

            if (printBill)
            {
                printTool_Click(dc_new, "结账单");
            }
            if (printStubBill)
            {
                printTool_Click(dc_new, "存根单");
            }
            if (printShoe)
            {
                List <string> seat_texts = new List <string>();
                var           ts         = account.text.Split('|').ToList();
                foreach (var tx in ts)
                {
                    var s = m_Seats.FirstOrDefault(x => x.text == tx);
                    if (s == null)
                    {
                        continue;
                    }
                    int i = m_Seats.IndexOf(s);
                    if (dgvChain.Rows[i].Cells[1].EditedFormattedValue.ToString() == "False")
                    {
                        seat_texts.Add(tx);
                    }
                }
                PrintShoeMsg.Print_DataGridView(seat_texts, account.payEmployee, account.payTime.ToString(), companyName);
            }

            this.DialogResult = DialogResult.OK;
        }
Example #2
0
        //宾客付款
        private void payTool_Click(object sender, EventArgs e)
        {
            BathDBDataContext dc = new BathDBDataContext(LogIn.connectionString);

            var seats = new List <HotelRoom>();

            seats = m_Seats;
            List <bool> keeps = new List <bool>();

            foreach (DataGridViewRow r in dgvChain.Rows)
            {
                keeps.Add(r.Cells[1].EditedFormattedValue.ToString() == "True");
            }

            PayForm payForm = new PayForm(seats, keeps, m_Member, discount_money);

            if (payForm.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            var ids     = string.Join("|", m_Seats.OrderBy(x => x.text).Select(x => x.systemId).ToArray());
            var act_old = dc.Account.FirstOrDefault(x => x.systemId == ids && x.abandon != null);
            var act     = dc.Account.FirstOrDefault(x => x.systemId == ids && x.abandon == null);

            if (act_old == null)
            {
                if (printBill)
                {
                    printTool_Click(dc, "结账单");
                }
                if (printStubBill)
                {
                    printTool_Click(dc, "存根单");
                }
                if (printShoe)
                {
                    List <string> seat_texts = new List <string>();
                    var           ts         = act.text.Split('|').ToList();
                    foreach (var tx in ts)
                    {
                        var s = m_Seats.FirstOrDefault(x => x.text == tx);
                        if (s == null)
                        {
                            continue;
                        }
                        int i = m_Seats.IndexOf(s);
                        if (dgvChain.Rows[i].Cells[1].EditedFormattedValue.ToString() == "False")
                        {
                            seat_texts.Add(tx);
                        }
                    }
                    PrintShoeMsg.Print_DataGridView(seat_texts, act.payEmployee, act.payTime.ToString(), companyName);
                }
            }
            else
            {
                printTool_Click(dc, "补救单");
            }

            sendMessageToShoes(act);

            //处理留牌
            bool kept = false;

            for (int i = 0; i < m_Seats.Count; i++)
            {
                if (dgvChain.Rows[i].Cells[1].EditedFormattedValue.ToString() == "False")
                {
                    continue;
                }

                kept = true;
                var s      = m_Seats[i];
                var seat   = dc.HotelRoom.FirstOrDefault(x => x.systemId == s.systemId);
                var orders = dc.Orders.Where(x => x.systemId == seat.systemId && x.priceType == "每小时");
                foreach (var order in orders)
                {
                    order.inputTime = GeneralClass.Now;
                    order.paid      = false;
                    order.accountId = null;
                }
                seat.status = 2;
            }
            if (kept)
            {
                dc.SubmitChanges();
            }

            //if (seats == m_Seats)
            this.DialogResult = DialogResult.OK;
            //else
            //{
            //    m_Seats.Remove(m_Seat);
            //    dgvChain_show();
            //    dgvChain.CurrentCell = null;
            //    chain = true;
            //    dgvExpense_show();
            //    setStatus();
            //}
        }