public PrivateMessageInfo GetById(int id) { PrivateMessageInfo pm = new PrivateMessageInfo(); string strSql = "UPDATE " + Config.ForumTablePrefix + "PM SET M_READ=M_READ+1 WHERE M_ID=@MessageId; " + pmSelect + "WHERE M_ID=@MessageId"; using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnString, CommandType.Text, strSql, new SqlParameter("@MessageId", SqlDbType.Int) { Value = id })) { while (rdr.Read()) { pm = BoHelper.CopyPrivateMessageToBO(rdr); } } return pm; }
public int Add(PrivateMessageInfo message) { string strSql = "INSERT INTO " + Config.ForumTablePrefix + "PM (M_SUBJECT,M_FROM,M_TO,M_SENT,M_MESSAGE,M_READ,M_MAIL,M_OUTBOX) VALUES " + "(@Subject,@FromUser,@ToUser,@SentDate,@Message,0,@Email,@Outbox)"; List<SqlParameter> parms = new List<SqlParameter> { new SqlParameter("@Subject", SqlDbType.NVarChar) {Value = message.Subject}, new SqlParameter("@FromUser", SqlDbType.Int) {Value = message.FromMemberId}, new SqlParameter("@ToUser", SqlDbType.Int) {Value = message.ToMemberId}, new SqlParameter("@SentDate", SqlDbType.NVarChar) {Value = message.SentDate}, new SqlParameter("@Message", SqlDbType.NVarChar) {Value = message.Message}, new SqlParameter("@Email", SqlDbType.NVarChar) {Value = message.Mail}, new SqlParameter("@Outbox", SqlDbType.Int) {Value = message.OutBox} }; var res = SqlHelper.ExecuteScalar(SqlHelper.ConnString, CommandType.Text, strSql, parms.ToArray()); return Convert.ToInt32(res); }
private void SendPM() { MembershipUser currentUser = Membership.GetUser(_username); if (currentUser == null || currentUser.ProviderUserKey == null) return; string[] toMembers = Regex.Split(newTo.Text, ";"); foreach (string member in toMembers) { ProfileCommon profile = ProfileCommon.GetUserProfile(member); MembershipUser recipient = Membership.GetUser(member, false); if (recipient != null && recipient.ProviderUserKey != null) { var pm = new PrivateMessageInfo { FromMemberId = (int)currentUser.ProviderUserKey, Read = 0, Subject = newSubject.Text, Message = newMessage.Text, OutBox = _layout != "none" ? 1 : 0, SentDate = DateTime.UtcNow.ToForumDateStr(), ToMemberId = (int)recipient.ProviderUserKey, Mail = profile.PMEmail == null ? 0 : profile.PMEmail.Value }; Snitz.BLL.PrivateMessages.SendPrivateMessage(pm); } } //TODO: Send notify if required statusTxt.Text = Resources.PrivateMessage.PmSent; pnlMessage.Visible = false; }
public string SendPrivateMessage(string touser, string message, string subject, string layout) { string username = HttpContext.Current.User.Identity.Name; MembershipUser currentUser = Membership.GetUser(username); ProfileCommon profile = ProfileCommon.GetUserProfile(username); if (currentUser == null || currentUser.ProviderUserKey == null) return null; var pm = new PrivateMessageInfo { Subject = subject, Message = message, ToMemberId = Convert.ToInt32(touser), FromMemberId = (int)currentUser.ProviderUserKey, Read = 0, OutBox = layout != "none" ? 1 : 0, SentDate = DateTime.UtcNow.ToForumDateStr(), Mail = profile.PMEmail == null ? 0 : profile.PMEmail.Value }; PrivateMessages.SendPrivateMessage(pm); //do we need to send an email MembershipUser toUser = Membership.GetUser(Convert.ToInt32(touser)); if (toUser != null && Config.UseEmail) { ProfileCommon toprofile = ProfileCommon.GetUserProfile(toUser.UserName); if (toprofile.PMEmail.HasValue) if (toprofile.PMEmail.Value == 1) { SnitzEmail notification = new SnitzEmail { FromUser = "******", toUser = new MailAddress(toUser.Email), subject = Regex.Replace(Config.ForumTitle, @"&\w+;", "") + " - New Private message" }; string strMessage = "Hello " + toUser.UserName; strMessage = strMessage + username + " has sent you a private message at " + Config.ForumTitle + "." + Environment.NewLine; if (String.IsNullOrEmpty(subject)) { strMessage = strMessage + "Regarding - " + subject + "." + Environment.NewLine + Environment.NewLine; } else { strMessage = strMessage + "With the subject entitled - " + message + "." + Environment.NewLine + Environment.NewLine; } notification.msgBody = strMessage; notification.Send(); } } return PrivateMessage.PmSent; }
public static PrivateMessageInfo CopyPrivateMessageToBO(SqlDataReader rdr) { //M_ID,M_SUBJECT,M_FROM,M_TO,M_SENT,M_MESSAGE,M_PMCOUNT,M_READ,M_MAIL,M_OUTBOX PrivateMessageInfo pm = new PrivateMessageInfo() { Id = rdr.GetInt32(0), Subject = rdr.SafeGetString(1), FromMemberId = rdr.GetInt32(2), ToMemberId = rdr.GetInt32(3), SentDate = rdr.SafeGetString(4), Message = rdr.SafeGetString(5), Count = rdr.SafeGetString(6), Read = rdr.GetInt32(7), Mail = rdr.SafeGetString(8), OutBox = rdr.GetInt32(9), ToMemberName = rdr.SafeGetString(10), FromMemberName = rdr.SafeGetString(11) }; pm.Sent = pm.SentDate.ToDateTime(); return pm; }
private void DisplayMessage(PrivateMessageInfo pm) { MemberInfo member = Snitz.BLL.Members.GetMember(pm.FromMemberName); ProfileCommon prof = ProfileCommon.GetUserProfile(pm.FromMemberName); if (prof.Gravatar) { Gravatar avatar = new Gravatar { Email = member.Email }; if (member.AvatarUrl != "") avatar.DefaultImage = member.AvatarUrl; phAvatar.Controls.Add(avatar); } else { Literal avatar = new Literal { Text = member.AvatarUrl }; phAvatar.Controls.Add(avatar); } pmRecipients.Text = pm.Subject; pmSubject.Visible = false; pmFrom.Text = String.Format("<a href=\"/Account/profile.aspx?user={0}\">{0}</a>", pm.FromMemberName); pmTitle.Text = member.Title; pmCountry.Text = member.Country; pmPostcount.Text = member.PostCount.ToString(); pmDate.Text = pm.Sent.ToString(); pmBody.Text = pm.Message.ParseTags(); PMViews.ActiveViewIndex = 2; }
protected void btnSend_Click(object sender, EventArgs eventArgs) { MembershipUser currentUser = Membership.GetUser(username); if (currentUser == null || currentUser.ProviderUserKey == null) return; string[] toMembers = Regex.Split(tbxRecipient.Text, ";"); foreach (string member in toMembers) { ProfileCommon profile = ProfileCommon.GetUserProfile(member); MembershipUser recipient = Membership.GetUser(member, false); if (recipient != null && recipient.ProviderUserKey != null) { var pm = new PrivateMessageInfo { FromMemberId = (int) currentUser.ProviderUserKey, Read = 0, Subject = tbxSubject.Text, Message = qrMessage.Text, OutBox = _layout != "none" ? 1 : 0, SentDate = DateTime.UtcNow.ToForumDateStr(), ToMemberId = (int) recipient.ProviderUserKey, Mail = profile.PMEmail == null ? 0 : profile.PMEmail.Value }; Snitz.BLL.PrivateMessages.SendPrivateMessage(pm); } } //TODO: Send notify if required pmSuccess.Text = Resources.PrivateMessage.PmSent; ScriptManager.RegisterStartupScript(this, GetType(), "Startup", _redirectionScript, true); }
public void Delete(PrivateMessageInfo pm) { string strSql = "DELETE FROM " + Config.ForumTablePrefix + "PM WHERE M_ID=@PmId"; SqlHelper.ExecuteNonQuery(SqlHelper.ConnString, CommandType.Text, strSql,new SqlParameter("@PmId", SqlDbType.Int) {Value = pm.Id}); }
public void Update(PrivateMessageInfo message) { string strSql = "UPDATE " + Config.ForumTablePrefix + "PM SET M_SUBJECT=@Subject,M_FROM=@FromUser,M_TO=@ToUser,M_SENT=@SentDate,M_MESSAGE=@Message,M_READ=M_READ+1,M_MAIL=@Email,M_OUTBOX=@Outbox " + "WHERE M_ID=@PmId"; List<SqlParameter> parms = new List<SqlParameter> { new SqlParameter("@PmId", SqlDbType.Int) {Value = message.Id}, new SqlParameter("@Subject", SqlDbType.NVarChar) {Value = message.Subject}, new SqlParameter("@FromUser", SqlDbType.Int) {Value = message.FromMemberId}, new SqlParameter("@ToUser", SqlDbType.Int) {Value = message.ToMemberId}, new SqlParameter("@SentDate", SqlDbType.NVarChar) {Value = message.SentDate}, new SqlParameter("@Message", SqlDbType.NVarChar) {Value = message.Message}, new SqlParameter("@Email", SqlDbType.NVarChar) {Value = message.Mail}, new SqlParameter("@Outbox", SqlDbType.Int) {Value = message.OutBox} }; SqlHelper.ExecuteNonQuery(SqlHelper.ConnString, CommandType.Text, strSql, parms.ToArray()); }
public static PrivateMessageInfo CopyPrivateMessageToBO(SqlDataReader rdr) { PrivateMessageInfo pm = new PrivateMessageInfo { Id = rdr.GetInt32(0), Subject = rdr.SafeGetString(1), FromMemberId = rdr.GetInt32(2), ToMemberId = rdr.GetInt32(3), SentDate = rdr.SafeGetString(4), Message = rdr.SafeGetString(5), Count = rdr.SafeGetString(6), Read = rdr.GetInt32(7), //Mail = Convert.ToInt32(rdr.SafeGetString(8)), OutBox = rdr.SafeGetInt16(9), ToMemberName = rdr.SafeGetString(10), FromMemberName = rdr.SafeGetString(11) }; pm.Sent = pm.SentDate.ToDateTime(); return pm; }
public static void SendPrivateMessage(PrivateMessageInfo pm) { IPrivateMessage dal = Factory<IPrivateMessage>.Create("PrivateMessage"); dal.Add(pm); }