//打印优惠券 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(); } }
//数量 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); }
//数量 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(); }