Пример #1
0
        public virtual ActionResult Report(ReportMemberViewModel viewModel)
        {
            if (SettingsService.GetSettings().EnableMemberReporting)
            {
                User.GetMembershipUser(MembershipService);

                var user   = MembershipService.GetUser(viewModel.Id);
                var report = new Report
                {
                    Reason         = viewModel.Reason,
                    ReportedMember = user,
                    Reporter       = LoggedOnReadOnlyUser
                };
                _reportService.MemberReport(report);

                try
                {
                    Context.SaveChanges();
                }
                catch (Exception ex)
                {
                    Context.RollBack();
                    LoggingService.Error(ex);
                }

                TempData[Constants.MessageViewBagName] = new GenericMessageViewModel
                {
                    Message     = LocalizationService.GetResourceString("Report.ReportSent"),
                    MessageType = GenericMessages.success
                };
                return(View(new ReportMemberViewModel {
                    Id = user.Id, Username = user.UserName
                }));
            }
            return(ErrorToHomePage(LocalizationService.GetResourceString("Errors.GenericMessage")));
        }
        public ActionResult Report(ReportMemberViewModel viewModel)
        {
            if (Settings.EnableMemberReporting)
            {
                using (UnitOfWorkManager.NewUnitOfWork())
                {
                    var user = ServiceFactory.MemberService.Get(viewModel.MemberId);

                    // Banned link?
                    if (ServiceFactory.BannedLinkService.ContainsBannedLink(viewModel.Reason))
                    {
                        ShowMessage(new GenericMessageViewModel
                        {
                            Message     = Lang("Errors.BannedLink"),
                            MessageType = GenericMessages.Danger
                        });
                        return(Redirect(user.Url));
                    }

                    var report = new Report
                    {
                        Reason         = viewModel.Reason,
                        ReportedMember = user,
                        Reporter       = CurrentMember
                    };
                    ServiceFactory.ReportService.MemberReport(report);
                    ShowMessage(new GenericMessageViewModel
                    {
                        Message     = Lang("Report.ReportSent"),
                        MessageType = GenericMessages.Success
                    });
                    return(Redirect(user.Url));
                }
            }
            return(ErrorToHomePage(Lang("Errors.GenericMessage")));
        }
Пример #3
0
        public ActionResult Report(ReportMemberViewModel viewModel)
        {
            if (SettingsService.GetSettings().EnableMemberReporting)
            {
                using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
                {
                    var user = MembershipService.GetUser(viewModel.Id);
                    var report = new Report
                                     {
                                         Reason = viewModel.Reason,
                                         ReportedMember = user,
                                         Reporter = LoggedOnReadOnlyUser
                                     };
                    _reportService.MemberReport(report);

                    try
                    {
                        unitOfWork.Commit();
                    }
                    catch (Exception ex)
                    {
                        unitOfWork.Rollback();
                        LoggingService.Error(ex);
                    }

                    TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel
                    {
                        Message = LocalizationService.GetResourceString("Report.ReportSent"),
                        MessageType = GenericMessages.success
                    };
                    return View(new ReportMemberViewModel { Id = user.Id, Username = user.UserName });
                }
            }
            return ErrorToHomePage(LocalizationService.GetResourceString("Errors.GenericMessage"));
        }