Esempio n. 1
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            var v         = 0;
            var childtype = 0;
            var pl        = 0M;

            if (radioButton5.Checked)
            {
                v         = 3;
                childtype = (int)ChildType.中三;
                pl        = Convert.ToDecimal(lbSZS.Text);
            }
            if (radioButton6.Checked)
            {
                v         = 3;
                childtype = (int)ChildType.全中;
                pl        = Convert.ToDecimal(lbSQZ.Text);
            }
            if (radioButton7.Checked)
            {
                v         = 2;
                childtype = (int)ChildType.二全中;
                pl        = Convert.ToDecimal(lbEZE.Text);
            }
            if (radioButton8.Checked)
            {
                v         = 2;
                childtype = (int)ChildType.特碰;
                pl        = Convert.ToDecimal(lbTP.Text);
            }

            //需要组合的号码
            List <string> InCombinationList = new List <string>();

            #region  获取输入
            var controls = this.groupBox3.Controls.Find("CK", false);
            var r        = 0;
            foreach (var control in controls)
            {
                if (control is CheckBox)
                {
                    var ck = control as CheckBox;
                    if (ck.Checked)
                    {
                        r += 1;
                        var sd = this.groupBox3.Controls.Find("Code", false);
                        var lb = sd.FirstOrDefault(x => x.Tag == ck.Tag);
                        if (lb != null)
                        {
                            var lbCode = lb as Label;
                            InCombinationList.Add(lbCode.Text);
                        }
                    }
                }
            }
            #endregion

            #region 检测输入

            if (!radioButton5.Checked && !radioButton6.Checked && !radioButton7.Checked && !radioButton8.Checked)
            {
                MessageEx.ShowWarning("请选择连码类型");
                return;
            }

            if (cbox.SelectedIndex == 0)
            {
                MessageEx.ShowWarning("请选择客户");
                return;
            }

            if (string.IsNullOrWhiteSpace(txtMoney.Text))
            {
                MessageEx.ShowWarning("请输入金额");
                return;
            }

            if (r < v)
            {
                MessageEx.ShowWarning("内容不正确,请重新选择");
                return;
            }

            #endregion



            Frm.fmConfirmLX fm = new Frm.fmConfirmLX();

            #region 创建订单对象
            string OrderId = Guid.NewGuid().ToString("n");

            //订单主体
            var order = new Order <OrderLXLM>()
            {
                Create_Time    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                Create_User_Id = "0",
                Customer_Id    = cbox.SelectedValue.ToString().ToTryInt(),
                Id             = OrderId,
                IsDel          = 0,
                Issue          = txtIssue.Text.Trim(),
                Order_No       = ServiceNum.GetOrderNo(),
                Order_Type     = (int)OrderType.连码,
                Child_Type     = childtype,
                Update_Time    = "",
                Update_User_Id = ""
            };

            //生成号码组合
            List <string[]> ListCombination = PermutationAndCombination <string> .GetCombination(InCombinationList.ToArray(), v); //求全部的3-3组合

            //根据号码组合创建订单明细
            int index = 1;
            foreach (string[] arr in ListCombination)
            {
                OrderLXLM detail     = new OrderLXLM();
                int       childIndex = 0;
                var       str        = "";
                foreach (string item in arr)
                {
                    switch (childIndex)
                    {
                    case 0:
                        detail.Code1 = item.ToString();
                        break;

                    case 1:
                        detail.Code2 = item.ToString();
                        break;

                    case 2:
                        detail.Code3 = item.ToString();
                        break;

                    case 3:
                        detail.Code4 = item.ToString();
                        break;
                    }

                    str       += item + "、";
                    childIndex = childIndex + 1;
                }
                detail.Id        = Guid.NewGuid().ToString("n");
                detail.Sort      = index;
                detail.Remarks   = str.Remove(str.Length - 1, 1);
                detail.OrderId   = OrderId;
                detail.Odds      = pl;
                detail.ChildType = childtype;
                detail.InMoney   = Convert.ToDecimal(txtMoney.Text);
                detail.OutMoney  = detail.InMoney * detail.Odds;
                if (childtype == (int)ChildType.中三)
                {
                    detail.MinOdds     = Convert.ToDecimal(lbSZE.Text);
                    detail.MinOutMoney = detail.InMoney * detail.MinOdds;
                    detail.MaxOdds     = pl;
                    detail.MaxOutMoney = detail.InMoney * detail.MaxOdds;
                }
                detail.Status = (int)ResultStatus.Wait;
                detail.Flag   = 1;
                order.OrderDetails.Add(detail);
                index = index + 1;
            }

            order.Total_In_Money  = order.OrderDetails.Sum(x => x.InMoney);
            order.Total_Out_Money = 0.00M;
            #endregion

            fm.InitForm(order);

            if (fm.ShowDialog() == DialogResult.OK)
            {
                OrderImpl service = new OrderImpl();
                if (service.AddOrderLXLM(order).Code == 0)
                {
                    MessageEx.Show("下单成功");
                }
                else
                {
                    MessageEx.Show("下单失败");
                }
            }
        }
Esempio n. 2
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            #region 检测输入
            if (cbxCustomer.SelectedIndex == 0)
            {
                MessageEx.ShowWarning("请选择客户");
                return;
            }
            if (comboBox1.SelectedIndex == 0)
            {
                MessageEx.ShowWarning("请选择连肖类型");
                return;
            }

            if (string.IsNullOrWhiteSpace(txtCode.Text))
            {
                MessageEx.ShowWarning("请输入组合代码");
                txtCode.Text = "";
                txtCode.Focus();
                return;
            }
            else
            {
                if (comboBox1.SelectedIndex == 1)
                {
                    MinCount = 1;
                    if (txtCode.Text.Trim().Length != 1 && checkBox1.Checked == false)
                    {
                        MessageEx.ShowWarning("您输入的组合代码不符合规则,请重新输入");
                        txtCode.Focus();
                        return;
                    }
                }
                if (comboBox1.SelectedIndex == 2)
                {
                    MinCount = 2;
                    if (txtCode.Text.Trim().Length != 2 && checkBox1.Checked == false)
                    {
                        MessageEx.ShowWarning("您输入的组合代码不符合规则,请重新输入");
                        txtCode.Focus();
                        return;
                    }
                }

                if (comboBox1.SelectedIndex == 3)
                {
                    MinCount = 3;
                    if (txtCode.Text.Trim().Length != 3 && checkBox1.Checked == false)
                    {
                        MessageEx.ShowWarning("您输入的组合代码不符合规则,请重新输入");
                        txtCode.Focus();
                        return;
                    }
                }

                if (comboBox1.SelectedIndex == 4)
                {
                    MinCount = 4;
                    if (txtCode.Text.Trim().Length != 4 && checkBox1.Checked == false)
                    {
                        MessageEx.ShowWarning("您输入的组合代码不符合规则,请重新输入");
                        txtCode.Focus();
                        return;
                    }
                }

                if (comboBox1.SelectedIndex == 5)
                {
                    MinCount = 5;
                    if (txtCode.Text.Trim().Length != 5 && checkBox1.Checked == false)
                    {
                        MessageEx.ShowWarning("您输入的组合代码不符合规则,请重新输入");
                        txtCode.Focus();
                        return;
                    }
                }

                bool flag = true;

                foreach (var itemss in txtCode.Text.Trim())
                {
                    if (!charList.Contains(itemss.ToString()))
                    {
                        flag = false;
                        break;
                    }
                }
                if (!flag)
                {
                    MessageEx.ShowWarning("您输入的组合代码不符合规则,请重新输入");
                    txtCode.Focus();
                    return;
                }
            }


            if (string.IsNullOrWhiteSpace(txtMoney.Text))
            {
                MessageEx.ShowWarning("請輸入金額!");
                txtMoney.Focus();
                return;
            }
            #endregion

            if (checkBox1.Checked == false)
            {
                #region 非复试
                var detail = new OrderLXLM();
                detail.Id     = Guid.NewGuid().ToString("n");
                detail.Status = (int)ResultStatus.Wait;
                detail.Sort   = listView1.Items.Count + 1;

                detail.InMoney = Convert.ToDecimal(txtMoney.Text);


                var item = new ListViewItem();
                item.UseItemStyleForSubItems = false;
                item.SubItems[0].Text        = (listView1.Items.Count + 1).ToString();
                string str       = "";
                int    charIndex = 0;
                foreach (var itemss in txtCode.Text.Trim())
                {
                    string sd = itemss.ToString().Replace("1", "鼠").Replace("2", "牛").Replace("3", "虎")
                                .Replace("Q", "兔").Replace("q", "兔")
                                .Replace("W", "龙").Replace("w", "龙")
                                .Replace("E", "蛇").Replace("e", "蛇")
                                .Replace("A", "马").Replace("a", "马")
                                .Replace("S", "羊").Replace("s", "羊")
                                .Replace("D", "猴").Replace("d", "猴")
                                .Replace("Z", "鸡").Replace("z", "鸡")
                                .Replace("X", "狗").Replace("x", "狗")
                                .Replace("C", "猪").Replace("c", "猪");
                    var code = zodiacArray.First(x => x.Value == sd).Key;
                    tempList.Add(code);

                    str += sd + "、";
                    switch (charIndex)
                    {
                    case 0:
                        detail.Code1   = code.ToString();
                        detail.Zodiac1 = sd;
                        break;

                    case 1:
                        detail.Code2   = code.ToString();
                        detail.Zodiac2 = sd;
                        break;

                    case 2:
                        detail.Code3   = code.ToString();
                        detail.Zodiac3 = sd;
                        break;

                    case 3:
                        detail.Code4   = code.ToString();
                        detail.Zodiac4 = sd;
                        break;

                    case 4:
                        detail.Code5   = code.ToString();
                        detail.Zodiac5 = sd;
                        break;
                    }

                    charIndex = charIndex + 1;
                }
                detail.ChildType = comboBox1.SelectedValue.ToTryInt();
                detail.Odds      = GetMinOdds(odds.List, tempList);
                detail.OutMoney  = detail.InMoney * detail.Odds;
                str            = str.Substring(0, str.Length - 1);
                detail.Remarks = str;
                orderDetails.Add(detail);
                item.SubItems.Add(str);

                item.SubItems.Add(detail.Odds.ToMoney());
                item.SubItems.Add(txtMoney.Text.Trim());
                listView1.Items.Insert(0, item);
                tempList.Clear();
                txtCode.Text = "";
                txtCode.Focus();
                #endregion
            }
            else
            {
                var ttt = new List <OrderLXLM>();

                foreach (var itemss in txtCode.Text.Trim())
                {
                    string sd = itemss.ToString().Replace("1", "鼠").Replace("2", "牛").Replace("3", "虎")
                                .Replace("Q", "兔").Replace("q", "兔")
                                .Replace("W", "龙").Replace("w", "龙")
                                .Replace("E", "蛇").Replace("e", "蛇")
                                .Replace("A", "马").Replace("a", "马")
                                .Replace("S", "羊").Replace("s", "羊")
                                .Replace("D", "猴").Replace("d", "猴")
                                .Replace("Z", "鸡").Replace("z", "鸡")
                                .Replace("X", "狗").Replace("x", "狗")
                                .Replace("C", "猪").Replace("c", "猪");
                    var code = zodiacArray.First(x => x.Value == sd).Key;
                    tempList.Add(code);
                }
                //需要组合的号码
                List <int> InCombinationList = new List <int>();
                foreach (var item in tempList)
                {
                    InCombinationList.Add(item);
                }

                //生成号码组合
                List <int[]> ListCombination = PermutationAndCombination <int> .GetCombination(InCombinationList.ToArray(), MinCount); //求全部的3-3组合

                //根据号码组合创建订单明细
                int index = 1;
                foreach (int[] arr in ListCombination)
                {
                    OrderLXLM detail     = new OrderLXLM();
                    int       childIndex = 0;
                    var       str        = "";
                    foreach (int item in arr)
                    {
                        switch (childIndex)
                        {
                        case 0:
                            detail.Code1   = item.ToString();
                            detail.Zodiac1 = ServiceNum.GetNumZodiac(item);
                            break;

                        case 1:
                            detail.Code2   = item.ToString();
                            detail.Zodiac2 = ServiceNum.GetNumZodiac(item);
                            break;

                        case 2:
                            detail.Code3   = item.ToString();
                            detail.Zodiac3 = ServiceNum.GetNumZodiac(item);
                            break;

                        case 3:
                            detail.Code4   = item.ToString();
                            detail.Zodiac4 = ServiceNum.GetNumZodiac(item);
                            break;

                        case 4:
                            detail.Code5   = item.ToString();
                            detail.Zodiac5 = ServiceNum.GetNumZodiac(item);
                            break;
                        }

                        str       += ServiceNum.GetNumZodiac(item) + "、";
                        childIndex = childIndex + 1;
                    }
                    detail.Id        = Guid.NewGuid().ToString("n");
                    detail.Sort      = listView1.Items.Count + index;
                    detail.ChildType = comboBox1.SelectedValue.ToTryInt();
                    detail.Remarks   = str.Remove(str.Length - 1, 1);

                    detail.Odds     = GetMinOdds(odds.List, arr.ToList());
                    detail.InMoney  = Convert.ToDecimal(txtMoney.Text);
                    detail.OutMoney = detail.InMoney * detail.Odds;
                    detail.Status   = (int)ResultStatus.Wait;
                    detail.Flag     = 1;

                    ttt.Add(detail);
                    index = index + 1;
                }

                ttt.ForEach(x =>
                {
                    orderDetails.Add(x);
                    var lvitem = new ListViewItem();
                    lvitem.UseItemStyleForSubItems = false;
                    lvitem.SubItems[0].Text        = (listView1.Items.Count + 1).ToString();
                    lvitem.SubItems.Add(x.Remarks);

                    lvitem.SubItems.Add(x.Odds.ToMoney());
                    lvitem.SubItems.Add(txtMoney.Text.Trim());
                    listView1.Items.Insert(0, lvitem);
                });
                tempList.Clear();
                txtCode.Text = "";
                txtCode.Focus();
            }
        }
Esempio n. 3
0
File: ULX.cs Progetto: tanzw/six
        public void btnOK_Click(object sender, EventArgs e)
        {
            #region 检测输入
            if (this.cbox.SelectedIndex == 0)
            {
                MessageEx.ShowWarning("请选择客户");
                return;
            }

            if (string.IsNullOrWhiteSpace(this.txtMoney.Text))
            {
                MessageEx.ShowWarning("请输入单注金额");
                return;
            }

            if (string.IsNullOrWhiteSpace(txtIssue.Text))
            {
                MessageEx.ShowWarning("请输入期号");
                return;
            }
            if (txtIssue.Text.Trim().Length != 7)
            {
                MessageEx.ShowWarning("请输入正确的期号");
                return;
            }

            #endregion

            #region 获取输入
            Dictionary <int, decimal> list = new Dictionary <int, decimal>();
            foreach (var control in this.groupBox2.Controls)
            {
                if (control is CheckBox)
                {
                    var ck = control as CheckBox;
                    if (ck.Checked)
                    {
                        var sdsdsdsd = this.groupBox2.Controls.Find("PL", false);
                        var lb       = this.groupBox2.Controls.Find("PL", false).FirstOrDefault(x => x.Tag == ck.Tag);
                        if (lb != null)
                        {
                            var l = lb as Label;
                            list.Add(ck.Tag.ToTryInt(), Convert.ToDecimal(l.Text));
                        }
                    }
                }
            }
            #endregion

            if (list.Count < MinCount)
            {
                MessageEx.ShowWarning("内容不正确,请重新下注");
            }
            else
            {
                Frm.fmConfirmLX fm = new Frm.fmConfirmLX();

                #region 创建订单对象
                string OrderId = Guid.NewGuid().ToString("n");

                //订单主体
                var order = new Order <OrderLXLM>()
                {
                    Create_Time    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    Create_User_Id = "0",
                    Customer_Id    = cbox.SelectedValue.ToString().ToTryInt(),
                    Id             = OrderId,
                    IsDel          = 0,
                    Issue          = txtIssue.Text.Trim(),
                    Order_No       = ServiceNum.GetOrderNo(),
                    Order_Type     = OrderType,
                    Child_Type     = ChildType,
                    Update_Time    = "",
                    Update_User_Id = ""
                };

                //需要组合的号码
                List <int> InCombinationList = new List <int>();
                foreach (var item in list)
                {
                    InCombinationList.Add(item.Key);
                }

                //生成号码组合
                List <int[]> ListCombination = PermutationAndCombination <int> .GetCombination(InCombinationList.ToArray(), MinCount); //求全部的3-3组合

                //根据号码组合创建订单明细
                int index = 1;
                foreach (int[] arr in ListCombination)
                {
                    OrderLXLM detail     = new OrderLXLM();
                    int       childIndex = 0;
                    var       str        = "";
                    foreach (int item in arr)
                    {
                        switch (childIndex)
                        {
                        case 0:
                            detail.Code1   = item.ToString();
                            detail.Zodiac1 = ServiceNum.GetNumZodiac(item);
                            break;

                        case 1:
                            detail.Code2   = item.ToString();
                            detail.Zodiac2 = ServiceNum.GetNumZodiac(item);
                            break;

                        case 2:
                            detail.Code3   = item.ToString();
                            detail.Zodiac3 = ServiceNum.GetNumZodiac(item);
                            break;

                        case 3:
                            detail.Code4   = item.ToString();
                            detail.Zodiac4 = ServiceNum.GetNumZodiac(item);
                            break;

                        case 4:
                            detail.Code5   = item.ToString();
                            detail.Zodiac5 = ServiceNum.GetNumZodiac(item);
                            break;
                        }

                        str       += ServiceNum.GetNumZodiac(item) + "、";
                        childIndex = childIndex + 1;
                    }
                    detail.Id        = Guid.NewGuid().ToString("n");
                    detail.Sort      = index;
                    detail.ChildType = ChildType;
                    detail.Remarks   = str.Remove(str.Length - 1, 1);
                    detail.OrderId   = OrderId;
                    detail.Odds      = GetMinOdds(list, arr.ToList());
                    detail.InMoney   = Convert.ToDecimal(txtMoney.Text);
                    detail.OutMoney  = detail.InMoney * detail.Odds;
                    detail.Status    = (int)ResultStatus.Wait;
                    detail.Flag      = 1;
                    order.OrderDetails.Add(detail);
                    index = index + 1;
                }

                order.Total_In_Money  = order.OrderDetails.Sum(x => x.InMoney);
                order.Total_Out_Money = 0.00M;
                #endregion

                fm.InitForm(order);

                if (fm.ShowDialog() == DialogResult.OK)
                {
                    OrderImpl service = new OrderImpl();
                    if (service.AddOrderLXLM(order).Code == 0)
                    {
                        MessageEx.Show("下单成功");
                        btnReset_Click(null, null);
                    }
                    else
                    {
                        MessageEx.Show("下单失败");
                    }
                }
            }
        }