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); }
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); } } } }
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); }