Beispiel #1
0
        void CeateSystemMail(CSCommon.Data.SystemMailData mail)
        {
            var condition = "MailId=" + mail.MailId;
            var dbOp      = ServerFrame.DB.DBConnect.InsertData(condition, mail, true);

            ToolThread.Instance.DBConnect._ExecuteUpdate(dbOp);
            ServerCommon.IComServer.Instance.UserRoleManager.AddSystemMailAndSend(mail, ToolThread.Instance.DBConnect);
        }
Beispiel #2
0
        public void AddSystemMailAndSend(CSCommon.Data.SystemMailData data, ServerFrame.DB.DBConnect connect)
        {
            if (this.mDBConnect.mConnection == null)
            {
                this.mDBConnect = connect;
            }
            DataTable tab = connect._ExecuteSql(data.SelectSql, "roleinfo");

            if (tab != null)
            {
                foreach (DataRow i in tab.Rows)
                {
                    ulong id   = Convert.ToUInt64(i["RoleId"]);
                    var   role = GetRole(id);
                    if (role != null && role.PlanesConnect != null)
                    {
                        SendPlayerMail(id);
                    }
                }
            }
        }
Beispiel #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            string items = "";

            if (mSendInfo.ItemANum > 0 && mSendInfo.ItemAName != "")
            {
                var temp = ToolThread.Instance.Dict[mSendInfo.ItemAName];
                if (temp != null)
                {
                    int tid = temp.id;
                    items += ToString(tid, mSendInfo.ItemANum);
                }
            }

            if (mSendInfo.ItemBNum > 0 && mSendInfo.ItemBName != "")
            {
                var temp = ToolThread.Instance.Dict[mSendInfo.ItemBName];
                if (temp != null)
                {
                    int tid = temp.id;
                    items += ToString(tid, mSendInfo.ItemBNum);
                }
            }

            if (mSendInfo.ItemCNum > 0 && mSendInfo.ItemCName != "")
            {
                var temp = ToolThread.Instance.Dict[mSendInfo.ItemCName];
                if (temp != null)
                {
                    int tid = temp.id;
                    items += ToString(tid, mSendInfo.ItemCNum);
                }
            }

            if (mSendInfo.ItemDNum > 0 && mSendInfo.ItemDName != "")
            {
                var temp = ToolThread.Instance.Dict[mSendInfo.ItemDName];
                if (temp != null)
                {
                    int tid = temp.id;
                    items += ToString(tid, mSendInfo.ItemDNum);
                }
            }

            string currencies = "";

            if (mSendInfo.Gold > 0)
            {
                string id = (int)CSCommon.eCurrenceType.Gold + ",";
                currencies += id;
                string inum = mSendInfo.Gold + "|";
                currencies += inum;
            }

            if (mSendInfo.Rmb > 0)
            {
                string id = (int)CSCommon.eCurrenceType.Rmb + ",";
                currencies += id;
                string inum = mSendInfo.Rmb + "|";
                currencies += inum;
            }

            if (mSendInfo.Reputation > 0)
            {
                string id = (int)CSCommon.eCurrenceType.Reputation + ",";
                currencies += id;
                string inum = mSendInfo.Reputation + "|";
                currencies += inum;
            }

            if (mSendInfo.Activeness > 0)
            {
                string id = (int)CSCommon.eCurrenceType.Activeness + ",";
                currencies += id;
                string inum = mSendInfo.Activeness + "|";
                currencies += inum;
            }

            if (mSendInfo.Exploit > 0)
            {
                string id = (int)CSCommon.eCurrenceType.Exploit + ",";
                currencies += id;
                string inum = mSendInfo.Exploit + "|";
                currencies += inum;
            }

            string strSQL = "";

            if (checkBox1.Checked)
            {
                strSQL = textBox1.Text;
            }
            else
            {
                strSQL = "SELECT RoleId FROM RoleInfo WHERE Deleted = 0";
                do
                {
                    if (mSendInfo.RoleIds.Count > 0)
                    {
                        strSQL = strSQL + " and " + "RoleId = ";
                        for (int i = 0; i < mSendInfo.RoleIds.Count; i++)
                        {
                            if (i == mSendInfo.RoleIds.Count - 1)
                            {
                                strSQL += string.Format("'{0}'", mSendInfo.RoleIds[i].ToString());
                            }
                            else
                            {
                                strSQL += string.Format("'{0}' OR RoleId = ", mSendInfo.RoleIds[i].ToString());
                            }
                        }
                        break;
                    }

                    if (mSendInfo.PlanesIds.Count > 0)
                    {
                        strSQL = strSQL + " and " + "PlanesId = ";
                        for (int i = 0; i < mSendInfo.PlanesIds.Count; i++)
                        {
                            if (i == mSendInfo.PlanesIds.Count - 1)
                            {
                                strSQL += string.Format("'{0}'", mSendInfo.PlanesIds[i].ToString());
                            }
                            else
                            {
                                strSQL += string.Format("'{0}' OR PlanesId = ", mSendInfo.PlanesIds[i].ToString());
                            }
                        }
                    }
                } while (false);
            }

            CSCommon.Data.SystemMailData mail = new CSCommon.Data.SystemMailData();
            mail.MailId        = ServerFrame.Util.GenerateObjID(ServerFrame.GameObjectType.Email);
            mail.CreateTime    = System.DateTime.Now;
            mail.EndTime       = mail.CreateTime.AddDays(mSendInfo.ShelfLife);
            mail.Type          = mSendInfo.Type;
            mail.Title         = mSendInfo.Title;
            mail.ContentStr    = mSendInfo.Content;
            mail.StrItems      = items;
            mail.StrCurrencies = currencies;
            mail.SelectSql     = strSQL;
            CeateSystemMail(mail);
        }