private void Execute(TRequestParams parameters, IUserMessagePrinter requestUserMessagePrinter) { var processArgs = new RequestProcessorProcessArgs <TRequestParams> { RequestParams = parameters, UserMessagePrinter = requestUserMessagePrinter }; requestExecutor.Execute(processArgs); }
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!"); }