コード例 #1
0
        void bgwImport_DoWork(object sender, DoWorkEventArgs e)
        {
            string fileName = e.Argument.ToString();
            //EXCEL程序辅助对象
            ExcelHelper helper = new ExcelHelper();

            //程序不可见
            helper.Visible = false;
            //绑定事件
            helper.GetingRecord += new EventHandler <EventArgs>(helper_GetingRecord);
            try
            {
                //获取文件中的记录列表
                List <Model.HkRecord> lRecord = helper.GetHkRecord(fileName);
                if (lRecord != null && lRecord.Count > 0)
                {
                    //声明一个业务层
                    BLL.RecordBLL bll = new BLL.RecordBLL();
                    importCount = bll.AddRecords(lRecord, AddRecord);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("导入记录时错误," + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                bgwImport.CancelAsync();
            }
            finally
            {
                helper.Close();
                helper = null;
                GC.Collect();
            }
        }
コード例 #2
0
        private void tsbSave_Click(object sender, EventArgs e)
        {
            int rowCount = dgvList.Rows.Count;

            if (rowCount == 0 || (dgvList.AllowUserToAddRows && rowCount == 1))
            {
                MessageBox.Show("无保存内容!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                return;
            }
            DialogResult result = MessageBox.Show("确认保存吗!", "确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

            if (result == DialogResult.Cancel)
            {
                return;
            }
            //遍历行
            for (int r = 0; r < dgvList.Rows.Count; r++)
            {
                if (dgvList.Rows[r].IsNewRow)
                {
                    continue;
                }
                //从第2列开始遍历列
                for (int c = 1; c < dgvList.Columns.Count; c++)
                {
                    //检查有无空行或空的内容
                    object value = dgvList.Rows[r].Cells[c].Value;
                    if (value == null || value == DBNull.Value || value.ToString().Trim().Length == 0)
                    {
                        MessageBox.Show("单元内容不能为空!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        dgvList.ClearSelection();
                        dgvList.CurrentCell          = dgvList.Rows[r].Cells[c];
                        dgvList.CurrentCell.Selected = true;
                        dgvList.Focus();
                        return;
                    }
                }
            }
            BLL.RecordBLL bll   = new BLL.RecordBLL();
            DataTable     dttab = dgvList.DataSource as DataTable;

            if (dttab != null)
            {
                try
                {
                    bll.SaveData(dttab);
                    MessageBox.Show("保存完成", "完成", MessageBoxButtons.OK, MessageBoxIcon.None);
                    frmMdi.tsslInfo.Text      = "保存成功!";
                    frmMdi.tsslInfo.BackColor = frmMdi.BackColor;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("保存错误," + ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    frmMdi.tsslInfo.Text      = "保存失败!";
                    frmMdi.tsslInfo.BackColor = Color.Yellow;
                }
            }
        }
コード例 #3
0
        private void tsbAdd_Click(object sender, EventArgs e)
        {
            BLL.RecordBLL bll = new BLL.RecordBLL();
            //取得一张空表
            DataTable dttab = bll.GetDataByCondition(null);

            if (dttab != null)
            {
                dgvList.DataSource = dttab;
            }
        }
コード例 #4
0
        private void tsbSearch_Click(object sender, EventArgs e)
        {
            //查询条件列表
            List <Model.Condition> lCondition = new List <Model.Condition>();

            if (txtRecordDate.Text.Trim().Length > 0)
            {
                lCondition.Add(
                    new Model.Condition
                {
                    paramName  = "record_date",
                    paramValue = txtRecordDate.Text,
                    FieldType  = Model.Condition.FieldDbType.DateTime
                });
            }
            if (txtTimes.Text.Trim().Length > 0)
            {
                lCondition.Add(
                    new Model.Condition
                {
                    paramName  = "times",
                    paramValue = txtTimes.Text,
                    FieldType  = Model.Condition.FieldDbType.String
                });
            }
            if (txtFirstNum.Text.Trim().Length > 0)
            {
                lCondition.Add(
                    new Model.Condition
                {
                    paramName  = "first_num",
                    paramValue = txtFirstNum.Text,
                    FieldType  = Model.Condition.FieldDbType.Number
                });
            }
            if (txtSecondNum.Text.Trim().Length > 0)
            {
                lCondition.Add(
                    new Model.Condition
                {
                    paramName  = "second_num",
                    paramValue = txtSecondNum.Text,
                    FieldType  = Model.Condition.FieldDbType.Number
                });
            }
            if (txtThirdNum.Text.Trim().Length > 0)
            {
                lCondition.Add(
                    new Model.Condition
                {
                    paramName  = "third_num",
                    paramValue = txtThirdNum.Text,
                    FieldType  = Model.Condition.FieldDbType.Number
                });
            }
            if (txtFourthNum.Text.Trim().Length > 0)
            {
                lCondition.Add(
                    new Model.Condition
                {
                    paramName  = "fourth_num",
                    paramValue = txtFourthNum.Text,
                    FieldType  = Model.Condition.FieldDbType.Number
                });
            }
            if (txtFifthNum.Text.Trim().Length > 0)
            {
                lCondition.Add(
                    new Model.Condition
                {
                    paramName  = "fifth_num",
                    paramValue = txtFifthNum.Text,
                    FieldType  = Model.Condition.FieldDbType.Number
                });
            }
            if (txtSixthNum.Text.Trim().Length > 0)
            {
                lCondition.Add(
                    new Model.Condition
                {
                    paramName  = "sixth_num",
                    paramValue = txtSixthNum.Text,
                    FieldType  = Model.Condition.FieldDbType.Number
                });
            }
            if (txtSeventhNum.Text.Trim().Length > 0)
            {
                lCondition.Add(
                    new Model.Condition
                {
                    paramName  = "seventh_num",
                    paramValue = txtSeventhNum.Text,
                    FieldType  = Model.Condition.FieldDbType.Number
                });
            }
            if (lCondition.Count == 0)
            {
                MessageBox.Show("查询条件为空!", "失败", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }
            BLL.RecordBLL bll = new BLL.RecordBLL();
            try
            {
                //按条件取得数据
                DataTable dttab = bll.GetDataByCondition(lCondition);
                if (dttab == null || dttab.Rows.Count == 0)
                {
                    MessageBox.Show(
                        "没有找到符合条件的数据!",
                        "失败",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error
                        );
                    frmMdi.tsslInfo.Text      = "查询内容为空!";
                    frmMdi.tsslInfo.BackColor = Color.Yellow;
                }
                else
                {
                    //绑定数据
                    dgvList.DataSource        = dttab;
                    frmMdi.tsslInfo.Text      = "查询完成!";
                    frmMdi.tsslInfo.BackColor = frmMdi.BackColor;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(
                    "查询发生错误," + ex.Message,
                    "错误",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error
                    );
                frmMdi.tsslInfo.Text      = "查询失败!";
                frmMdi.tsslInfo.BackColor = Color.Yellow;
            }
        }
コード例 #5
0
        /// <summary>
        /// 刷新分析记录(写入实际号码并计算实际收益和余额)
        /// </summary>
        private void RefreshByRecord()
        {
            //分析结果操作对象
            BLL.AnalysisBLL analysisBll = new BLL.AnalysisBLL();
            //获取所有数据
            List <Model.HkRecordAnalysis> lAnalysis = analysisBll.GetData();

            //记录操作对象
            BLL.RecordBLL recordBll = new BLL.RecordBLL();
            //余额
            double balance = 0;

            if (lAnalysis.Count == 0)
            {
                return;
            }
            try
            {
                for (int i = 0; i < lAnalysis.Count; i++)
                {
                    Model.HkRecordAnalysis analysis = lAnalysis[i];
                    if (analysis.Outlay <= 0)
                    {
                        //余额为当前余额
                        analysis.Balance = balance;
                        continue;
                    }
                    else
                    {
                        //号码金额为空
                        if (analysis.NumMoney.Length == 0)
                        {
                            //实际收益-支出
                            analysis.RelityIncome -= analysis.Outlay;
                            //余额=余额-支出
                            balance = balance - analysis.Outlay;
                            //写入余额
                            analysis.Balance = balance;
                        }
                        else
                        {
                            //操作第几位数字
                            byte whatNumber = analysis.WhatNumber;
                            //当前期次
                            string times = analysis.Times;
                            //按期次获取记录
                            Model.HkRecord record = recordBll.GetDataByTimes(times);
                            //在记录找不到分析的期次
                            if (record.Times == null)
                            {
                                break;
                            }
                            byte number;
                            switch (whatNumber)
                            {
                            case 1:
                                number = record.FirstNum;
                                break;

                            case 2:
                                number = record.SecondNum;
                                break;

                            case 3:
                                number = record.ThirdNum;
                                break;

                            case 4:
                                number = record.FourthNum;
                                break;

                            case 5:
                                number = record.FifthNum;
                                break;

                            case 6:
                                number = record.SixthNum;
                                break;

                            case 7:
                                number = record.SeventhNum;
                                break;

                            default:
                                throw new Exception("期次不正确,必须为1-7之间!");
                            }
                            analysis.RecordNum = number;//记录号码
                            string   numMoney  = analysis.NumMoney.Replace(" ", "").Replace(";", ";").Replace(":", ":");
                            string[] numMoneys = numMoney.Split(new char[] { ';' });
                            //号码与金额是否有记录号码
                            bool isHasNumber = false;
                            foreach (string item in numMoneys)
                            {
                                int index = item.IndexOf(":");
                                if (index > 0)
                                {
                                    string strNum   = item.Substring(0, index);
                                    string strMoney = item.Substring(index + 1);
                                    //分析号码与实际记录一致
                                    if (strNum == number.ToString())
                                    {
                                        double money;
                                        if (double.TryParse(strMoney, out money))
                                        {
                                            double sumMoney = money * analysis.Multiple;
                                            //实际收益
                                            double relityIncome = sumMoney - analysis.Outlay;
                                            analysis.RelityIncome = relityIncome;
                                            isHasNumber           = true;
                                            break;
                                        }
                                    }
                                }
                            }
                            if (isHasNumber == false)
                            {
                                //实际收益为负的支出
                                analysis.RelityIncome = -analysis.Outlay;
                            }
                            //余额=余额+实际收益
                            balance         += analysis.RelityIncome;
                            analysis.Balance = balance;
                        }
                    }
                }
                //更新列表
                analysisBll.Update(lAnalysis);
            }
            catch (Exception ex)
            {
                MessageBox.Show("刷新过程发生错误," + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                frmMdi.tsslInfo.Text      = "刷新失败!";
                frmMdi.tsslInfo.BackColor = Color.Yellow;
            }
        }