Example #1
0
        /// <summary>
        /// 更新库存方法
        /// </summary>
        /// <param name="num">用户输入</param>
        /// <param name="key">主键</param>
        /// <param name="b">true为增加,false为减少</param>
        private void updateReserve(double num, int key)
        {
            if (num == 0)
            {
                return;
            }
            string sql_SelectReserve = "SELECT d_reserve FROM tb_drug WHERE d_id=" + key;
            double reserve           = (double)MySqlTools.ExecuteScalar(sql_SelectReserve);

            if (reserve - num < 0)
            {
                MessageBox.Show("  该药品剩余库存为:" + reserve + "\n  库存不足,请尽快补货!", "温馨提示");
            }
            else
            {
                string sql_updateReserve = string.Format("UPDATE tb_drug SET d_reserve={0} WHERE d_id={1}", reserve - num, key);
                // sql_select_r_price = "SELECT d_r_price FROM tb_drug WHERE d_id=" + key;
                //double money =num*(double)MySqlTools.ExecuteScalar(sql_select_r_price);
                if (MySqlTools.ExecuteNonQuery(sql_updateReserve) == 1)
                {
                    MessageBox.Show("出库成功!", "温馨提示");
                }
                else
                {
                    MessageBox.Show("出库失败!", "温馨提示");
                }
            }
            //}
        }
Example #2
0
        /// <summary>
        /// 销售页面查询所有并绑定
        /// </summary>
        protected void BindAll_X()
        {
            string  sql_select_drug_X = "SELECT d_id,d_name,u_name,d_spec,d_reserve,d_r_price FROM tb_drug INNER JOIN tb_unit ON d_unit = u_id WHERE d_unit = u_id";
            DataSet ds = MySqlTools.GetDataSet(sql_select_drug_X);

            dataGridView_X.DataSource = ds.Tables[0];
        }
Example #3
0
 private void WriteMemoryToDb()
 {
     using (DataConnection db = MySqlTools.CreateDataConnection(
                ConfigLoadingManager.GetInstance()
                .GetConfig().Database.GetConnectionString()))
     {
         try
         {
             db.BeginTransaction(IsolationLevel.Serializable);
             foreach (var p in ArticleCache.Memory.Values)
             {
                 db.InsertOrReplace(new ArticleTable
                 {
                     Id   = p.Id,
                     Time = (ulong)p.Time,
                     Info = JsonConvert.SerializeObject(p)
                 });
             }
         }
         finally
         {
             db.CommitTransaction();
         }
     }
 }
Example #4
0
        static private void UpdateToSource(uint articleId, ArticleInfo articleInfo)
        {
            var newDbElement = new ArticleTable
            {
                Id   = articleInfo.Id,
                Time = (ulong)articleInfo.Time,
                Info = JsonConvert.SerializeObject(articleInfo)
            };

            using (DataConnection db = MySqlTools.CreateDataConnection(
                       ConfigLoadingManager.GetInstance()
                       .GetConfig().Database.GetConnectionString()))
            {
                try
                {
                    db.BeginTransaction(IsolationLevel.Serializable);

                    var query = (from p in db.GetTable <ArticleTable>()
                                 where p.Id == newDbElement.Id
                                 select p);
                    var isExists = query.Count() != 0;
                    if (!isExists)
                    {
                        return;
                    }
                    db.InsertOrReplace(newDbElement);
                }
                finally
                {
                    db.CommitTransaction();
                }
            }
        }
Example #5
0
        /// <summary>
        /// 销售页面按条件绑定
        /// </summary>
        private void BindByTrim_X()
        {
            string  d_name = string.Format("'%{0}%'", textBox_select_X.Text);
            string  sql_select_by_d_name = "SELECT d_id,d_name,u_name,d_spec,d_reserve,d_r_price FROM tb_drug INNER JOIN tb_unit ON d_unit = u_id WHERE d_unit = u_id AND d_name LIKE " + d_name;
            DataSet ds = MySqlTools.GetDataSet(sql_select_by_d_name);

            dataGridView_X.DataSource = ds.Tables[0];
        }
Example #6
0
 static private void RemoveFromSource(uint articleId)
 {
     using (DataConnection db = MySqlTools.CreateDataConnection(
                ConfigLoadingManager.GetInstance()
                .GetConfig().Database.GetConnectionString()))
     {
         db.Delete(new ArticleTable {
             Id = (uint)articleId
         });
     }
 }
Example #7
0
        /// <summary>
        /// 绑定单位到comboBox
        /// </summary>
        private void bindUnit()
        {
            string  sql = "SELECT * from tb_unit";
            DataSet ds  = MySqlTools.GetDataSet(sql);

            //绑定数据源
            cb_unit.DataSource = ds.Tables[0];
            //值为u_id
            cb_unit.ValueMember = "u_id";
            //属性为u_name
            cb_unit.DisplayMember = "u_name";
        }
Example #8
0
        /// <summary>
        /// 修改密码按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bun_ch_Click(object sender, EventArgs e)
        {
            string sql = string.Format("UPDATE tb_pwd SET pwd='{0}' where id=1", tb_pwdCh.Text);

            if ((int)MySqlTools.ExecuteNonQuery(sql) == 1)
            {
                MessageBox.Show("密码更改成功,请牢记!\n" + tb_pwdCh.Text, "温馨提示");
            }
            else
            {
                MessageBox.Show("密码更改失败!", "温馨提示");
            }
        }
Example #9
0
    private static void Init()
    {
        host = MySqlSettings.HOST;
        port = MySqlSettings.PORT;
        acc  = MySqlSettings.ACCOUNT;
        pwd  = MySqlSettings.PASSWORD;
        db   = MySqlSettings.DATABASE;

        //获取当前实例
        instance = EditorWindow.GetWindow <MySqlTools>();
        //初始化
        pathRoot = Application.dataPath;

        scrollPos = new Vector2(instance.position.x, instance.position.y + 75);
    }
Example #10
0
        //Cache callbacks↓

        private void LoadAllToCache()
        {
            using (DataConnection db = MySqlTools.CreateDataConnection(
                       ConfigLoadingManager.GetInstance()
                       .GetConfig().Database.GetConnectionString()))
            {
                var query = from p in db.GetTable <ArticleTable>()
                            select p;
                foreach (var p in query)
                {
                    var article = JsonConvert.DeserializeObject <ArticleInfo>(p.Info);
                    article.Id   = p.Id;
                    article.Time = (long)p.Time;
                    this.ArticleCache.Memory.TryAdd(article.Id, article);
                }
            }
        }
Example #11
0
        /// <summary>
        /// 库存页面查询所有并绑定
        /// </summary>
        protected void BindAll_K()
        {
            string  sql_select_drug_K = "SELECT d_id,d_name,u_name,d_spec,d_origin,d_lot_num,d_reserve,d_w_price,d_r_price FROM tb_drug INNER JOIN tb_unit ON d_unit = u_id WHERE d_unit = u_id";
            DataSet ds = MySqlTools.GetDataSet(sql_select_drug_K);

            DataTable dt = ds.Tables[0];

            //添加一列“tb_progit”
            dt.Columns.Add("tb_progit");
            //为该列的每一行赋值
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dt.Rows[i]["tb_progit"] = Convert.ToDouble(dt.Rows[i][8]) - Convert.ToDouble(dt.Rows[i][7]);
            }
            dataGridView_K.DataSource = dt;
            getSum();
        }
Example #12
0
        /// <summary>
        /// 登录按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_login_Click(object sender, EventArgs e)
        {
            string pwd = tb_pwd.Text;
            string sql = string.Format("SELECT * FROM tb_pwd WHERE pwd='{0}'", pwd);

            try
            {
                if ((int)MySqlTools.ExecuteScalar(sql) == 1)
                {
                    panl_Login.Visible = false;
                }
            }
            catch (Exception)
            {
                MessageBox.Show("您的密码输入有误,请重新输入!", "温馨提示");
            }
        }
Example #13
0
        /// <summary>
        /// 删除按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            string            caption = "温馨提示";
            string            message = "是否删除该条数据?";
            MessageBoxButtons btn     = MessageBoxButtons.YesNo;
            DialogResult      result  = new DialogResult();

            result = MessageBox.Show(message, caption, btn);
            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                string sql = "delete from tb_drug where d_id=" + KEY;
                if (MySqlTools.ExecuteNonQuery(sql) > 0)
                {
                    MessageBox.Show("成功删除该条记录!", "温馨提示");
                    BindAll_K();
                }
            }
        }
Example #14
0
        /// <summary>
        /// 库存页面按条件绑定
        /// </summary>
        private void BindByTrim_K()
        {
            string  d_name = string.Format("'%{0}%'", textBox_select_K.Text);
            string  sql_select_by_d_name = "SELECT d_id, d_name, u_name, d_spec, d_origin, d_lot_num, d_reserve, d_w_price, d_r_price FROM tb_drug INNER JOIN tb_unit ON d_unit = u_id WHERE d_unit = u_id AND d_name LIKE " + d_name;
            DataSet ds = MySqlTools.GetDataSet(sql_select_by_d_name);

            DataTable dt = ds.Tables[0];

            //添加一列“tb_progit”
            dt.Columns.Add("tb_progit");
            //为该列的每一行赋值
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dt.Rows[i]["tb_progit"] = Convert.ToDouble(dt.Rows[i][8]) - Convert.ToDouble(dt.Rows[i][7]);
            }
            dataGridView_K.DataSource = dt;

            getSum();
        }
Example #15
0
        private void button10_Click(object sender, EventArgs e)
        {
            string            caption = "温馨提示";
            string            message = "是否删除该记录?";
            MessageBoxButtons btn     = MessageBoxButtons.YesNo;
            DialogResult      result  = new DialogResult();

            result = MessageBox.Show(message, caption, btn);
            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                DateTime dt   = dateTimePicker1.Value;
                string   time = dt.ToLongDateString().ToString();
                string   sql  = "delete from tb_order";
                if (MySqlTools.ExecuteNonQuery(sql) > 0)
                {
                    MessageBox.Show("成功删除该记录!", "温馨提示");
                    BindAndShow();
                }
            }
        }
Example #16
0
        static private ArticleInfo GetFromSource(uint articleId)
        {
            using (DataConnection db = MySqlTools.CreateDataConnection(
                       ConfigLoadingManager.GetInstance()
                       .GetConfig().Database.GetConnectionString()))
            {
                var query = from p in db.GetTable <ArticleTable>()
                            where p.Id == articleId
                            select p;
                if (query.Count() == 0)
                {
                    return(null);
                }

                var columns = query.First();
                var article = JsonConvert.DeserializeObject <ArticleInfo>(columns.Info);
                article.Id   = columns.Id;
                article.Time = (long)columns.Time;
                return(article);
            }
        }
Example #17
0
        /// <summary>
        /// 销售记录查询
        /// </summary>
        protected void BindAndShow()
        {
            DateTime  dt        = dateTimePicker1.Value;
            string    time      = dt.ToLongDateString().ToString();
            string    sql       = string.Format("SELECT o_id,o_name,o_num,o_r_price,o_money FROM tb_order where o_time='{0}'", time);
            DataSet   ds        = MySqlTools.GetDataSet(sql);
            DataTable dataTable = ds.Tables[0];

            dataGridView_M.DataSource = dataTable;
            //求和
            double sum_m = 0;
            double sum_r = 0;

            for (int i = 0; i < dataGridView_M.Rows.Count; i++)
            {
                sum_m += Convert.ToDouble(dataGridView_M.Rows[i].Cells["利润"].Value);
                sum_r += Convert.ToDouble(dataGridView_M.Rows[i].Cells["售价"].Value);
            }
            lb_r.Text = sum_r.ToString() + "元";
            lb_m.Text = sum_m.ToString() + "元";
        }
Example #18
0
        private void GenerateRanking(uint id)
        {
            var rankingVersion = RankingVersionPivot.Get(id);

            if (rankingVersion == null)
            {
                throw new ArgumentException(Messages.RankingRulesetNotFoundException, nameof(id));
            }

            // Gets the latest monday with a computed ranking.
            var startDate = MySqlTools.ExecuteScalar(GlobalAppConfig.GetConnectionString(),
                                                     "SELECT MAX(date) FROM ranking WHERE version_id = @version",
                                                     RankingVersionPivot.OPEN_ERA_BEGIN,
                                                     new MySqlParameter("@version", MySqlDbType.UInt32)
            {
                Value = id
            });
            // Monday one day after the latest tournament played (always a sunday).
            var dateStop = (EditionPivot.GetLatestEditionDateEnding() ?? startDate).AddDays(1);

            // Loads matches from the previous year.
            SqlMapper.LoadMatches((uint)startDate.Year - 1);

            using (var sqlConnection = new MySqlConnection(GlobalAppConfig.GetConnectionString()))
            {
                sqlConnection.Open();
                using (var sqlCommand = sqlConnection.CreateCommand())
                {
                    sqlCommand.CommandText = MySqlTools.GetSqlInsertStatement("ranking", new List <string>
                    {
                        "player_id", "date", "points", "ranking", "version_id", "editions"
                    });
                    sqlCommand.Parameters.Add("@player_id", MySqlDbType.UInt32);
                    sqlCommand.Parameters.Add("@date", MySqlDbType.DateTime);
                    sqlCommand.Parameters.Add("@points", MySqlDbType.UInt32);
                    sqlCommand.Parameters.Add("@ranking", MySqlDbType.UInt32);
                    sqlCommand.Parameters.Add("@version_id", MySqlDbType.UInt32);
                    sqlCommand.Parameters.Add("@editions", MySqlDbType.UInt32);
                    sqlCommand.Prepare();

                    // Static.
                    sqlCommand.Parameters["@version_id"].Value = id;

                    // Puts in cache the triplet player/edition/points, no need to recompute each week.
                    var cachePlayerEditionPoints = new Dictionary <KeyValuePair <PlayerPivot, EditionPivot>, uint>();

                    // For each week until latest date.
                    startDate = startDate.AddDays(7);
                    while (startDate <= dateStop)
                    {
                        // Loads matches from the current year (do nothing if already done).
                        SqlMapper.LoadMatches((uint)startDate.Year);

                        var playersRankedThisWeek = rankingVersion.ComputePointsForPlayersInvolvedAtDate(startDate, cachePlayerEditionPoints);

                        // Static for each player.
                        sqlCommand.Parameters["@date"].Value = startDate;

                        // Inserts each player.
                        int rank = 1;
                        foreach (var player in playersRankedThisWeek.Keys)
                        {
                            sqlCommand.Parameters["@player_id"].Value = player.Id;
                            sqlCommand.Parameters["@points"].Value    = playersRankedThisWeek[player].Item1;
                            sqlCommand.Parameters["@editions"].Value  = playersRankedThisWeek[player].Item2;
                            sqlCommand.Parameters["@ranking"].Value   = rank;
                            sqlCommand.ExecuteNonQuery();
                            rank++;
                        }

                        startDate = startDate.AddDays(7);
                    }
                }
            }
        }