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