private void Execute(TRequestParams parameters, IUserMessagePrinter requestUserMessagePrinter)
        {
            var processArgs = new RequestProcessorProcessArgs <TRequestParams>
            {
                RequestParams      = parameters,
                UserMessagePrinter = requestUserMessagePrinter
            };

            requestExecutor.Execute(processArgs);
        }
Esempio n. 2
0
        public void Execute(RequestProcessorProcessArgs <StatRequestParameters> args)
        {
            var screenName = args.RequestParams.ScreenName;
            var printer    = args.UserMessagePrinter;

            var vkApiObject = screenNamesToVkApiObjectsCache.GetOrAdd(screenName);

            if (vkApiObject?.Id == null)
            {
                printer.NoUserOrGroup(screenName);
                return;
            }

            var username = usernameProvider.GetUsernameForObject(vkApiObject);

            var wallGetObject = vkClient.WallGet(new InternalVkApiWallGetRequestParams
            {
                OwnerId = vkApiObject.Id.Value,
                Count   = settings.VkWallGetPostsCountParameter
            });

            var stats = statsBuilders.Select(builder => builder.Build(new StatsBuilderBuildArgs
            {
                WallGetObject = wallGetObject,
                Username      = username
            })
                                             );
            var statsMessage = string.Join(Environment.NewLine, stats);

            printer.UnderlyingPrinter.Print(statsMessage);

            printer.PostingStatsMessageToGroupWithId(settings.VkGroupOwnerIdForWallPost);
            vkClient.WallPost(new InternalVkApiWallPostRequestParams
            {
                OwnerId = settings.VkGroupOwnerIdForWallPost,
                Message = statsMessage
            });
        }
        public void Execute(RequestProcessorProcessArgs <CuckooRequestParameters> args)
        {
            Task.Delay(1000).GetAwaiter().GetResult();

            args.UserMessagePrinter.UnderlyingPrinter.Print("Cuckoo!");
        }