Ejemplo n.º 1
0
        public bool FollowersMailSend(ForumFollowerMailModel model)
        {
            bool flag = true;

            try
            {
                var toEmailList = new List <string>();

                if (model.TransType == "Ans")
                {
                    var answerModel = new Question().GetQuestionModel(string.Format("id='{0}'", model.ForumId));
                    var selectQuery = string.Format("select f.Id,f.forumid,f.userid,c.Email from uSomeForumFollowers as f INNER JOIN  [cmsMember] as c on c.nodeId=f.userId where f.forumId='{0}'", answerModel.GroupId);
                    var dr          = _dataHelper.ExecuteReader(selectQuery);
                    if (dr.HasRecords)
                    {
                        while (dr.Read())
                        {
                            var Email = dr.GetString("Email");
                            model.Message = model.Message.Replace("#email#", Email);
                            model.Message = model.Message.Replace("#title#", answerModel.Title);
                            model.Message = model.Message.Replace("#content#", answerModel.Content);
                            new Utilities.AsyncMail().Send(model.Message, model.MailSubject, model.FromEmail, Email, model.Bcc);
                            //toEmailList.Add(Email);
                        }
                    }
                }
                else
                {
                    var selectQuery = string.Format("select f.Id,f.forumid,f.userid,c.Email from uSomeForumFollowers as f INNER JOIN  [cmsMember] as c on c.nodeId=f.userId where f.forumId='{0}'", model.ForumId);
                    var dr          = _dataHelper.ExecuteReader(selectQuery);
                    if (dr.HasRecords)
                    {
                        while (dr.Read())
                        {
                            var Email = dr.GetString("Email");
                            model.Message = model.Message.Replace("#email#", Email);
                            new Utilities.AsyncMail().Send(model.Message, model.MailSubject, model.FromEmail, Email, model.Bcc);
                            //toEmailList.Add(Email);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                flag = false;
            }
            return(flag);
        }
Ejemplo n.º 2
0
        public ActionResult PostQuestion(QuestionModel model)
        {
            try
            {
                var    _question     = new Question();
                Member currentMember = Member.GetCurrentMember();
                model.Content = model.Content.Replace("'", "''");
                model.Title   = model.Title.Replace("'", "''");
                model.UserId  = currentMember.Id;
                var recentId = 0;
                if (_question.Save(model, out recentId))
                {
                    feedbackMsg = (umbraco.library.GetDictionaryItem("fbOnQuestionPostingInForum") != null && umbraco.library.GetDictionaryItem("fbOnQuestionPostingInForum") != "")
                                                    ? umbraco.library.GetDictionaryItem("fbOnQuestionPostingInForum")
                                                    : "Thank you for posting question";

                    var logComment = model.Type;
                    if (model.ID != 0)
                    {
                        logComment = "Updated  " + logComment;
                    }
                    var logModel = new LogModel
                    {
                        UserId     = int.Parse(currentMember.Id.ToString()),
                        NodeId     = recentId,
                        LogHeader  = "Forum Post",
                        LogComment = "Created  " + logComment,
                        TableName  = "uSomeForum"
                    };

                    new LogHelper().Save(logModel);
                    result = "success";
                    var member = _memberService.GetById(model.UserId);
                    int questionPoint;
                    _question.GetQuestionPoint(out questionPoint);
                    try
                    {
                        member.Properties["points"].Value = int.Parse(member.Properties["points"].Value.ToString()) + questionPoint;
                    }

                    catch (Exception ex)
                    {
                        member.Properties["points"].Value = 1;
                    }
                    _memberService.Save(member);
                    try
                    {
                        var parentEmailTemplateNodeId = Convert.ToInt16(Request.Form["parentEmailTemplateNodeId"].ToString());
                        var emailTemplateNodeId       = Convert.ToInt16(Request.Form["emailTemplateNodeId"].ToString());
                        var parentEmailTemplate       = contentService.GetById(parentEmailTemplateNodeId);
                        var ForumFollowerModel        = new ForumFollowerMailModel();
                        ForumFollowerModel.FromEmail = parentEmailTemplate.Properties["fromEmail"].Value.ToString();
                        ForumFollowerModel.Bcc       = parentEmailTemplate.Properties["bCCEmail"].Value.ToString();
                        //  var adminEmail = parentEmailTemplate.Properties["adminEmail"].Value.ToString();


                        var emailTemplate = contentService.GetById(emailTemplateNodeId);
                        var subject       = emailTemplate.Properties["subject"].Value.ToString();
                        var mailBody      = emailTemplate.Properties["mailBody"].Value.ToString();
                        ForumFollowerModel.MailSubject = subject.Replace("#type#", model.Type);
                        ForumFollowerModel.Message     = mailBody.Replace("#type#", model.Type);
                        ForumFollowerModel.Message     = ForumFollowerModel.Message.Replace("#title#", model.Title);
                        ForumFollowerModel.Message     = ForumFollowerModel.Message.Replace("#content#", model.Content);


                        ForumFollowerModel.ForumId = model.GroupId;
                        var _forumFollower = new ForumFollowers();
                        _forumFollower.FollowersMailSend(ForumFollowerModel);
                    }
                    catch (Exception)
                    {}
                }
            }
            catch (Exception ex)
            {
                feedbackMsg = (umbraco.library.GetDictionaryItem("errMsgOnQuestionPostingInForum") != null && umbraco.library.GetDictionaryItem("errMsgOnQuestionPostingInForum") != "")
                               ? umbraco.library.GetDictionaryItem("errMsgOnQuestionPostingInForum") : "Error on posting question. Please contact administrator for details";
                result = "fail";
                Log.ErrorLog("Error in saving forum question(" + ex.Message + ")");
            }
            return(Json(new { result = result, message = feedbackMsg }));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Posting answer for the question in forum
        /// </summary>
        /// <param name="model">model of the question</param>
        /// <returns></returns>
        public ActionResult PostForumAnswer(AnswerModel model)
        {
            try
            {
                // model.ContentId = int.Parse(questionId);
                Member currentMember = Member.GetCurrentMember();
                model.UserId  = currentMember.Id;
                model.Comment = model.Comment.Replace("'", "''");
                var recendId = 0;
                if (new Answer().Save(model, out recendId))
                {
                    feedbackMsg = (umbraco.library.GetDictionaryItem("fbOnAnswerPostingInForum") != null && umbraco.library.GetDictionaryItem("fbOnAnswerPostingInForum") != "")
                                ? umbraco.library.GetDictionaryItem("fbOnAnswerPostingInForum")
                                : "Thank you for your answer";
                    var logComment = "Reply discussion";
                    if (model.ID != 0)
                    {
                        logComment = "Updated  " + logComment;
                    }
                    var logModel = new LogModel
                    {
                        UserId     = int.Parse(currentMember.Id.ToString()),
                        NodeId     = recendId,
                        LogHeader  = "Forum Post",
                        LogComment = logComment,
                        TableName  = "uSomeForumReply"
                    };

                    new LogHelper().Save(logModel);
                    result = "success";
                    var member = _memberService.GetById(model.UserId);
                    int questionPoint;
                    new Question().GetAnswerPoint(out questionPoint);
                    try
                    {
                        member.Properties["points"].Value = int.Parse(member.Properties["points"].Value.ToString()) + questionPoint;
                    }
                    catch (Exception ex)
                    {
                        member.Properties["points"].Value = 1;
                    }
                    _memberService.Save(member);
                    try
                    {
                        var parentEmailTemplateNodeId = Convert.ToInt16(Request.Form["parentEmailTemplateNodeId"].ToString());
                        var emailTemplateNodeId       = Convert.ToInt16(Request.Form["emailTemplateNodeId"].ToString());

                        var parentEmailTemplate = contentService.GetById(parentEmailTemplateNodeId);
                        var ForumFollowerModel  = new ForumFollowerMailModel();
                        ForumFollowerModel.FromEmail = parentEmailTemplate.Properties["fromEmail"].Value.ToString();
                        var bccEmail   = parentEmailTemplate.Properties["bCCEmail"].Value.ToString();
                        var adminEmail = parentEmailTemplate.Properties["adminEmail"].Value.ToString();


                        var emailTemplate = contentService.GetById(emailTemplateNodeId);
                        ForumFollowerModel.MailSubject = emailTemplate.Properties["subject"].Value.ToString();
                        var mailBody = emailTemplate.Properties["mailBody"].Value.ToString();

                        ForumFollowerModel.Message   = mailBody.Replace("#reply#", model.Comment);
                        ForumFollowerModel.ForumId   = model.ContentId;
                        ForumFollowerModel.TransType = "Ans";
                        var _forumFollower = new ForumFollowers();
                        _forumFollower.FollowersMailSend(ForumFollowerModel);
                    }
                    catch (Exception)
                    { }
                }
            }
            catch (Exception ex)
            {
                feedbackMsg = umbraco.library.GetDictionaryItem("errMsgOnAnswerPostingInForum") != ""
                               ? umbraco.library.GetDictionaryItem("errMsgOnAnswerPostingInForum") : "Error on posting answer. Please Login For Posting Answer.";
                result = "fail";
                Log.ErrorLog("Error in saving forum answer(" + ex.Message + ")");
            }
            return(Json(new { result = result, message = feedbackMsg }));
        }