コード例 #1
0
ファイル: OpenSeatForm.cs プロジェクト: zanderphh/yousoftbath
        private void OpenSeatForm_Load(object sender, EventArgs e)
        {
            dgv_show();

            var ops = db.Options.FirstOrDefault();

            seatlock        = ops.启用手牌锁.Value;
            lock_type       = ops.手牌锁类型;
            seatBox.Enabled = BathClass.ToBool(ops.允许手工输入手牌号开牌);
        }
コード例 #2
0
        //加收过夜费
        private void order_guoye(HotelRoom seat, BathDBDataContext dc)
        {
            if (!BathClass.ToBool(m_Options.自动加收过夜费))
            {
                return;
            }

            if (dc.Orders.FirstOrDefault(x => x.systemId == seat.systemId && x.menu == "过夜费") != null ||
                dc.HisOrders.FirstOrDefault(x => x.systemId == seat.systemId && x.menu == "过夜费") != null)
            {
                return;
            }

            var m_OverMenu = dc.Menu.FirstOrDefault(x => x.name == "过夜费");

            if (m_OverMenu == null)
            {
                return;
            }

            DateTime now   = DateTime.Now;
            string   year  = now.Year.ToString();
            string   month = now.Month.ToString();
            string   day   = now.Day.ToString();
            string   date  = year + "-" + month + "-" + day + " ";
            string   time  = ":00:00";

            DateTime st = DateTime.Parse(date + m_Options.过夜费起点 + time);
            DateTime et = DateTime.Parse(date + m_Options.过夜费终点 + time);

            DateTime open_time = seat.openTime.Value;

            if ((now >= et && open_time >= et) || (open_time <= st && now <= st))
            {
                return;
            }

            Orders order = new Orders();

            order.menu          = m_OverMenu.name;
            order.text          = seat.text;
            order.systemId      = seat.systemId;
            order.number        = 1;
            order.money         = m_OverMenu.price;
            order.inputTime     = now;
            order.inputEmployee = "过夜费";
            order.departmentId  = 1;
            order.paid          = false;
            dc.Orders.InsertOnSubmit(order);
            dc.SubmitChanges();
            find_combo(dc, order);
        }
コード例 #3
0
ファイル: MainWindow.cs プロジェクト: zanderphh/yousoftbath
        //点击台位按钮
        private void btn_Click(object sender, EventArgs e)
        {
            Button btn = sender as Button;

            btn.Enabled = false;
            btn.Enabled = true;

            BathDBDataContext db_new = new BathDBDataContext(LogIn.connectionString);
            var manuInput            = BathClass.ToBool(db_new.Options.FirstOrDefault().允许手工输入手牌号结账);

            m_Seat = db_new.HotelRoom.FirstOrDefault(x => x.text == btn.Text);
            var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == m_Seat.typeId);

            if (!manuInput && mtype.menuId != null)
            {
                BathClass.printErrorMsg("不允许手工输入手牌号结账!");
                return;
            }

            switch (m_Seat.status)
            {
            case 1:    //可用
            case 3:    //已经结账
                break;

            case 2:    //正在使用
            case 6:    //警告
            case 7:    //押金离场
            case 8:    //重新结账
                if (m_Seat.note != null && m_Seat.note != "")
                {
                    BathClass.printInformation(m_Seat.note);
                }

                SeatExpenseForm seatExpenseForm = new SeatExpenseForm(m_Seat);
                seatExpenseForm.ShowDialog();
                break;

            case 4:    //锁定
                break;

            case 5:    //停用
                BathClass.printErrorMsg("台位已经停用!");
                break;

            default:
                break;
            }
        }
コード例 #4
0
        private void SeatExpenseForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            var dc       = new BathDBDataContext(LogIn.connectionString);
            var lockSeat = BathClass.ToBool(dc.Options.FirstOrDefault().结账未打单锁定手牌);

            for (int i = 0; i < m_Seats.Count; i++)
            {
                var s_new = dc.HotelRoom.FirstOrDefault(x => x.text == m_Seats[i].text);
                s_new.paying = false;
                if (lockSeat && s_new.status != 3 && s_new.status != 8 && dgvChain.Rows[i].Cells[1].EditedFormattedValue.ToString() == "False")
                {
                    s_new.status = 4;
                }
            }
            dc.SubmitChanges();
        }
コード例 #5
0
        //对话框载入
        private void PayForm_Load(object sender, EventArgs e)
        {
            BathClass.change_input_en();
            watch             = BathClass.ToBool(db.Options.FirstOrDefault().启用结账监控);
            m_money           = BathClass.get_rooms_expenses(db, m_Seats, LogIn.connectionString);
            moneyPayable.Text = m_money.ToString();
            changes.Text      = (-m_money).ToString();

            for (int i = 0; i < m_Seats.Count; i++)
            {
                if (m_keeps[i])
                {
                    continue;
                }
                m_Seats_Real.Add(m_Seats[i]);
            }
            //money_real = BathClass.get_seats_expenses(m_Seats_Real, LogIn.connectionString);
        }
コード例 #6
0
ファイル: MainWindow.cs プロジェクト: zanderphh/yousoftbath
        //对话框载入
        private void ReceptionSeatForm_Load(object sender, EventArgs e)
        {
            var db  = new BathDBDataContext(LogIn.connectionString);
            var ops = db.Options.FirstOrDefault();

            seatLock      = BathClass.ToBool(ops.启用手牌锁);
            lock_type     = ops.手牌锁类型;
            tSeat.Visible = !seatLock;

            this.Text        = "咱家店小二-前台系统V2.1 欢迎使用:" + LogIn.m_User.id;
            currentUser.Text = "当前用户: " + LogIn.m_User.id + "   " + LogIn.m_User.name;

            createSeat(db, seatPanel);
            setStatus();

            all_seats    = db.HotelRoom.Select(x => x.status).ToList();
            all_seats_id = db.HotelRoom.Select(x => x.id).ToList();

            m_thread = new Thread(new ThreadStart(update_seats_ui));
            m_thread.Start();
            //MessageBox.Show("fcuk");
        }
コード例 #7
0
        //对话框载入
        private void SeatExpenseForm_Load(object sender, EventArgs e)
        {
            dgvExpense.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", 20);
            dgvExpense.RowsDefaultCellStyle.Font          = new Font("宋体", 20);

            dgvChain.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", 17);
            dgvChain.RowsDefaultCellStyle.Font          = new Font("宋体", 17);

            var db = new BathDBDataContext(LogIn.connectionString);

            m_Options     = db.Options.FirstOrDefault();
            printBill     = BathClass.ToBool(m_Options.结账打印结账单);
            printShoe     = BathClass.ToBool(m_Options.结账打印取鞋小票);
            printStubBill = BathClass.ToBool(m_Options.结账打印存根单);
            inputBillId   = BathClass.ToBool(m_Options.录单输入单据编号);
            companyName   = m_Options.companyName;
            //manul_pay = BathClass.ToBool(ops.允许手工输入手牌号结账);
            use_oyd = BathClass.ToBool(m_Options.启用手牌锁);

            if (use_oyd)
            {
                dgvChain.ReadOnly = true;
                btnReload.Text    = "留牌";
                //btnChain.Visible = false;
                //seatText.ReadOnly = true;
                //btnReload.Visible = false;
            }
            dgvExpense.Columns[1].Visible = inputBillId;
            m_Seat = m_Seats[0];
            dgvChain_show();
            dgvChain.CurrentCell = dgvChain[0, 0];
            //chain = true;

            order_guoye(m_Seat, db);
            dgvExpense_show(db);
            setStatus(db);
        }
コード例 #8
0
ファイル: MainWindow.cs プロジェクト: zanderphh/yousoftbath
        //客房
        private void btnRoom_Click(object sender, EventArgs e)
        {
            BathDBDataContext db_new = new BathDBDataContext(LogIn.connectionString);

            if (!BathClass.getAuthority(db_new, LogIn.m_User, "包房管理"))
            {
                BathClass.printErrorMsg("权限不够!");
                return;
            }

            if (BathClass.ToBool(db_new.Options.FirstOrDefault().启用客房面板))
            {
                RoomViewForm rvForm = new RoomViewForm();
                rvForm.ShowDialog();
            }
            else
            {
                var form = new CabViewForm();
                form.ShowDialog();
            }
            RoomViewForm rmvForm = new RoomViewForm();

            rmvForm.ShowDialog();
        }
コード例 #9
0
        private void send_sms(string cardno)
        {
            try
            {
                //var dc = new BathDBDataContext(LogIn.connectionString);
                var ci = db.CardInfo.FirstOrDefault(x => x.CI_CardNo == cardno);
                if (ci.CI_Telephone == null || ci.CI_Telephone.Length != 11)
                {
                    return;
                }

                var mt = db.MemberType.FirstOrDefault(x => x.id == ci.CI_CardTypeNo);
                if (!BathClass.ToBool(mt.smsAfterUsing))
                {
                    return;
                }

                string msg = "尊敬的贵宾,您好!";
                msg += "您的" + mt.name + ",卡号:" + ci.CI_CardNo + ",";
                var cc            = db.CardCharge.Where(y => y.CC_CardNo == ci.CI_CardNo);
                var debit         = cc.Sum(y => y.CC_DebitSum);
                var lend          = cc.Sum(y => y.CC_LenderSum);
                var cu            = db.MemberSetting.FirstOrDefault().money;
                var balance_money = Convert.ToDouble(debit - lend);
                msg += "余额为:" + balance_money.ToString();

                if (mt.credits)
                {
                    var cexpense = db.CardCharge.Where(y => y.CC_CardNo == ci.CI_CardNo);
                    var cvs      = cexpense.Sum(y => y.expense);
                    if (cvs.HasValue)
                    {
                        double cds = cvs.Value;
                        if (ci.CI_CreditsUsed == null)
                        {
                            msg += "积分为:" + (cds / cu).ToString();
                        }
                        else
                        {
                            msg += "积分为:" + (cds / cu - ci.CI_CreditsUsed).ToString();
                        }
                    }
                }

                String TypeStr        = "";
                String CopyRightToCOM = "";
                String CopyRightStr   = "//上海迅赛信息技术有限公司,网址www.xunsai.com//";
                string smsPort        = BathClass.get_config_by_key("smsPort");
                string smsBaud        = BathClass.get_config_by_key("smsBaud");
                if (smsPort == "" || smsBaud == "")
                {
                    SMmsForm smsForm = new SMmsForm();
                    if (smsForm.ShowDialog() != DialogResult.OK)
                    {
                        return;
                    }

                    smsPort = BathClass.get_config_by_key("smsPort");
                    smsBaud = BathClass.get_config_by_key("smsBaud");
                }

                if (smsPort == "" || smsBaud == "")
                {
                    return;
                }

                //SmsClass.Sms_Disconnection();
                if (SmsClass.Sms_Connection(CopyRightStr, uint.Parse(smsPort[3].ToString()), uint.Parse(smsBaud), out TypeStr, out CopyRightToCOM) != 1)
                {
                    return;
                }

                SmsClass.Sms_Send(ci.CI_Telephone, msg);
                SmsClass.Sms_Disconnection();
            }
            catch
            {}
        }
コード例 #10
0
ファイル: MainWindow.cs プロジェクト: zanderphh/yousoftbath
        //F6开牌
        private void tool_open_seat()
        {
            if (tSeat.Text == "")
            {
                return;
            }

            BathDBDataContext db_new = new BathDBDataContext(LogIn.connectionString);
            string            text   = tSeat.Text;

            tSeat.Text = "";

            var seat1 = db_new.HotelRoom.FirstOrDefault(x => x.text == text);
            var seat2 = db_new.HotelRoom.FirstOrDefault(x => x.oId == text);

            if (seat1 == null && seat2 == null)
            {
                BathClass.printErrorMsg("手牌不可用!");
                return;
            }

            if (seat1 != null)
            {
                var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == seat1.typeId);

                switch (seat1.status)
                {
                case 1:    //可用
                case 3:    //已经结账
                    if (!BathClass.ToBool(db_new.Options.FirstOrDefault().允许手工输入手牌号开牌) && mtype.menuId != null)
                    {
                        BathClass.printErrorMsg("不允许手工输入手牌号开牌!");
                        break;
                    }
                    open_seat(seat1, db_new);
                    break;

                case 2:    //正在使用
                case 7:    //押金离场
                    if (!BathClass.getAuthority(db_new, LogIn.m_User, "完整点单") &&
                        !BathClass.getAuthority(db_new, LogIn.m_User, "可见本人点单"))
                    {
                        BathClass.printErrorMsg("权限不够");
                        break;
                    }

                    seat1.ordering = true;
                    db_new.SubmitChanges();

                    var orderForm = new HotelRoomOrderForm(m_Seat);
                    orderForm.ShowDialog();

                    seat1.ordering = false;
                    db_new.SubmitChanges();
                    break;

                case 4:    //锁定
                    BathClass.printErrorMsg("台位已经锁定!");
                    break;

                case 5:    //停用
                    BathClass.printErrorMsg("台位已经停用!");
                    break;

                case 6:    //警告
                    var orderCheckForm = new HotelRoomOrderCheckForm(m_Seat);
                    orderCheckForm.ShowDialog();
                    break;

                case 8:
                    BathClass.printErrorMsg("补救台位不能录单");
                    break;

                default:
                    break;
                }
            }
            else if (seat2 != null)
            {
                var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == seat2.typeId);

                switch (seat2.status)
                {
                case 1:    //可用
                case 3:    //已经结账
                    open_seat(seat2, db_new);
                    break;

                case 2:    //正在使用
                case 7:    //押金离场
                    if (!BathClass.getAuthority(db_new, LogIn.m_User, "完整点单") &&
                        !BathClass.getAuthority(db_new, LogIn.m_User, "可见本人点单"))
                    {
                        BathClass.printErrorMsg("权限不够");
                        break;
                    }

                    seat2.ordering = true;
                    db_new.SubmitChanges();

                    var orderForm = new HotelRoomOrderForm(m_Seat);
                    orderForm.ShowDialog();

                    seat2.ordering = false;
                    db_new.SubmitChanges();
                    break;

                case 4:    //锁定
                    BathClass.printErrorMsg("台位已经锁定!");
                    break;

                case 5:    //停用
                    BathClass.printErrorMsg("台位已经停用!");
                    break;

                case 6:    //警告
                    var orderCheckForm = new HotelRoomOrderCheckForm(m_Seat);
                    orderCheckForm.ShowDialog();
                    break;

                case 8:
                    BathClass.printErrorMsg("补救台位不能录单");
                    break;

                default:
                    break;
                }
            }
        }
コード例 #11
0
ファイル: MainWindow.cs プロジェクト: zanderphh/yousoftbath
        //点击台位按钮
        private void btn_Click(object sender, EventArgs e)
        {
            Button btn = sender as Button;

            btn.Enabled = false;
            btn.Enabled = true;

            BathDBDataContext db_new = new BathDBDataContext(LogIn.connectionString);

            m_Seat = db_new.HotelRoom.FirstOrDefault(x => x.text == btn.Text);
            var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == m_Seat.typeId);

            switch (m_Seat.status)
            {
            case 1:    //可用
            case 3:    //已经结账
                if (!BathClass.ToBool(db_new.Options.FirstOrDefault().允许手工输入手牌号开牌) && mtype.menuId != null)
                {
                    BathClass.printErrorMsg("不允许手工输入手牌号开牌!");
                    break;
                }
                open_seat(m_Seat, db_new);
                break;

            case 2:    //正在使用
            case 7:    //押金离场
                if (!BathClass.getAuthority(db_new, LogIn.m_User, "完整点单") &&
                    !BathClass.getAuthority(db_new, LogIn.m_User, "可见本人点单"))
                {
                    BathClass.printErrorMsg("权限不够");
                    break;
                }
                m_Seat.ordering = true;
                db_new.SubmitChanges();

                var orderForm = new HotelRoomOrderForm(m_Seat);
                orderForm.ShowDialog();


                m_Seat.ordering = false;
                db_new.SubmitChanges();
                break;

            case 4:    //锁定
                break;

            case 5:    //停用
                BathClass.printErrorMsg("台位已经停用!");
                break;

            case 6:    //警告
                var orderCheckForm = new HotelRoomOrderCheckForm(m_Seat);
                orderCheckForm.ShowDialog();
                break;

            case 8:    //重新结账
                BathClass.printErrorMsg("补救台位不能录单");
                break;

            default:
                break;
            }
        }
コード例 #12
0
ファイル: MainWindow.cs プロジェクト: zanderphh/yousoftbath
        //F6开牌
        private void tool_open_seat()
        {
            if (tSeat.Text == "")
            {
                return;
            }

            string text = tSeat.Text;

            tSeat.Text = "";
            BathDBDataContext db_new = new BathDBDataContext(LogIn.connectionString);
            var manuInput            = BathClass.ToBool(db_new.Options.FirstOrDefault().允许手工输入手牌号结账);

            var seat1 = db_new.HotelRoom.FirstOrDefault(x => x.text == text);
            var seat2 = db_new.HotelRoom.FirstOrDefault(x => x.oId == text);

            if (seat1 == null && seat2 == null)
            {
                BathClass.printErrorMsg("手牌不可用!");
                return;
            }

            if (seat1 != null)
            {
                var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == seat1.typeId);
                if (!manuInput && mtype.menuId != null)
                {
                    BathClass.printErrorMsg("不允许手工输入手牌号结账!");
                    return;
                }
                int status = seat1.status;
                if (status == 2 || status == 6 || status == 7 || status == 8)
                {
                    if (seat1.note != null && seat1.note != "")
                    {
                        BathClass.printInformation(seat1.note);
                    }

                    SeatExpenseForm seatExpenseForm = new SeatExpenseForm(seat1);
                    seatExpenseForm.ShowDialog();
                }
                else if (status == 4)
                {
                    BathClass.printErrorMsg("台位已经锁定!");
                }
                else if (status == 5)
                {
                    BathClass.printErrorMsg("台位已经停用!");
                }
            }
            else if (seat2 != null)
            {
                var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == seat2.typeId);
                if (!manuInput && mtype.menuId != null)
                {
                    BathClass.printErrorMsg("不允许手工输入手牌号结账!");
                    return;
                }

                int status = seat2.status;
                if (status == 2 || status == 6 || status == 7 || status == 8)
                {
                    if (seat2.note != null && seat2.note != "")
                    {
                        BathClass.printInformation(seat2.note);
                    }

                    SeatExpenseForm seatExpenseForm = new SeatExpenseForm(seat2);
                    seatExpenseForm.ShowDialog();
                }
                else if (status == 4)
                {
                    BathClass.printErrorMsg("台位已经锁定!");
                }
                else if (status == 5)
                {
                    BathClass.printErrorMsg("台位已经停用!");
                }
            }
        }