コード例 #1
0
        /// <summary>
        /// 赠送
        /// </summary>
        private void Presented(string str)
        {
            if (!IS_temporary_null(str))
            {
                return;
            }
            //temporary[0].ID_ConsumeDetail

            CW_ConsumeDetail cd = m.CW_ConsumeDetail.Where(c => c.ID_ComsumeDetail == temporary[0].ID_ConsumeDetail).SingleOrDefault();

            cd.presenter = true;

            CW_Consumption cc  = m.CW_Consumption.Where(c => c.ID_Consumption == ID_consumption && c.Effective == true).SingleOrDefault();
            decimal        tot = m.PJ_ProjectDetail.Where(c => c.ID_Project == cd.ID_Project).Single().Price;

            cc.Prict = cc.Prict - tot > 0 ? tot : 0;

            m.Entry(cd).State = System.Data.Entity.EntityState.Modified;

            m.Entry(cc).State = System.Data.Entity.EntityState.Modified;


            if (m.SaveChanges() > 0)
            {
                Get_data_right();
                Show_message(str);
            }
        }
コード例 #2
0
        /// <summary>
        /// 消费退单
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtConsumeChargeback_Click(object sender, RoutedEventArgs e)
        {
            List <Consumer> consumers = new List <Consumer>();

            consumers = STATIC_cache.StaticConsumerRight;
            if (consumers == null || consumers.Count() < 1)
            {
                MessageBox.Show("请选择需要退单的项目", "大海提示", MessageBoxButton.OKCancel, MessageBoxImage.Asterisk);
                return;
            }
            //房台id
            int ftid = DataMessage[0].ID_RoomStage;
            //消费明细id
            int mxid             = consumers[0].ID_ConsumeDetail;
            CW_ConsumeDetail cCd = m.CW_ConsumeDetail.Where(p => p.ID_ComsumeDetail == mxid).Single();

            m.CW_ConsumeDetail.Remove(cCd);
            if (m.SaveChanges() > 0)
            {
                MessageBoxResult m = MessageBox.Show("消费退单成功", "大海提示", MessageBoxButton.OKCancel, MessageBoxImage.Asterisk);
                if (m == MessageBoxResult.OK)
                {
                }
                //右边的表格
                View.Windows.W_UC.W_ConsumerFinanceDataGridRight r = new W_UC.W_ConsumerFinanceDataGridRight(ftid, "", false, 0);
                r.TransmitConsumer += new W_UC.TransmitConsumer(DataRightCount);
                TiRight.Content     = null;
                TiRight.Content     = r;
            }
        }
コード例 #3
0
        /// <summary>
        /// 消费退单
        /// </summary>
        private void Consumer_single_back()
        {
            if (!IS_temporary_null("消费退单"))
            {
                return;
            }

            MessageBoxResult mbr = MessageBox.Show("确定要对 " + temporary[0].MC_Project + " 这条数据进行消费退单吗?", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);

            if (mbr == MessageBoxResult.OK)
            {
                CW_ConsumeDetail cd = m.CW_ConsumeDetail.Where(c => c.ID_ComsumeDetail == temporary[0].ID_ConsumeDetail).SingleOrDefault();
                m.CW_ConsumeDetail.Remove(cd);

                CW_Consumption cc  = m.CW_Consumption.Where(c => c.ID_Consumption == ID_consumption && c.Effective == true).SingleOrDefault();
                decimal        tot = m.PJ_ProjectDetail.Where(c => c.ID_Project == cd.ID_Project).Single().Price;
                cc.Prict = cc.Prict - tot > 0 ? tot : 0;

                m.Entry(cc).State = System.Data.Entity.EntityState.Modified;


                if (m.SaveChanges() > 0)
                {
                    Get_data_right();
                    MessageBox.Show("消费退单成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
        }
コード例 #4
0
        //Tb_discount
        /// <summary>
        /// 打折
        /// </summary>
        private void Discount(string str)
        {
            try
            {
                if (!Tb_discount.IsVisible && str.Trim() == "打折")
                {
                    Bt_Consumer_turn_single.Visibility = Visibility.Hidden;  //隐藏目标按钮
                    Tb_discount.Visibility             = Visibility.Visible; //显示元素
                    return;
                }

                //判断折扣
                if (!WPF_MvvMTest.Tools.Tools.IsDiscount(Tb_discount.Text.Trim()))
                {
                    MessageBox.Show("请输入正确的折扣,只能在 1~10 之间", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }
                decimal dis          = decimal.Parse(Tb_discount.Text.Trim()) / 10;
                decimal gross_amount = 0;
                foreach (var item in op)
                {
                    CW_ConsumeDetail cp = m.CW_ConsumeDetail.Where(c => c.ID_Project == item.ID_Project && c.ID_ComsumeDetail == item.ID_ConsumeDetail && c.State_ComsumeDetail == true).SingleOrDefault();
                    cp.money   = cp.money * dis;
                    item.Price = item.Price * dis;

                    m.Entry(cp).State = System.Data.Entity.EntityState.Modified;
                    gross_amount      = gross_amount + item.Price;
                }

                CW_Consumption cpn = m.CW_Consumption.Where(c => c.ID_RoomStage == ID_Room && c.Effective == true).Single();
                cpn.Discount       = Convert.ToDecimal(Tb_discount.Text.Trim());
                cpn.Prict          = gross_amount;
                m.Entry(cpn).State = System.Data.Entity.EntityState.Modified;

                if (m.SaveChanges() > 0)
                {
                    Common_means.operate_successfully(str);
                    Bt_Consumer_turn_single.Visibility = Visibility.Visible; //隐藏目标按钮
                    Tb_discount.Visibility             = Visibility.Hidden;  //显示元素


                    Get_data_right();
                    Show_message(str);
                }
                else
                {
                    Common_means.operation_failure(str);
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine("错误日志信息" + e.Message + "\n" + "对象名称" + e.Source + "\n" + "堆栈信息" + e.StackTrace);
            }
        }
コード例 #5
0
        /// <summary>
        /// 添加按钮
        /// </summary>
        private void Accretion()
        {
            int _inum = -1;

            //添加
            try
            {
                string _snum = Tb_Consumption_quantity.Text.ToString().Trim();

                _inum = int.Parse(_snum);
                if (_inum <= 0)
                {
                    MessageBox.Show("请输入有效数字", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }
            }
            catch (Exception)
            {
                MessageBox.Show("请输入有效数字", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            if (sk_left == null)
            {
                MessageBox.Show("请选择要录入的数据", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            int _icon_id = m.CW_Consumption.Where(c => c.ID_RoomStage == ID_RoomStag && c.Effective == true).Single().ID_Consumption;

            DateTime dt = DateTime.Now;

            for (int i = 0; i < _inum; i++)
            {
                CW_ConsumeDetail cd = new CW_ConsumeDetail();
                cd.ID_Consumption      = _icon_id;
                cd.ID_Project          = sk_left.Peek().ID_Project;
                cd.State_ComsumeDetail = true;
                cd.presenter           = false;
                cd.money = sk_left.Peek().Price;
                cd.time  = dt;
                m.CW_ConsumeDetail.Add(cd);
            }

            if (m.SaveChanges() > 0)
            {
                MessageBoxResult mbr = MessageBox.Show("客人消费录入成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                Window_Loaded(null, null);
                Tb_Consumption_quantity.Text = string.Empty;
            }
        }
コード例 #6
0
        private void BtAdd_Click(object sender, RoutedEventArgs e)
        {
            int count = Convert.ToInt32(TbConsumeNum.Text) == null?0: Convert.ToInt32(TbConsumeNum.Text);


            List <Consumer> cS = new List <Consumer>();

            cS = STATIC_cache.StaticConsumerLeft;
            if (cS == null)
            {
                MessageBox.Show("请选择数据", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                return;
            }
            int ftid = DataMessage[0].ID_RoomStage;
            int cC   = m.CW_Consumption.Where(p => p.ID_RoomStage == ftid).Count();

            //存在消费单
            if (cC > 0)
            {
                int xfid = m.CW_Consumption.Where(p => p.ID_RoomStage == ftid).Single().ID_Consumption;

                for (int i = 0; i < count; i++)
                {
                    CW_ConsumeDetail iCD = new CW_ConsumeDetail();
                    iCD.ID_Consumption      = xfid;
                    iCD.ID_Project          = cS[0].ID_Project;
                    iCD.State_ComsumeDetail = true;
                    m.CW_ConsumeDetail.Add(iCD);
                }

                if (m.SaveChanges() > 0)
                {
                    MessageBoxResult m = MessageBox.Show("消费入单成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                    if (m == MessageBoxResult.OK)
                    {
                        TbConsumeNum.Text = "1";
                    }
                    //右边的表格
                    View.Windows.W_UC.W_ConsumerFinanceDataGridRight r = new W_UC.W_ConsumerFinanceDataGridRight(ftid, "", false, 0);
                    r.TransmitConsumer += new W_UC.TransmitConsumer(DataRightCount);
                    TiRight.Content     = null;
                    TiRight.Content     = r;
                }
            }
            else
            {
                MessageBox.Show("请先开台,再消费入单", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk);
            }
        }
コード例 #7
0
        /// <summary>
        /// 单项打折
        /// </summary>
        /// <param name="str"></param>
        private void Single_item_at_a_discount(string str)
        {
            if (!Tb_discount.IsVisible && str.Trim() == "单项打折")
            {
                Bt_Consumer_turn_single.Visibility = Visibility.Hidden;  //隐藏目标按钮
                Tb_discount.Visibility             = Visibility.Visible; //显示元素
                return;
            }
            //  temporary.Count == 0 ? MessageBox.Show("请选择需要打折的消费", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning) : temporary.Clear();
            if (temporary.Count == 0)
            {
                MessageBox.Show("请选择需要打折的消费", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            //判断折扣
            if (!WPF_MvvMTest.Tools.Tools.IsDiscount(Tb_discount.Text.Trim()))
            {
                MessageBox.Show("请输入正确的折扣,只能在 1~10 之间", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }
            decimal dis = decimal.Parse(Tb_discount.Text.Trim()) / 10;
            decimal mon = 0;

            foreach (var item in temporary)
            {
                CW_ConsumeDetail cp = m.CW_ConsumeDetail.Where(c => c.ID_Project == item.ID_Project && c.ID_ComsumeDetail == item.ID_ConsumeDetail && c.State_ComsumeDetail == true).SingleOrDefault();
                cp.money   = cp.money * dis;
                item.Price = item.Price * dis;
                mon        = item.Price;

                m.Entry(cp).State = System.Data.Entity.EntityState.Modified;
            }
            CW_Consumption cpn = m.CW_Consumption.Where(c => c.ID_RoomStage == ID_Room && c.Effective == true).Single();

            //cpn.Discount = Convert.ToDecimal(Tb_discount.Text.Trim());
            cpn.Prict = cpn.Prict - mon + cpn.Prict;

            m.Entry(cpn).State = System.Data.Entity.EntityState.Modified;

            if (m.SaveChanges() > 0)
            {
                Show_message(str);
                Get_data_right();
            }
        }
コード例 #8
0
        /// <summary>
        /// 人民币结账
        /// </summary>
        private void RMB_settlement()
        {
            try
            {
                if (!Tools.Tools.IsInteger(Tb_balance.Text))
                {
                    MessageBox.Show("请输入正确的数据类型", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }

                //钱够的情况
                if (Tb_balance.Text != string.Empty)
                {
                    //添加消费记录
                    CW_PayRecord c = new CW_PayRecord();
                    c.ID_Guest  = ID_Guest;
                    c.ID_Bill   = ID_Bill;
                    c.Price_Pay = decimal.Parse(Tb_guests_pay.Text.Trim());
                    c.Time_Pay  = DateTime.Now.Date;

                    c.PoP = Cb_payment_method.IsEnabled is false ?"人民币": Cb_payment_method.Text.Trim().ToString();

                    var co = m.CW_ConsumeDetail.Where(cc => cc.ID_Consumption == ID_Consumption && cc.State_ComsumeDetail == true).ToList();
                    foreach (var item in co)
                    {
                        //修改该消费记录状态
                        CW_ConsumeDetail cd = m.CW_ConsumeDetail.Where(cc => cc.ID_ComsumeDetail == item.ID_ComsumeDetail && cc.State_ComsumeDetail == true).SingleOrDefault();
                        cd.State_ComsumeDetail = false;
                        m.Entry(cd).State      = System.Data.Entity.EntityState.Modified;
                    }

                    //注销本次消费
                    CW_Consumption cp = m.CW_Consumption.Where(cc => cc.ID_Consumption == ID_Consumption && cc.Effective == true).Single();
                    cp.Effective      = false;
                    m.Entry(cp).State = System.Data.Entity.EntityState.Modified;

                    CW_Bill cb = m.CW_Bill.Where(cc => cc.ID_Bill == ID_Bill && cc.State_Bill == null).Single();
                    cb.Time_PayBill   = DateTime.Parse(Tb_The_check_time.Text.Trim());
                    cb.Remark         = Tb_comment.Text.Trim().ToString();
                    cb.Price          = decimal.Parse(Tb_guests_pay.Text.Trim());
                    cb.State_Bill     = "已结账";
                    m.Entry(cb).State = System.Data.Entity.EntityState.Modified;

                    SYS_RoomStage sr = m.SYS_RoomStage.Where(cc => cc.ID_RoomStage == ID_RoomStage && cc.ID_Guest == ID_Guest).Single();
                    sr.ID_Guest        = null;
                    sr.State_RoomStage = "未用";
                    m.Entry(sr).State  = System.Data.Entity.EntityState.Modified;

                    if (m.SaveChanges() > 0)
                    {
                        MessageBox.Show("结账成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }
                }
                else

                //当钱不够时
                if (Tb_to_pay_the_balance.Text != string.Empty)
                {
                    //添加消费记录
                    CW_PayRecord c = new CW_PayRecord();
                    c.ID_Guest  = ID_Guest;
                    c.ID_Bill   = ID_Bill;
                    c.Price_Pay = decimal.Parse(Tb_guests_pay.Text.Trim());
                    c.Time_Pay  = DateTime.Now.Date;
                    c.PoP       = Cb_payment_method.IsEnabled is false ? "人民币" : Cb_payment_method.Text.Trim().ToString();

                    m.SaveChanges();

                    //修改本次消费
                    CW_Consumption cp = m.CW_Consumption.Where(cc => cc.ID_Consumption == ID_Consumption && cc.Effective == true).Single();
                    cp.Prict          = decimal.Parse(Tb_to_pay_the_balance.Text.Trim());
                    m.Entry(cp).State = System.Data.Entity.EntityState.Modified;

                    CW_Bill cb = m.CW_Bill.Where(cc => cc.ID_Bill == ID_Bill && cc.State_Bill == null).Single();
                    cb.Time_PayBill   = DateTime.Parse(Tb_The_check_time.Text.Trim());
                    cb.Remark         = Tb_comment.Text.Trim().ToString();
                    cb.Price          = decimal.Parse(Tb_guests_pay.Text.Trim());
                    m.Entry(cb).State = System.Data.Entity.EntityState.Modified;

                    if (m.SaveChanges() > 0)
                    {
                        MessageBox.Show("部分结账成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }
                }
            }
            catch (Exception e)
            {
                WPF_MvvMTest.Tools.Common_means.error_log(e);
            }
        }
コード例 #9
0
        /// <summary>
        /// 添加消费按钮
        /// </summary>
        private void Addition(string name)
        {
            string str = Tb_Consumption_quantity.Text.Trim();

            if (!WPF_MvvMTest.Tools.Tools.IsInteger(str))
            {
                MessageBox.Show("请输入正整数", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }
            int count = int.Parse(str);

            if (count > 0)
            {
                try
                {
                    //  int ID_cp = m.CW_Consumption.Where(c => c.ID_RoomStage == ID_Room && c.Effective == true).SingleOrDefault().ID_Consumption;
                    decimal mymoney = 0;
                    for (int i = 0; i < count; i++)
                    {
                        //添加消费明细
                        CW_ConsumeDetail c = new CW_ConsumeDetail();
                        c.ID_Project          = projects[0].ID_Project;
                        c.ID_Consumption      = ID_consumption;
                        c.ID_PayRecord        = null;
                        c.State_ComsumeDetail = true;
                        c.money  = projects[0].Price;
                        mymoney += projects[0].Price;
                        m.CW_ConsumeDetail.Add(c);
                        op.Add(projects[0]);
                    }

                    CW_Consumption cc = m.CW_Consumption.Where(c => c.ID_Consumption == ID_consumption && c.Effective == true).SingleOrDefault();


                    cc.Prict = mymoney;
                    //cc.Prict = m.CW_Consumption.Where(c => c.ID_RoomStage == ID_Room && c.Effective == true).Single().Prict > 0 ? m.CW_Consumption.Where(c => c.ID_RoomStage == ID_Room && c.Effective == true).Single().Prict : op.Where(c => c.presenter == "否").Select(p => p.Price).ToList().Sum();
                    //消费总金额
                    // DGTC_accruing_amounts.Header = op.Where(c => c.presenter == "否").Select(p => p.Price).ToList().Sum();

                    m.Entry(cc).State = System.Data.Entity.EntityState.Modified;



                    if (m.SaveChanges() > 0)
                    {
                        MessageBox.Show("消费入单成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                        Get_data_right();
                        Show_message(str);
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("消费入单异常", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }

            else
            {
                MessageBox.Show("请输入消费数量", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
コード例 #10
0
        /// <summary>
        /// 人民币结账
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtRMBSettlement_Click(object sender, RoutedEventArgs e)
        {
            //假如钱不够
            decimal ljxf = Convert.ToDecimal(TbTheCumulative.Text);
            decimal bkzf = Convert.ToDecimal(TbFodingTime.Text);

            if (bkzf < ljxf)
            {
                MessageBox.Show("你的钱不够哦,不要想着吃霸王餐哦", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                return;
            }

            //客人账号信息
            string krzh             = TbGuestAccount.Text.Trim().ToString();
            List <SYS_RoomStage> rS = m.SYS_RoomStage.Where(l => l.ID_Guest == m.VIP_Table.Where(k => k.Accounts == krzh).FirstOrDefault().ID_Grade).ToList();
            int rs_id = rS[0].ID_RoomStage;

            foreach (var item in rS)
            {
                //房台id
                int ftid = item.ID_RoomStage;

                List <CW_Bill> CWb = m.CW_Bill.Where(p => p.ID_Bill == (m.CW_Consumption.Where(o => o.ID_RoomStage == ftid).FirstOrDefault().ID_Bill)).ToList();
                foreach (var cW in CWb)
                {
                    DateTime dtNow = DateTime.Now;

                    //添加支付记录
                    CW_PayRecord cWpr = new CW_PayRecord();
                    cWpr.ID_Bill   = cW.ID_Bill;
                    cWpr.ID_Guest  = rs_id;
                    cWpr.Price_Pay = Convert.ToDecimal(TbTheCumulative.Text);
                    cWpr.Time_Pay  = dtNow;
                    cWpr.PoP       = "现金支付";
                    cWpr.State     = true;//已支付
                    m.CW_PayRecord.Add(cWpr);
                    m.SaveChanges();
                    int cwprid = m.CW_PayRecord.Where(p => p.ID_Bill == cW.ID_Bill && p.ID_Guest == rs_id && p.State == false).ToList()[0].ID_PayRecord;


                    //账单
                    CW_Bill cwB = m.CW_Bill.Where(p => p.ID_Bill == cW.ID_Bill).SingleOrDefault();
                    cwB.Price          = Convert.ToDecimal(TbTheCumulative.Text);
                    cwB.State_Bill     = "已结账";
                    cwB.Time_PayBill   = dtNow;
                    m.Entry(cwB).State = System.Data.Entity.EntityState.Modified;
                    m.SaveChanges();



                    //消费记录明细
                    List <CW_ConsumeDetail> cwCD = m.CW_ConsumeDetail.Where(p => p.ID_Consumption == (m.CW_Consumption.Where(c => c.ID_RoomStage == ftid).FirstOrDefault().ID_Consumption)).ToList();
                    foreach (var cW_Cme in cwCD)
                    {
                        CW_ConsumeDetail cW_Consume = m.CW_ConsumeDetail.Where(p => p.ID_Consumption == cW_Cme.ID_Consumption).FirstOrDefault();
                        cW_Consume.State_ComsumeDetail = false;
                        cW_Consume.ID_PayRecord        = cwprid;
                        m.Entry(cW_Consume).State      = System.Data.Entity.EntityState.Modified;
                        m.SaveChanges();
                    }
                }

                //修改房台状态
                SYS_RoomStage sysRs = m.SYS_RoomStage.Where(p => p.ID_RoomStage == item.ID_RoomStage).SingleOrDefault();
                sysRs.ID_Guest        = null;
                sysRs.State_RoomStage = "未用";
                m.Entry(sysRs).State  = System.Data.Entity.EntityState.Modified;
                m.SaveChanges();


                if (CWb.Count > 0)
                {
                    MessageBoxResult mb = MessageBox.Show("结账成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk);

                    if (mb == MessageBoxResult.OK)
                    {
                        this.Close();
                    }
                }
            }
        }