private void SendEmailToAppDeveloper(ApplicationUser developerUser, AppModerateViewModel model) { var loggedUser = User.GetUser(); var loggedUsername = loggedUser.DisplayName; var sb = new StringBuilder(50); MailHtml.AddGreetingsToStringBuilder(developerUser, sb); sb.AppendLine(MailHtml.LineBreak); sb.AppendLine(model.Message); sb.AppendLine(MailHtml.LineBreak); if (model.LikeToHearFromYou) { sb.AppendLine(MailHtml.LineBreak); sb.AppendLine( MailHtml.GetStrongTag( "Note: ** We would like to hear back from you. Please send your replies to '" + AppVar.Setting.OfficeEmail + "' **")); sb.AppendLine(MailHtml.LineBreak); } sb.AppendLine(MailHtml.LineBreak); sb.AppendLine(); MailHtml.AddThanksFooterOnStringBuilder(loggedUser.DisplayName, "Administrator", sb); var message = sb.ToString(); sb = null; GC.Collect(); var subjectToDeveloper = "A message from admin : " + loggedUsername; var subjectToAdmin = "An email sent to : " + developerUser.Email + " [this mail contains the sample]"; AppVar.Mailer.Send(developerUser.Email, subjectToDeveloper, message); AppVar.Mailer.Send(loggedUser.Email, subjectToAdmin, message); }
public ActionResult Moderate(AppModerateViewModel model) { App app; ApplicationUser developerUser; bool isFeaturedPreviously; if (!GetTempData(out app, out developerUser, out isFeaturedPreviously)) { // if app not found return(RedirectToAction("Index")); } SetTempData(app, developerUser, isFeaturedPreviously); model.App = app; if (app != null) { ViewBag.user = developerUser; if (app.IsBlocked != model.IsBlocked) { // needs to update if (model.IsBlocked) { ModerationLogics.BlockApp(model.AppId, true, db); } else { ModerationLogics.UnBlockApp(model.AppId, true, db); } } if (isFeaturedPreviously != model.IsFeatured) { // needs to update ModerationLogics.AppFeatured(model.AppId, model.IsFeatured, true, db); } var statusMessage = "You have successfully moderated '" + app.AppName + "' app."; if (!string.IsNullOrWhiteSpace(model.Message)) { SendEmailToAppDeveloper(developerUser, model); statusMessage += " An email is also sent!"; } AppVar.SetSavedStatus(ViewBag, statusMessage); return(View(model)); } AppVar.SetErrorStatus(ViewBag, "Sorry last transaction has been failed."); return(View(model)); }
// GET: Admin/AppModerate public ActionResult Moderate(long id) { var appModerateModel = new AppModerateViewModel { AppId = id }; var app = db.Apps.Find(id); var developerUser = User.GetUser(app.PostedByUserID); ViewBag.user = developerUser; if (app == null) { return(HttpNotFound()); } appModerateModel.App = app; appModerateModel.IsBlocked = app.IsBlocked; appModerateModel.IsFeatured = db.FeaturedImages.Any(n => n.IsFeatured && n.AppID == id); // set temp data SetTempData(app, developerUser, appModerateModel.IsFeatured); return(View(appModerateModel)); }