Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        // 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));
        }