コード例 #1
0
        public void bntCreate_Click(Object sender, EventArgs e)
        {
            var userInSession = (Users)Session["userinsession"];
            var id            = Page.Request.Params["id"];

            var feedbackcomment = new FeedbackComments()
            {
                Comment    = BbCode.BBcodeToHtml(tbComment.Text),
                FeedbackID = Convert.ToInt32(id),
                UserID     = userInSession.ID,
                IsViewed   = 1
            };

            feedbackcomment.Create();

            var feedback = new Feedback()
            {
                ID = Convert.ToInt32(id),
            };

            feedback.GetById();
            feedback.ChangeDate = DateTime.Now;
            feedback.Update();

            var roles = (List <Roles>)HttpContext.Current.Application["RolesList"];

            if (feedback.TypeID == 0)
            {
                SendNotification(roles.Where(u => u.Feedback0 == 1).ToList(), feedback, feedbackcomment);
            }
            if (feedback.TypeID == 1)
            {
                SendNotification(roles.Where(u => u.Feedback1 == 1).ToList(), feedback, feedbackcomment);
            }
            if (feedback.TypeID == 2)
            {
                SendNotification(roles.Where(u => u.Feedback2 == 1).ToList(), feedback, feedbackcomment);
            }
            if (feedback.TypeID == 3)
            {
                SendNotification(roles.Where(u => u.Feedback3 == 1).ToList(), feedback, feedbackcomment);
            }
            if (feedback.TypeID == 4)
            {
                SendNotification(roles.Where(u => u.Feedback4 == 1).ToList(), feedback, feedbackcomment);
            }
            if (feedback.TypeID == 5)
            {
                SendNotification(roles.Where(u => u.Feedback5 == 1).ToList(), feedback, feedbackcomment);
            }
            if (feedback.TypeID == 6)
            {
                SendNotification(roles.Where(u => u.Feedback6 == 1).ToList(), feedback, feedbackcomment);
            }

            Page.Response.Redirect("~/UserUI/FeedbackView.aspx?id=" + id);
        }
コード例 #2
0
        public void bntCreate_Click(Object sender, EventArgs e)
        {
            var      userInSession = (Users)Session["userinsession"];
            var      id            = Page.Request.Params["id"];
            Feedback feedback;

            try
            {
                feedback = new Feedback {
                    ID = Convert.ToInt32(id)
                };
                feedback.GetById();
            }
            catch (Exception)
            {
                feedback = new Feedback {
                    SecureID = id
                };
                feedback.GetBySecureID();
            }

            if (feedback.ID == 0)
            {
                feedback = new Feedback {
                    SecureID = id
                };
                feedback.GetBySecureID();
            }

            var feedbackcomment = new FeedbackComments()
            {
                Comment    = BbCode.BBcodeToHtml(tbComment.Text),
                FeedbackID = feedback.ID,
                UserID     = userInSession.ID,
                IsViewed   = 0
            };

            feedbackcomment.Create();
            feedback.ChangeDate = DateTime.Now;
            feedback.Update();
            var userToMail = new Users {
                ID = Convert.ToInt32(feedback.UserID)
            };

            userToMail.GetById();
            var messageBody = String.Format("<table class='table'>" +
                                            "<tr><td colspan='2' style='padding-bottom: 15px; vertical-align: top'>Поступил новый комментарий к вашему обращению <a href='http://{2}/UserUI/FeedbackView.aspx?id={3}' target='_new'><i>{0}</i></a></td></tr>" +
                                            "<tr><td style='vertical-align: top'>Содержание комментария:</td><td>{1}</td></tr>" +
                                            "<tr><td colspan='2' style='padding-top: 15px; vertical-align: top'>Перейдите по <a href='http://{2}/UserUI/FeedbackView.aspx?id={3}' target='new'>этой</a> ссылке для ответа на комментарий.</td></tr></table>",
                                            feedback.Title,
                                            feedbackcomment.Comment,
                                            BackendHelper.TagToValue("current_app_address"),
                                            feedback.ID);

            EmailMethods.MailSendHTML("Новый комментарий к вашему обращению", messageBody, userToMail.Email);
            Page.Response.Redirect("~/ManagerUI/Menu/Souls/FeedbackView.aspx?id=" + id);
        }
コード例 #3
0
        public string SaveFeedbackComment(string currentUserId, string commentId, string comment, string appkey)
        {
            if (appkey != Globals.Settings.AppServiceSecureKey)
            {
                return("invalid app key");
            }
            var feedbackcomment = new FeedbackComments
            {
                ID = Convert.ToInt32(Convert.ToInt32(commentId)),
            };

            feedbackcomment.GetById();
            if (feedbackcomment.UserID.ToString() != currentUserId)
            {
                return("invalid user");
            }
            feedbackcomment.Comment = comment;
            feedbackcomment.Update();
            return("OK");
        }
コード例 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            AppKey = Globals.Settings.AppServiceSecureKey;
            var userInSession = (Users)Session["userinsession"];

            CurrentUserId = userInSession.ID.ToString();
            var id = Page.Request.Params["id"];
            var feedbackcomment = new FeedbackComments
            {
                ID = Convert.ToInt32(id)
            };

            feedbackcomment.GetById();
            if (feedbackcomment.UserID != userInSession.ID)
            {
                tbComment.Visible = btnSave.Visible = false;
                pnlError.Visible  = true;
            }
            CommentId = id;
            if (!IsPostBack)
            {
                tbComment.Text = feedbackcomment.Comment;
            }
        }
コード例 #5
0
        public void SendNotification(List <Roles> responsibleRole, Feedback feedback, FeedbackComments comment)
        {
            var roleNameList = responsibleRole.Select(role => role.Name).ToList();

            if (roleNameList.Count == 0)
            {
                return;
            }
            var roleNameSqlString = roleNameList.Aggregate(String.Empty, (current, roleName) => current + ("\"" + roleName + "\","));
            var ds      = new DataManager();
            var usersDs = ds.QueryWithReturnDataSet(
                String.Format("SELECT `Email` FROM users WHERE Role in ({0}) AND Status = 2", roleNameSqlString.Remove(roleNameSqlString.Length - 1, 1))
                );
            var emailsString = usersDs.Tables[0].Rows.Cast <DataRow>().Aggregate(String.Empty, (current, row) => current + (row["Email"] + ","));
            var emailArray   = emailsString.Remove(emailsString.Length - 1, 1).Split(new[] { ',' });

            if (emailArray.ToList().Count == 0)
            {
                return;
            }
            var messageBody = String.Format("<table>" +
                                            "<tr><td colspan='2' style='padding-bottom: 15px; vertical-align: top'>К обращению <a href='http://" + BackendHelper.TagToValue("current_app_address") + "/ManagerUI/FeedbackView.aspx?id=" + feedback.SecureID + "' target='_new'><i>{2}</i></a> поступил новый комментарий</td></tr>" +
                                            "<tr><td style='vertical-align: top'>Приоритет:</td><td><b>{0}</b></td></tr>" +
                                            "<tr><td style='vertical-align: top'>Тип:</td><td><b>{1}</b> </td></tr>" +
                                            "<tr><td style='vertical-align: top'>Содержание:</td><td><b>{3}</b> </td></tr>" +
                                            "<tr><td style='padding-top: 15px; vertical-align: top'>Комментарий:</td><td style='padding-top: 15px;'><b>{4}</b> </td></tr>" +
                                            "<tr><td colspan='2' style='padding-top: 15px; vertical-align: top'>Перейдите по <a href='http://" + BackendHelper.TagToValue("current_app_address") + "/ManagerUI/FeedbackView.aspx?id=" + feedback.SecureID + "' target='_new'>этой</a> ссылке для ответа на комментарий.</td></tr></table>",
                                            Feedback.Priorities.FirstOrDefault(u => u.Key == feedback.PriorityID).Value,
                                            Feedback.Types.FirstOrDefault(u => u.Key == feedback.TypeID).Value,
                                            feedback.Title,
                                            feedback.Body,
                                            comment.Comment);

            EmailMethods.MailSendHTML("Новый комментарий к обращению", messageBody, emailArray);
        }