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