コード例 #1
0
 public AdminController(IStatusService statusService, IAnswerService answerService, IAnswerDescriptionService answerDescriptionService,
                        IUserService userService, IBlobService blobService, IOptions <AppSettings> appSettings)
 {
     _statusService            = statusService;
     _userService              = userService;
     _answerService            = answerService;
     _answerDescriptionService = answerDescriptionService;
     _blobService              = blobService;
     _appSettings              = appSettings;
 }
コード例 #2
0
 public StatisticsService(ILoggerFactory loggerFactory,
                          IAnswerDescriptionService answerDescriptionService, IVoteService voteService,
                          IAnswerService answerService, IFlagService flagService)
 {
     _logger = loggerFactory.CreateLogger <StatisticsService>();
     _logger.LogInformation("created StatisticsService");
     _answerService            = answerService;
     _answerDescriptionService = answerDescriptionService;
     _voteService = voteService;
     _flagService = flagService;
 }
コード例 #3
0
 public FlagService(
     IAnswerDescriptionService answerDescriptionService,
     ICacheManager cacheManager,
     IRepository <AnswerFlag> answerFlagRepository,
     IRepository <AnswerDescriptionFlag> answerDescriptionFlagRepository,
     ILoggerFactory loggerFactory)
 {
     _answerDescriptionService        = answerDescriptionService;
     _cacheManager                    = cacheManager;
     _answerFlagRepository            = answerFlagRepository;
     _answerDescriptionFlagRepository = answerDescriptionFlagRepository;
     _logger = loggerFactory.CreateLogger <FlagService>();
 }
コード例 #4
0
 public VoteService(
     IAnswerDescriptionService answerDescriptionService,
     ICacheManager cacheManager,
     IRepository <AnswerVote> answerVoteRepository,
     IRepository <AnswerDescriptionVote> answerDescriptionVoteRepository,
     ILoggerFactory loggerFactory)
 {
     _answerDescriptionService        = answerDescriptionService;
     _cacheManager                    = cacheManager;
     _answerVoteRepository            = answerVoteRepository;
     _answerDescriptionVoteRepository = answerDescriptionVoteRepository;
     _logger = loggerFactory.CreateLogger <VoteService>();
 }
コード例 #5
0
 public AnswerActionController(IAnswerDescriptionService answerDescriptionService,
                               IProfanityService profanityService, IAnswerService answerService, IResourcesService resourcesService, IUserService userService,
                               IVoteService voteService, ILoggerFactory loggerFactory, IOptions <AppSettings> appSettings, IStatisticsService statisticsService)
 {
     _userService = userService;
     _answerDescriptionService = answerDescriptionService;
     _profanityService         = profanityService;
     _answerService            = answerService;
     _resourcesService         = resourcesService;
     _voteService       = voteService;
     _appSettings       = appSettings;
     _statisticsService = statisticsService;
     _logger            = loggerFactory.CreateLogger <HomeController>();
     _logger.LogInformation("created AnswerActionController");
 }
コード例 #6
0
 public HomeController(IAnswerService answerService, IAnswerDescriptionService answerDescriptionService,
                       IResourcesService resourcesService, IUserService userService, IVoteService voteService,
                       ILoggerFactory loggerFactory, IOptions <AppSettings> appSettings, IHelpItemService helpItemService,
                       ISearchEntryService searchEntryService)
 {
     _userService              = userService;
     _answerService            = answerService;
     _answerDescriptionService = answerDescriptionService;
     _resourcesService         = resourcesService;
     _voteService              = voteService;
     _helpItemService          = helpItemService;
     _appSettings              = appSettings;
     _searchEntryService       = searchEntryService;
     _logger = loggerFactory.CreateLogger <HomeController>();
     _logger.LogInformation("created HomeController");
 }
コード例 #7
0
        /// <summary>
        /// Fill in answer details for content page.
        /// Reuse the logic between controllers. Also used by AnswerActionController.
        /// </summary>
        /// <param name="answer"></param>
        /// <param name="answerDescriptionService"></param>
        /// <param name="userManager"></param>
        /// <param name="voteService"></param>
        /// <param name="resourcesService"></param>
        /// <param name="culture"></param>
        /// <returns></returns>
        public static AnswerDetailsDto FillInDetails(AnswerDto answer, IAnswerDescriptionService answerDescriptionService,
                                                     IUserService userService, IVoteService voteService, IResourcesService resourcesService, string culture, string fullDomainName)
        {
            // Load answer descriptions
            // Have to do the list otherwise setting description.UserDisplayName below will not work.
            var searchResult = answerDescriptionService.FindByAnswerId(answer.Id);
            List <AnswerDescriptionDto> descriptions = searchResult == null ? null : searchResult.ToList();

            // Set the username for each description
            if (descriptions != null)
            {
                foreach (var description in descriptions)
                {
                    GetUserDisplayName(description, userService);
                }
            }

            // Fill in result
            var data = new AnswerDetailsDto()
            {
                Answer        = answer,
                CommonStrings = resourcesService.GetCommonStrings(culture),
                Descriptions  = descriptions,
                NumberVotes   = voteService.CountAnswerVotes(answer.Id)
            };

            GetUserDisplayName(data.Answer, userService);

            // Fill in link to this page and other usefull data.
            data.ThisAnswerLink            = LinkingHelper.ConvertAnswerToUrlWithCulture(culture, data.CommonStrings, answer);
            data.ThisAnswerFullLink        = fullDomainName.EndsWith("/") ? fullDomainName.Substring(0, fullDomainName.Length - 1) : fullDomainName + data.ThisAnswerLink;
            data.ThisAnswerText            = LinkingHelper.ConvertAnswerToText(data.CommonStrings, answer);
            data.ThisAnswerFullLinkEscaped = System.Uri.EscapeDataString(data.ThisAnswerFullLink);

            return(data);
        }