コード例 #1
0
ファイル: PrivateMessage.cs プロジェクト: huwred/SnitzDotNet
        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;
        }
コード例 #2
0
ファイル: PrivateMessage.cs プロジェクト: huwred/SnitzDotNet
        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);
        }
コード例 #3
0
ファイル: PmViewAlt.ascx.cs プロジェクト: huwred/SnitzDotNet
        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;
        }
コード例 #4
0
ファイル: CommonFunc.asmx.cs プロジェクト: huwred/SnitzDotNet
        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;
        }
コード例 #5
0
ファイル: BOHelper.cs プロジェクト: huwred/SnitzDotNet
        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;
        }
コード例 #6
0
ファイル: PMView.ascx.cs プロジェクト: huwred/SnitzDotNet
        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;
        }
コード例 #7
0
ファイル: PMView.ascx.cs プロジェクト: huwred/SnitzDotNet
        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);
        }
コード例 #8
0
ファイル: PrivateMessage.cs プロジェクト: huwred/SnitzDotNet
 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});
 }
コード例 #9
0
ファイル: PrivateMessage.cs プロジェクト: huwred/SnitzDotNet
 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());
 }
コード例 #10
0
ファイル: BOHelper.cs プロジェクト: huwred/SnitzDotNet
 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;
 }
コード例 #11
0
ファイル: PrivateMessages.cs プロジェクト: huwred/SnitzDotNet
 public static void SendPrivateMessage(PrivateMessageInfo pm)
 {
     IPrivateMessage dal = Factory<IPrivateMessage>.Create("PrivateMessage");
     dal.Add(pm);
 }