public override async Task <bool> ExecuteAsync(CancellationToken cancellationToken = default) { var proc = More.GetValue("proc").ThrowIfBlank("proc"); var data = More.GetValue("data"); var timeout = More.GetValue("timeout", (int?)null); var result_name = More.GetValue("result_name"); await LogHelper.LogDebugAsync(nameof(RunSqlProcAction), new { jobId = JobId, proc, data = ShortStr(data, 200), result_name, timeout }, cancellationToken); if (string.IsNullOrEmpty(result_name)) { _ = await DbHelper.ExecProcAsync($"WJb_{proc}", data, timeout, cancellationToken); await LogHelper.LogInformationAsync(nameof(RunSqlProcAction), new { jobId = JobId }, cancellationToken); } else { var result = await DbHelper.FromProcAsync <string?>($"WJb_{proc}", data, timeout, cancellationToken); More[result_name] = result; await LogHelper.LogInformationAsync(nameof(RunSqlProcAction), new { jobId = JobId, result = ShortStr(result, 200) }, cancellationToken); } return(true); }
public override async Task <bool> ExecuteAsync(CancellationToken cancellationToken = default) { var url = More.GetValue("url").ThrowIfBlank("url"); var result_name = More.GetValue("result_name"); if (string.IsNullOrEmpty(result_name)) { result_name = "next_body"; } await LogHelper.LogDebugAsync(nameof(Url2HtmlAction), new { jobId = JobId, url, result_name }); var html = string.Empty; using var client = new WebClient() { Encoding = Encoding.UTF8 }; html = await client.DownloadStringTaskAsync(url); if (html?.Length > 200) { html = await DbHelper.FromProcAsync("WJbFiles_Ins", new { FileName = "body.html", FileContent = Encoding.UTF8.GetBytes(html) }, cancellationToken : cancellationToken); } More[result_name] = html; await LogHelper.LogInformationAsync(nameof(Url2HtmlAction), new { jobId = JobId, result = "OK", html }); return(true); }
/// <summary> /// Follows the feed to find all versions of package matching 'name' /// </summary> /// <param name="name">the name or partial name of a package to find</param> /// <returns>A set of packages</returns> internal IEnumerable <Package> Query(string name) { if (!IsValid || string.IsNullOrEmpty(name)) { return(Enumerable.Empty <Package>()); } // first get all the packages that are in this feed with a matched name var packages = PackagesFilteredByName(name).Select(packageGroup => new Package(_request, packageGroup)).Where(package => package.IsValid && package.Name.EqualsIgnoreCase(name)); // then follow any supplemental links to more declared latest packages. var morePackages = More.SelectMany(nextGroup => new Feed(_request, nextGroup).Query(name)); // let's search child feeds that declare that the name of the package in the feed matches the given name var packagesByName = Feeds.Where(feedGroup => feedGroup.Any(link => name.EqualsIgnoreCase(link.Attributes[Iso19770_2.Discovery.Name]))).SelectMany(feed => new Feed(_request, feed).Query(name)); // and search child feeds that the name would be in their range. var packagesByNameRange = Feeds.Where(feedGroup => feedGroup.Any(link => { var minName = link.Attributes[Iso19770_2.Discovery.MinimumName]; var maxName = link.Attributes[Iso19770_2.Discovery.MaximumName]; if (string.IsNullOrEmpty(minName) || string.IsNullOrEmpty(maxName)) { return(false); } return(String.Compare(minName, name, StringComparison.OrdinalIgnoreCase) <= 0 && String.Compare(name, maxName, StringComparison.OrdinalIgnoreCase) <= 0); })).SelectMany(feed => new Feed(_request, feed).Query(name)); return(packages.Concat(morePackages).Concat(packagesByName).Concat(packagesByNameRange)); }
public void GoToDoYouHaveAStory_page() { News.Click(); More.Click(); HaveYouSay.Click(); DoYouHaveAStory.Click(); }
/// <summary> /// Выполняет добавление нового задания в список задач шедулера. /// </summary> /// <param name="id"></param> public void AddShedule(int id) { lock (_schedulers) { if (_schedulers.All(x => x.Id != id)) { var task = Db <WebEnvironmentFiact> .NSession.Get <Sheduler>(id); if (task.Type == "import") { var import = new Import(task.Id); _schedulers.Add(import); import.Completed += shedule_Completed; } if (task.Type == "export") { var export = new Export(task.Id); _schedulers.Add(export); export.Completed += shedule_Completed; } if (task.Type == "more") { var more = new More(task.Id); _schedulers.Add(more); more.Completed += shedule_Completed; } } } }
public override int GetHashCode() { unchecked { return((base.GetHashCode() * 397) ^ (More != null ? More.GetHashCode() : 0)); } }
public MoreButton() { DefaultStyleKey = typeof(MoreButton); IconSource = new More(); ActualThemeChanged += OnActualThemeChanged; ThemeChanged(); }
public override JToken ToJToken(ApiVersion version, ResultFormat format) { var obj = new JObject { ["statements"] = Statements?.ToJToken(version, format), ["more"] = More?.ToString() }; return obj; }
internal void UpdateCell(More more) { if (!string.IsNullOrEmpty(more.imageUrl)) { ImageService.Instance.LoadUrl(more.imageUrl).Into(MoreImage); } moreHeadline.Text = more.desc; moreDescription.Text = more.note; }
public string Visit(More node) { var result = ""; result += Visit((dynamic)node[0]) + "\n" + Visit((dynamic)node[1]) + "\n" + "\tcgt\n"; return(result); }
private void _SizeChanged(object sender, SizeChangedEventArgs e) { foreach (UIElement element in this.List.Children) { if (element is More) { More more = (More)element; more.Width = base.ActualWidth - 30.0; } } }
static Api.IShellItem _ShellItem(string path, string errMsg) { var pidl = More.PidlFromString(path, true); try { var guid = typeof(Api.IShellItem).GUID; AuException.ThrowIfFailed(Api.SHCreateItemFromIDList(pidl, guid, out var R), errMsg); return(R); } finally { Marshal.FreeCoTaskMem(pidl); } }
private void EventChangeStationCompleted(object sender, EventArgsChangeStationCompleted e) { if (e.Result == "OK") { iService.Playlist(); } else { More.BeginInvoke((MethodInvoker) delegate() { More.Enabled = false; }); } }
public override async Task <bool> ExecuteAsync(CancellationToken cancellationToken = default) { string template_prefix = "template_", tvalue_prefix = "tvalue_"; // @"[A-Z]{1,}[_]{1,}[A-Z]{1,}[_]{0,}[A-Z]{0,}" var tname_pattern = More.GetValue("tname_pattern"); ArgumentNullException.ThrowIfNull(tname_pattern); var vals = new More(); foreach (var more in More.Where(item => item.Key.StartsWith(tvalue_prefix))) { vals.Add(more.Key[tvalue_prefix.Length..], more.Value);
public void UseScopeLogsScope() { // Arrange var loggerFactory = TestLoggerFactory.Create(); var sampleLogger = loggerFactory.CreateLogger <Sample>(); var moreLogger = loggerFactory.CreateLogger <More>(); var more = new More(new Sample(sampleLogger), moreLogger); // Act more.UseScope(); // Assert Assert.Collection(loggerFactory.Sink.Scopes, scope => Assert.Equal("This scope's answer is 42", scope.Message)); }
public void DoMoreLogsMessage_NotCheckingNested() { // Arrange var loggerFactory = MELTBuilder.CreateLoggerFactory(options => options.FilterByTypeName <More>()); var sampleLogger = loggerFactory.CreateLogger <Sample>(); var moreLogger = loggerFactory.CreateLogger <More>(); var more = new More(new Sample(sampleLogger), moreLogger); // Act more.DoMore(); // Assert var log = Assert.Single(loggerFactory.LogEntries); Assert.Equal("More is less.", log.Message); }
public void UseLocalScopeLogsMessageWithScope() { // Arrange var loggerFactory = TestLoggerFactory.Create(); var sampleLogger = loggerFactory.CreateLogger <Sample>(); var moreLogger = loggerFactory.CreateLogger <More>(); var more = new More(new Sample(sampleLogger), moreLogger); // Act more.UseLocalScope(); // Assert var log = Assert.Single(loggerFactory.Sink.LogEntries); Assert.Equal("This scope's answer is 42", log.Scope.Message); }
/// <summary> /// Follows the feed to find all the *declared latest* versions of packgaes /// </summary> /// <returns>A set of packages</returns> internal IEnumerable <Package> Query() { if (!IsValid) { return(Enumerable.Empty <Package>()); } // first get all the packages that are marked as the latest version. var packages = Packages.Select(packageGroup => new Package(_request, packageGroup.Where(link => link.Attributes[Iso19770_2.Discovery.Latest].IsTrue()))); // then follow any supplemental links to more declared latest packages. var morePackages = More.SelectMany(nextGroup => new Feed(_request, nextGroup).Query()); // We do not follow to other feeds to find more, because declared latest packages should be in this feed (or a supplemental). return(packages.Concat(morePackages)); }
public virtual async Task NextAsync(bool execute_result, CancellationToken cancellationToken = default) { var next_prefix = execute_result ? GOOD_PREFIX : FAIL_PREFIX; var next_rule = More.GetValue(execute_result ? GOOD_RULE : FAIL_RULE); if (string.IsNullOrEmpty(next_rule)) { return; } var next_more = new More(); foreach (var more in More.Where(item => item.Key.StartsWith(next_prefix))) { next_more.Add(more.Key[next_prefix.Length..], more.Value);
public void DoMoreLogsFormat_NotCheckingNested() { // Arrange var loggerFactory = TestLoggerFactory.Create(options => options.FilterByTypeName <More>()); var sampleLogger = loggerFactory.CreateLogger <Sample>(); var moreLogger = loggerFactory.CreateLogger <More>(); var more = new More(new Sample(sampleLogger), moreLogger); // Act more.DoMore(); // Assert var log = Assert.Single(loggerFactory.Sink.LogEntries); Assert.Equal("More is less.", log.OriginalFormat); }
public void DoMoreLogsMessage() { // Arrange var loggerFactory = TestLoggerFactory.Create(); var sampleLogger = loggerFactory.CreateLogger <Sample>(); var moreLogger = loggerFactory.CreateLogger <More>(); var more = new More(new Sample(sampleLogger), moreLogger); // Act more.DoMore(); // Assert Assert.Collection(loggerFactory.Sink.LogEntries, l => Assert.Equal("More is less.", l.Message), l => Assert.Equal("The answer is 42", l.Message)); }
public Num CalcDamage() { if (cached.HasValue && UseCache) { return(cached.Value); } var result = Base; foreach (var more in More.Concat(new[] { Increased })) { result = result * (1 + more); } return((cached = result).Value); }
public void UseScopeLogsCorrectParameters() { // Arrange var loggerFactory = TestLoggerFactory.Create(); var sampleLogger = loggerFactory.CreateLogger <Sample>(); var moreLogger = loggerFactory.CreateLogger <More>(); var more = new More(new Sample(sampleLogger), moreLogger); // Act more.UseScope(); // Assert var scope = Assert.Single(loggerFactory.Sink.Scopes); // Assert specific parameters in the log entry LoggingAssert.Contains("number", 42, scope.Properties); }
public void UseScopeLogsCorrectOriginalFormat() { // Arrange var loggerFactory = TestLoggerFactory.Create(); var sampleLogger = loggerFactory.CreateLogger <Sample>(); var moreLogger = loggerFactory.CreateLogger <More>(); var more = new More(new Sample(sampleLogger), moreLogger); // Act more.UseScope(); // Assert var scope = Assert.Single(loggerFactory.Sink.Scopes); // Assert specific parameters in the log entry Assert.Equal("This scope's answer is {number}", scope.OriginalFormat); }
private void LoadSchedules() { List <Sheduler> schIds = Db <WebEnvironmentFiact> .Get <Sheduler>().Where(x => x.NextRun != default(DateTime?) && x.IsEnabled). ToList(); foreach (Sheduler shedule in schIds) { if (shedule.Type == "import") { var import = new Import(shedule.Id); import.Completed += shedule_Completed; _schedulers.Add(import); } if (shedule.Type == "export") { var export = new Export(shedule.Id); export.Completed += shedule_Completed; _schedulers.Add(export); } if (shedule.Type == "more") { var more = new More(shedule.Id); more.Completed += shedule_Completed; _schedulers.Add(more); } if (shedule.Type == "eitp_hour") { var more = new EitpHourlyJob(shedule.Id); more.Completed += shedule_Completed; _schedulers.Add(more); } if (shedule.Type == "eitp_daily") { var more = new EitpDailyJob(shedule.Id); more.Completed += shedule_Completed; _schedulers.Add(more); } } }
public void DoEvenMoreLogsCorrectParameters() { // Arrange var loggerFactory = TestLoggerFactory.Create(); var sampleLogger = loggerFactory.CreateLogger <Sample>(); var moreLogger = loggerFactory.CreateLogger <More>(); var more = new More(new Sample(sampleLogger), moreLogger); // Act more.DoEvenMore(); // Assert var log = Assert.Single(loggerFactory.Sink.LogEntries); // Assert specific parameters in the log entry LoggingAssert.Contains("number", 42, log.Properties); LoggingAssert.Contains("foo", "bar", log.Properties); }
public static void AddNew(this More more, string?json) { if (string.IsNullOrWhiteSpace(json)) { return; } var items = JsonSerializer.Deserialize <More>(json); if (items == null) { return; } foreach (var item in items.Where(item => !more.ContainsKey(item.Key))) { more.Add(item.Key, Convert.ToString(item.Value)); } }
public void TraceLogsMessageWithScope() { // Arrange var loggerFactory = TestLoggerFactory.Create(); var sampleLogger = loggerFactory.CreateLogger <Sample>(); var moreLogger = loggerFactory.CreateLogger <More>(); var more = new More(new Sample(sampleLogger), moreLogger); // Act more.Trace(); // Assert var log = Assert.Single(loggerFactory.Sink.LogEntries); Assert.Equal("This log entry is at trace level", log.Message); LoggingAssert.Contains("level", "trace", log.Properties); var scope = Assert.Single(log.Scopes); LoggingAssert.Contains("foo", "bar", scope.Properties); }
private void EventHandshakeCompleted(object sender, EventArgsHandshakeCompleted e) { if (e.Result == "OK") { More.BeginInvoke((MethodInvoker) delegate() { More.Enabled = true; }); UserLog.WriteLine(DateTime.Now + ": last.fm login as " + iUsername + " successful"); ChangeStation(); } else { More.BeginInvoke((MethodInvoker) delegate() { More.Enabled = false; }); iLoginRequired = true; UserLog.WriteLine(DateTime.Now + ": last.fm login as " + iUsername + " unsuccessful (" + e.Result + ")"); } }
static void Main(string[] args) { var api = new RedditApi(); var subreddit = api.GetSubredditAsync("noveltranslations").GetAwaiter().GetResult(); var links = subreddit.GetHotLinksAsync(new ListingRequest { Limit = 2 }).Result; foreach (Link link in links.OfType <Link>()) { Console.WriteLine($"Link - {link.Title}"); var comments = link.GetCommentsAsync(new GetCommentsRequest { Limit = 5 }).GetAwaiter().GetResult(); foreach (Comment comment in comments.OfType <Comment>()) { Console.WriteLine($"- Comment - \"{comment.Body}\" by {comment.Author}"); } More more = comments.LastOrDefault() as More; var someMoreComments = more?.Children.Take(2) ?? new List <string>(); foreach (string anotherComment in someMoreComments) { Comment aComment = subreddit.GetCommentAsync(new GetCommentRequest { LinkId = link.Id, CommentId = anotherComment }) .GetAwaiter().GetResult(); Console.WriteLine($"-- Another comment {aComment.Body}"); } } Console.WriteLine(); Console.WriteLine("Done!"); Console.ReadLine(); }