Exemple #1
0
        //打印优惠券
        private void btnCoupon_Click(object sender, EventArgs e)
        {
            InputNumber inputNumber = new InputNumber("输入账单号", false);
            if (inputNumber.ShowDialog() != DialogResult.OK)
                return;

            var act_id = inputNumber.number;
            var act = db.Account.FirstOrDefault(x => x.id == act_id);
            if (act == null)
                return;

            //if (BathClass.ToBool(act.couponPrinted))
            //{
            //    InformationDlg dlg = new InformationDlg("该账单号已经打印");
            //    dlg.ShowDialog();
            //    return;
            //}

            var act_money = BathClass.get_account_money(act);
            if (db.Coupon.Any(x=>x.minAmount != null && act_money >= x.minAmount))
            {
                var coupons = db.Coupon.Where(x => x.minAmount != null && act_money >= x.minAmount);
                var coupon = coupons.OrderByDescending(x => x.money).FirstOrDefault();

                PrintCoupon.Print_Coupon((byte[])coupon.img.ToArray());

                //act.couponPrinted = true;
                db.SubmitChanges();
            }
            else
            {
                InformationDlg dlg = new InformationDlg("未达到最低赠送消费金额");
                dlg.ShowDialog();
            }
        }
Exemple #2
0
        //数量
        private void btnNumber_Click(object sender, EventArgs e)
        {
            if (dgvExpense.CurrentCell == null)
            {
                BathClass.printErrorMsg("需要选择订单!");
                return;
            }

            string orderId = dgvExpense.CurrentRow.Cells[0].Value.ToString();
            //var order = db.Orders.FirstOrDefault(x => x.id == orderId);
            //if (order == null)
            //{
            //    BathClass.printErrorMsg("选择订单编号错误!");
            //    return;
            //}

            InputNumber inputServerForm = new InputNumber("输入点单数量", false);

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

            double new_number = inputServerForm.number;

            if (new_number == 0)
            {
                BathClass.printErrorMsg("输入数量不能为0!");
                return;
            }

            double money  = Convert.ToDouble(dgvExpense.CurrentRow.Cells[8].Value);
            double number = Convert.ToDouble(dgvExpense.CurrentRow.Cells[7].Value);
            double unit   = money / number;
            //double unit = Convert.ToDouble(dgvExpense.CurrentRow.Cells[]) / order.number;
            string cmd_str = "update [Orders] set number=" + new_number + ",money=" + new_number * unit
                             + " where id=" + orderId;

            if (!dao.execute_command(cmd_str))
            {
                BathClass.printErrorMsg("数量修改失败!");
                return;
            }
            //order.number = inputServerForm.number;
            //order.money = unit * order.number;
            //db.SubmitChanges();
            dgvExpense_show();
        }
        //手工打折
        private void discountTool_Click(object sender, EventArgs e)
        {
            //var dc = new BathDBDataContext(LogIn.connectionString);
            Employee oper = null;
            //if (BathClass.getAuthority(dc, LogIn.m_User, "手工打折"))
                //oper = LogIn.m_User;

            if ((dao.get_authority(LogIn.m_User, "手工打折")))
                oper = LogIn.m_User;

            if (oper == null)
            {
                InputEmployeeByPwd inputEmployee = new InputEmployeeByPwd();
                if (inputEmployee.ShowDialog() != DialogResult.OK)
                    return;

                //if (BathClass.getAuthority(dc, inputEmployee.employee, "手工打折"))
                //    oper = inputEmployee.employee;

                if ((dao.get_authority(inputEmployee.employee, "手工打折")))
                    oper = LogIn.m_User;
                else
                {
                    BathClass.printErrorMsg("没有手工打折权限");
                    return;
                }
            }
            if (oper == null)
                return;

            InputNumber inputNumberForm = new InputNumber("输入折扣率(<10)", false);
            if (inputNumberForm.ShowDialog() != DialogResult.OK)
                return;

            double number = inputNumberForm.number;
            double discountRate = 0;
            if (number < 1)
                discountRate = number;
            else
                discountRate = number / 10.0;

            //var os = dc.Orders.Where(x => m_Seats.Select(y => y.systemId).Contains(x.systemId) && x.deleteEmployee == null);
            //foreach (Orders o in os)
                //o.money = Math.Round(o.money * discountRate);

            //string cmd_str = @"if exists(select 1 from sysobjects where id=object_id('discount_money') and objectproperty(id,'IsInlineFunction')=0)"
            //                + @" drop function [dbo].[discount_money]"
            //                + @" go"
            //                + @" create function discount_money(@systemId nvarchar(MAX), @discount float)"
            //                + @" returns real"
            //                + @" as"
            //                + @" begin"
            //                + " declare @discount_money real"
            //                + @" declare @money real"
            //                + " select @money=money from [orders] where systemId=@systemId and deleteEmployee is null"
            //                + @" set @discount_money=@discount*@money"
            //                + @" Return (@discount_money)"
            //                + @" end"
            //                + @" go";

            string cmd_str = @"update [Orders] set money=round(money*" + discountRate.ToString() + ",0) " + " where ";
            string seat_cmd_str = " update table [Seat] set discount='" +
                inputNumberForm.number.ToString() +
                ", discountEmployee='" + oper.id + "' where ";
            int count = m_Seats.Count;
            string id_str = "";
            for (int i = 0; i < count; i++ )
            {
                id_str += @"systemId='" + m_Seats[i].systemId + "'";
                //seat_cmd_str += "text='" + m_Seats[i].text + "'";
                if (i != count - 1)
                    id_str += " or ";
            }
            cmd_str += id_str;
            cmd_str += @" update [Seat] set discount='" + inputNumberForm.number.ToString()
                      +@"', discountEmployee='" + oper.id + "' where ";
            cmd_str += id_str;

            cmd_str += " insert into [Operation](employee, seat, openEmployee, explain, note1, note2, opTime) values('" +
                oper.name + "','" + string.Join("|", m_Seats.Select(y => y.text).ToArray()) + "','" +
                string.Join("|", m_Seats.Select(y => y.openEmployee).ToArray()) + "','手工打折','" + number.ToString() + "','" +
                string.Join("|", m_Seats.Select(y => y.systemId).ToArray()) + "',getdate())";

            if (!dao.execute_command(cmd_str))
            {
                BathClass.printErrorMsg("手工打折失败,请重试!");
                //return;
            }
            dgvExpense_show();
            //Operation op = new Operation();
            //op.employee = oper.name;
            //op.seat = string.Join("|", m_Seats.Select(y => y.text).ToArray());
            //op.openEmployee = string.Join("|", m_Seats.Select(y => y.openEmployee).ToArray());
            ////op.openTime = seat.openTime;
            //op.explain = "手工打折";
            //op.note1 = number.ToString();
            //op.note2 = string.Join("|", m_Seats.Select(y => y.systemId).ToArray());
            //op.opTime = now;
            //dc.Operation.InsertOnSubmit(op);

            //dc.SubmitChanges();
        }
        //手工打折
        private void discountTool_Click(object sender, EventArgs e)
        {
            var dc = new BathDBDataContext(LogIn.connectionString);
            Employee oper = null;
            if (BathClass.getAuthority(dc, LogIn.m_User, "手工打折"))
                oper = LogIn.m_User;

            if (oper == null)
            {
                InputEmployeeByPwd inputEmployee = new InputEmployeeByPwd();
                if (inputEmployee.ShowDialog() != DialogResult.OK)
                    return;

                if (BathClass.getAuthority(dc, inputEmployee.employee, "手工打折"))
                    oper = inputEmployee.employee;
                else
                {
                    BathClass.printErrorMsg("没有手工打折权限");
                    return;
                }
            }
            if (oper == null)
                return;

            InputNumber inputNumberForm = new InputNumber("输入折扣率(<10)");
            if (inputNumberForm.ShowDialog() != DialogResult.OK)
                return;

            double number = inputNumberForm.number;
            double discountRate = 0;
            if (number < 1)
                discountRate = number;
            else
                discountRate = number / 10.0;
            var os = dc.Orders.Where(x => m_Seats.Select(y => y.systemId).Contains(x.systemId) && x.deleteEmployee == null);
            foreach (Orders o in os)
                o.money = Math.Round(o.money * discountRate);

            foreach (HotelRoom seat in m_Seats)
            {
                seat.discount = inputNumberForm.number;
                seat.discountEmployee = oper.id;
            }

            Operation op = new Operation();
            op.employee = oper.name;
            op.seat = string.Join("|", m_Seats.Select(y => y.text).ToArray());
            op.openEmployee = string.Join("|", m_Seats.Select(y => y.openEmployee).ToArray());
            //op.openTime = seat.openTime;
            op.explain = "手工打折";
            op.note1 = number.ToString();
            op.note2 = string.Join("|", m_Seats.Select(y => y.systemId).ToArray());
            op.opTime = BathClass.Now(LogIn.connectionString);
            dc.Operation.InsertOnSubmit(op);

            dc.SubmitChanges();
            dgvExpense_show(dc);
            setStatus(dc);
        }
Exemple #5
0
        //数量
        private void btnNumber_Click(object sender, EventArgs e)
        {
            if (dgvExpense.CurrentCell == null)
            {
                BathClass.printErrorMsg("需要选择订单!");
                return;
            }

            string orderId = dgvExpense.CurrentRow.Cells[0].Value.ToString();
            //var order = db.Orders.FirstOrDefault(x => x.id == orderId);
            //if (order == null)
            //{
            //    BathClass.printErrorMsg("选择订单编号错误!");
            //    return;
            //}

            InputNumber inputServerForm = new InputNumber("输入点单数量", false);
            if (inputServerForm.ShowDialog() != DialogResult.OK)
                return;

            double new_number = inputServerForm.number;
            if (new_number == 0)
            {
                BathClass.printErrorMsg("输入数量不能为0!");
                return;
            }

            double money = Convert.ToDouble(dgvExpense.CurrentRow.Cells[8].Value);
            double number = Convert.ToDouble(dgvExpense.CurrentRow.Cells[7].Value);
            double unit = money / number;
            //double unit = Convert.ToDouble(dgvExpense.CurrentRow.Cells[]) / order.number;
            string cmd_str = "update [Orders] set number=" + new_number + ",money=" + new_number * unit
                + " where id=" + orderId;
            if (!dao.execute_command(cmd_str))
            {
                BathClass.printErrorMsg("数量修改失败!");
                return;
            }
            //order.number = inputServerForm.number;
            //order.money = unit * order.number;
            //db.SubmitChanges();
            dgvExpense_show();
        }