コード例 #1
0
        public bool DeleteAwardItem(RouletteAwardItem item)
        {
            MySqlConnection myconn = null;
            MySqlCommand    mycmd  = null;

            try
            {
                myconn = MyDBHelper.Instance.CreateConnection();
                myconn.Open();

                string sqlText = "delete rouletteawarditem where id = @id ;";

                mycmd             = myconn.CreateCommand();
                mycmd.CommandText = sqlText;
                mycmd.Parameters.AddWithValue("@id", item.ID);

                mycmd.ExecuteNonQuery();
                mycmd.Dispose();

                return(true);
            }
            finally
            {
                if (mycmd != null)
                {
                    mycmd.Dispose();
                }
                if (myconn != null)
                {
                    myconn.Close();
                    myconn.Dispose();
                }
            }
        }
コード例 #2
0
        public int DeleteAwardItem(RouletteAwardItem item)
        {
            bool isOK = DBProvider.GameRouletteDBProvider.DeleteAwardItem(item);

            if (isOK)
            {
                return(OperResult.RESULTCODE_TRUE);
            }

            return(OperResult.RESULTCODE_FALSE);
        }
コード例 #3
0
        public int AddAwardItem(RouletteAwardItem item)
        {
            //保存到数据库
            bool isOK = DBProvider.GameRouletteDBProvider.AddRouletteAwardItem(item);

            if (isOK)
            {
                return(OperResult.RESULTCODE_TRUE);
            }

            return(OperResult.RESULTCODE_FALSE);
        }
コード例 #4
0
        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            if (txtAwardName.Text.Trim() == "")
            {
                MyMessageBox.ShowInfo("请填写奖项信息");
                return;
            }
            if (this.imgIcon.Source == null || _iconBuffer == null)
            {
                MyMessageBox.ShowInfo("请上传图标");
                return;
            }

            if (MyMessageBox.ShowQuestionOKCancel("请确认奖项信息填写正确") != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            RouletteAwardItem item = new RouletteAwardItem();

            if (this.txtRecordID.Text != "")
            {
                item.ID = Convert.ToInt32(this.txtRecordID.Text);
            }
            item.AwardName    = txtAwardName.Text.Trim();
            item.AwardNumber  = (int)this.numAwardNumber.Value;
            item.IsLargeAward = this.chkIsLargeAward.IsChecked.Value;
            //item.IsRealAward = this.chkIsRealAward.IsChecked.Value;
            item.RouletteAwardType = (RouletteAwardType)this.cmbAwardType.SelectedIndex;
            item.ValueMoneyYuan    = (float)this.numValueMoneyYuan.Value;
            item.WinProbability    = (int)this.numWinProbability.Value;

            item.IconBuffer = _iconBuffer;

            if (isAdd)
            {
                App.BusyToken.ShowBusyWindow("正在提交数据...");
                GlobalData.Client.AddAwardItem(item);
            }
            else
            {
                App.BusyToken.ShowBusyWindow("正在提交数据...");
                GlobalData.Client.UpdateAwardItem(item);
            }
        }
コード例 #5
0
        public bool UpdateRouletteAwardItem(RouletteAwardItem item)
        {
            MySqlConnection myconn = null;
            MySqlCommand    mycmd  = null;

            try
            {
                myconn = MyDBHelper.Instance.CreateConnection();
                myconn.Open();

                string sqlInsertText = "update rouletteawarditem " +
                                       " set `AwardName` = @AwardName, `AwardNumber` = @AwardNumber, `RouletteAwardType` = @RouletteAwardType, `ValueMoneyYuan` = @ValueMoneyYuan, `IsLargeAward` = @IsLargeAward, `WinProbability` = @WinProbability, `IconBuffer` = @IconBuffer " +
                                       " where id = @id ;";

                mycmd             = myconn.CreateCommand();
                mycmd.CommandText = sqlInsertText;
                mycmd.Parameters.AddWithValue("@AwardName", item.AwardName);
                mycmd.Parameters.AddWithValue("@AwardNumber", item.AwardNumber);
                mycmd.Parameters.AddWithValue("@RouletteAwardType", (int)item.RouletteAwardType);
                mycmd.Parameters.AddWithValue("@ValueMoneyYuan", item.ValueMoneyYuan);
                mycmd.Parameters.AddWithValue("@IsLargeAward", item.IsLargeAward);
                mycmd.Parameters.AddWithValue("@WinProbability", item.WinProbability);
                mycmd.Parameters.AddWithValue("@IconBuffer", item.IconBuffer);
                mycmd.Parameters.AddWithValue("@id", item.ID);

                mycmd.ExecuteNonQuery();
                mycmd.Dispose();

                return(true);
            }
            finally
            {
                if (mycmd != null)
                {
                    mycmd.Dispose();
                }
                if (myconn != null)
                {
                    myconn.Close();
                    myconn.Dispose();
                }
            }
        }
コード例 #6
0
 public int DeleteAwardItem(string token, RouletteAwardItem item)
 {
     if (RSAProvider.LoadRSA(token))
     {
         try
         {
             return(RouletteAwardController.Instance.DeleteAwardItem(item));
         }
         catch (Exception exc)
         {
             LogHelper.Instance.AddErrorLog("ServiceToAdmin.DeleteAwardItem Exception.", exc);
             return(OperResult.RESULTCODE_FALSE);
         }
     }
     else
     {
         throw new Exception();
     }
 }
コード例 #7
0
        public bool AddRouletteAwardItem(RouletteAwardItem item)
        {
            MySqlConnection myconn = null;
            MySqlCommand    mycmd  = null;

            try
            {
                myconn = MyDBHelper.Instance.CreateConnection();
                myconn.Open();

                string sqlInsertText = "insert into rouletteawarditem " +
                                       " (`AwardName`, `AwardNumber`, `RouletteAwardType`, `ValueMoneyYuan`, `IsLargeAward`, `WinProbability`, `IconBuffer`) " +
                                       " values (@AwardName, @AwardNumber, @RouletteAwardType, @ValueMoneyYuan, @IsLargeAward, @WinProbability, @IconBuffer)";

                mycmd             = myconn.CreateCommand();
                mycmd.CommandText = sqlInsertText;
                mycmd.Parameters.AddWithValue("@AwardName", item.AwardName);
                mycmd.Parameters.AddWithValue("@AwardNumber", item.AwardNumber);
                mycmd.Parameters.AddWithValue("@RouletteAwardType", (int)item.RouletteAwardType);
                mycmd.Parameters.AddWithValue("@ValueMoneyYuan", item.ValueMoneyYuan);
                mycmd.Parameters.AddWithValue("@IsLargeAward", item.IsLargeAward);
                mycmd.Parameters.AddWithValue("@WinProbability", item.WinProbability);
                mycmd.Parameters.AddWithValue("@IconBuffer", item.IconBuffer);

                mycmd.ExecuteNonQuery();
                mycmd.Dispose();

                return(true);
            }
            finally
            {
                if (mycmd != null)
                {
                    mycmd.Dispose();
                }
                if (myconn != null)
                {
                    myconn.Close();
                    myconn.Dispose();
                }
            }
        }
コード例 #8
0
        public int UpdateAwardItem(RouletteAwardItem item)
        {
            //保存到数据库
            bool isOK = DBProvider.GameRouletteDBProvider.UpdateRouletteAwardItem(item);

            if (isOK)
            {
                if (_dicCurrentRouletteAwardItems != null)
                {
                    if (_dicCurrentRouletteAwardItems.ContainsKey(item.ID))
                    {
                        SaveRouletteRoundInfoToData();
                        this.Init();
                    }
                }

                return(OperResult.RESULTCODE_TRUE);
            }

            return(OperResult.RESULTCODE_FALSE);
        }
コード例 #9
0
        private RouletteAwardItem ComputeWinAwardItem()
        {
            RouletteAwardItem winAwardItem = this._dicCurrentRouletteAwardItems[this._noneAwardID];
            int totalProbabilityMaxValue   = ComputeWinAwardProbabilitySum();

            int ran = GetRandomValue(totalProbabilityMaxValue);
            int tempTotalProbability = 0;

            foreach (var awardItem in this._dicCurrentRouletteAwardItems.Values)
            {
                int awardWinProbability = (int)awardItem.WinProbability;
                if (awardWinProbability != 0)
                {
                    if (tempTotalProbability <= ran && ran <= tempTotalProbability + awardWinProbability)
                    {
                        winAwardItem = awardItem;
                    }
                    tempTotalProbability += (int)awardItem.WinProbability;
                }
            }

            return(winAwardItem);
        }
コード例 #10
0
 public RouletteAwardItemUIModel(RouletteAwardItem parent)
 {
     this.ParentObject = parent;
 }
コード例 #11
0
 public void DeleteAwardItem(RouletteAwardItem item)
 {
     this._invoker.Invoke <int>(this._context, "DeleteAwardItem", this.DeleteAwardItemCompleted, GlobalData.Token, item);
 }
コード例 #12
0
 public void AsyncDeleteAwardItem(RouletteAwardItem item)
 {
     App.BusyToken.ShowBusyWindow("正在删除幸运大转盘奖项");
     GlobalData.Client.DeleteAwardItem(item);
 }
コード例 #13
0
        /// <summary>
        /// 没有填充AwardItem属性
        /// </summary>
        /// <param name="UserName"></param>
        /// <param name="RouletteAwardItemID"></param>
        /// <param name="ContainsNone"></param>
        /// <param name="BeginWinTime"></param>
        /// <param name="EndWinTime"></param>
        /// <param name="IsGot">-1表示null;0表示false;1表示true</param>
        /// <param name="IsPay">-1表示null;0表示false;1表示true</param>
        /// <param name="pageItemCount"></param>
        /// <param name="pageIndex"></param>
        /// <returns></returns>
        public RouletteWinnerRecord[] GetAllPayWinAwardRecords(string UserName, int RouletteAwardItemID, bool ContainsNone, MyDateTime BeginWinTime, MyDateTime EndWinTime, int IsGot, int IsPay, int pageItemCount, int pageIndex, RouletteAwardItem noneAwardItem)
        {
            RouletteWinnerRecord[] records = null;
            MySqlConnection        myconn  = null;
            MySqlCommand           mycmd   = null;

            try
            {
                myconn = MyDBHelper.Instance.CreateConnection();
                mycmd  = myconn.CreateCommand();
                string sqlTextA = "select  r.*, m.AwardName, m.RouletteAwardType " +
                                  " from roulettewinnerrecord r " +
                                  " left join rouletteawarditem m on r.AwardItemID = m.id ";

                StringBuilder builder = new StringBuilder();

                //builder.Append(" r.AwardItemID != @AwardItemID ");
                //mycmd.Parameters.AddWithValue("@AwardItemID", noneAwardItem.ID);

                if (!string.IsNullOrEmpty(UserName))
                {
                    if (builder.Length > 0)
                    {
                        builder.Append(" and ");
                    }
                    builder.Append(" r.UserID = ( select id from   playersimpleinfo where UserName = @UserName ) ");
                    string encryptUserName = DESEncrypt.EncryptDES(UserName);
                    mycmd.Parameters.AddWithValue("@UserName", encryptUserName);
                }

                if (RouletteAwardItemID >= 0)
                {
                    if (builder.Length > 0)
                    {
                        builder.Append(" and ");
                    }
                    builder.Append(" r.AwardItemID = @AwardItemID ");
                    mycmd.Parameters.AddWithValue("@AwardItemID", RouletteAwardItemID);
                }
                else
                {
                    //如果外部传入中奖类型,则不判断为NONE的情况
                    if (!ContainsNone)
                    {
                        if (builder.Length > 0)
                        {
                            builder.Append(" and ");
                        }
                        builder.Append(" m.RouletteAwardType != @RouletteAwardType ");
                        mycmd.Parameters.AddWithValue("@RouletteAwardType", RouletteAwardType.None);
                    }
                }
                if (BeginWinTime != null && !BeginWinTime.IsNull && EndWinTime != null && !EndWinTime.IsNull)
                {
                    if (builder.Length != 0)
                    {
                        builder.Append(" and ");
                    }
                    DateTime beginWinTime = BeginWinTime.ToDateTime();
                    DateTime endWinTime   = EndWinTime.ToDateTime();
                    if (beginWinTime >= endWinTime)
                    {
                        return(null);
                    }
                    builder.Append(" r.WinTime >= @beginWinTime and r.WinTime < @endWinTime ");
                    mycmd.Parameters.AddWithValue("@beginWinTime", beginWinTime);
                    mycmd.Parameters.AddWithValue("@endWinTime", endWinTime);
                }
                if (IsGot >= 0)
                {
                    if (builder.Length > 0)
                    {
                        builder.Append(" and ");
                    }
                    builder.Append(" r.IsGot = @IsGot ");
                    mycmd.Parameters.AddWithValue("@IsGot", IsGot != 0);
                }
                if (IsPay >= 0)
                {
                    if (builder.Length > 0)
                    {
                        builder.Append(" and ");
                    }
                    builder.Append(" r.IsPay = @IsPay ");
                    mycmd.Parameters.AddWithValue("@IsPay", IsPay != 0);
                }
                string sqlWhere = "";
                if (builder.Length > 0)
                {
                    sqlWhere = " where " + builder.ToString();
                }

                string sqlOrderLimit = " order by r.id desc ";
                if (pageItemCount > 0)
                {
                    int start = pageIndex <= 0 ? 0 : (pageIndex - 1) * pageItemCount;
                    sqlOrderLimit += " limit " + start.ToString() + ", " + pageItemCount;
                }

                string sqlAllText = "select ttt.*, s.UserName as UserName from " +
                                    " ( " + sqlTextA + sqlWhere + sqlOrderLimit +
                                    " ) ttt " +
                                    "  left join   playersimpleinfo s  on ttt.UserID = s.id ";

                mycmd.CommandText = sqlAllText;
                myconn.Open();

                MySqlDataAdapter adapter = new MySqlDataAdapter(mycmd);

                DataTable table = new DataTable();
                adapter.Fill(table);
                records = MetaDBAdapter <RouletteWinnerRecord> .GetRouletteWinnerRecordFromDataTable(table);

                table.Clear();
                table.Dispose();
                adapter.Dispose();
                return(records);
            }
            finally
            {
                if (mycmd != null)
                {
                    mycmd.Dispose();
                }
                if (myconn != null)
                {
                    myconn.Close();
                    myconn.Dispose();
                }
            }
        }
コード例 #14
0
        private void btnSaveAllAwardItems_Click(object sender, RoutedEventArgs e)
        {
            RouletteAwardItem[]      items = new RouletteAwardItem[12];
            RouletteAwardItemUIModel item1 = this.cmb1.SelectedItem as RouletteAwardItemUIModel;

            if (item1 == null)
            {
                MyMessageBox.ShowInfo("请设置第1项");
                return;
            }
            item1.WinProbability = (float)this.numWinProbability1.Value;
            items[0]             = item1.ParentObject;

            RouletteAwardItemUIModel item2 = this.cmb2.SelectedItem as RouletteAwardItemUIModel;

            if (item2 == null)
            {
                MyMessageBox.ShowInfo("请设置第2项");
                return;
            }
            item2.WinProbability = (float)this.numWinProbability2.Value;
            items[1]             = item2.ParentObject;

            RouletteAwardItemUIModel item3 = this.cmb3.SelectedItem as RouletteAwardItemUIModel;

            if (item3 == null)
            {
                MyMessageBox.ShowInfo("请设置第3项");
                return;
            }
            item3.WinProbability = (float)this.numWinProbability3.Value;
            items[2]             = item3.ParentObject;

            RouletteAwardItemUIModel item4 = this.cmb4.SelectedItem as RouletteAwardItemUIModel;

            if (item4 == null)
            {
                MyMessageBox.ShowInfo("请设置第4项");
                return;
            }
            item4.WinProbability = (float)this.numWinProbability4.Value;
            items[3]             = item4.ParentObject;

            RouletteAwardItemUIModel item5 = this.cmb5.SelectedItem as RouletteAwardItemUIModel;

            if (item5 == null)
            {
                MyMessageBox.ShowInfo("请设置第5项");
                return;
            }
            item5.WinProbability = (float)this.numWinProbability5.Value;
            items[4]             = item5.ParentObject;

            RouletteAwardItemUIModel item6 = this.cmb6.SelectedItem as RouletteAwardItemUIModel;

            if (item6 == null)
            {
                MyMessageBox.ShowInfo("请设置第6项");
                return;
            }
            item6.WinProbability = (float)this.numWinProbability6.Value;
            items[5]             = item6.ParentObject;

            RouletteAwardItemUIModel item7 = this.cmb7.SelectedItem as RouletteAwardItemUIModel;

            if (item7 == null)
            {
                MyMessageBox.ShowInfo("请设置第7项");
                return;
            }
            item7.WinProbability = (float)this.numWinProbability7.Value;
            items[6]             = item7.ParentObject;

            RouletteAwardItemUIModel item8 = this.cmb8.SelectedItem as RouletteAwardItemUIModel;

            if (item8 == null)
            {
                MyMessageBox.ShowInfo("请设置第8项");
                return;
            }
            item8.WinProbability = (float)this.numWinProbability8.Value;
            items[7]             = item8.ParentObject;

            RouletteAwardItemUIModel item9 = this.cmb9.SelectedItem as RouletteAwardItemUIModel;

            if (item9 == null)
            {
                MyMessageBox.ShowInfo("请设置第9项");
                return;
            }
            item9.WinProbability = (float)this.numWinProbability9.Value;
            items[8]             = item9.ParentObject;

            RouletteAwardItemUIModel item10 = this.cmb10.SelectedItem as RouletteAwardItemUIModel;

            if (item10 == null)
            {
                MyMessageBox.ShowInfo("请设置第10项");
                return;
            }
            item10.WinProbability = (float)this.numWinProbability10.Value;
            items[9] = item10.ParentObject;

            RouletteAwardItemUIModel item11 = this.cmb11.SelectedItem as RouletteAwardItemUIModel;

            if (item11 == null)
            {
                MyMessageBox.ShowInfo("请设置第11项");
                return;
            }
            item11.WinProbability = (float)this.numWinProbability11.Value;
            items[10]             = item11.ParentObject;

            RouletteAwardItemUIModel item12 = this.cmb12.SelectedItem as RouletteAwardItemUIModel;

            if (item12 == null)
            {
                MyMessageBox.ShowInfo("请设置第12项");
                return;
            }
            item12.WinProbability = (float)this.numWinProbability12.Value;
            items[11]             = item12.ParentObject;

            App.GameRouletteVMObject.AsyncSetCurrentAwardItem(items);
        }