public TaxBaseWithholdDefinition() : base(ArticleRole.ARTICLE_TAX_BASE_WITHHOLD) { ArticleSources = ArticleDefinition.CreateParams(); ArticleResults = ArticleDefinition.CreateParams( CreateParam("TaxableBasis", FieldType.TAmountDec) ); }
public RuleEvaluationResult EvaluateRule(ArticleDefinition articleDefinition) { var diagramSection = articleDefinition.GetSections().FirstOrDefault(sect => sect.Name == "Diagrams"); if (diagramSection == null) { return(new RuleEvaluationResult() { FailureMessage = "Diagram Section Not Found", Success = false, RuleName = _name }); } if (diagramSection.ContentElements.All(ce => ce.ContentType == ContentType.Resource)) { return new RuleEvaluationResult() { Success = true, RuleName = _name } } ; return(new RuleEvaluationResult() { FailureMessage = "Diagram Section may only contain Resource Elements", Success = false }); } }
public async Task <ArticleContent> ReadArticle(ArticleDefinition definition, CancellationToken token) { logger.LogDebug("Reading article text: {0}", definition.Id); var page = (await reader.Read(definition.Url, token).ConfigureAwait(false)).GetDocument(); var doc = page.DocumentNode; var article = doc.QuerySelector("div.article-body"); var description = doc.QuerySelector("div.article-title h1"); var lead = article.QuerySelector("div.delfi-article-lead"); var row = article.QuerySelector("div.col-xs-8"); var builder = new StringBuilder(); var pargraphs = lead.QuerySelectorAll("p") .Concat(row.ChildNodes.First(item => string.Compare(item.Name, "DIV", StringComparison.OrdinalIgnoreCase) == 0) .QuerySelectorAll("p")); foreach (var pargraph in pargraphs) { foreach (var textNode in pargraph.ChildNodes.Where(item => item is HtmlTextNode || string.Compare(item.Name, "a", StringComparison.OrdinalIgnoreCase) == 0)) { builder.Append(textNode.InnerText.Trim()); builder.Append(' '); } } return(new ArticleContent { Title = description.InnerText?.Trim(), Text = builder.ToString() }); }
public TaxIncomesAdvanceDefinition() : base(ArticleRole.ARTICLE_TAX_INCOMES_ADVANCE) { ArticleSources = ArticleDefinition.CreateParams(); ArticleResults = ArticleDefinition.CreateParams( CreateParam("IncomeTaxable", FieldType.TAmountDec) ); }
public TaxIncomesWithholdGeneralDefinition() : base(ArticleRole.ARTICLE_TAX_INCOMES_WITHHOLD_GENERAL) { ArticleSources = ArticleDefinition.CreateParams(); ArticleResults = ArticleDefinition.CreateParams( CreateParam("IncomeTaxable", FieldType.TAmountDec) ); }
public PositionTimesheetDefinition() : base(ArticleRole.ARTICLE_POSITION_TIMESHEET) { ArticleSources = ArticleDefinition.CreateParams( CreateParam("HoursSchedule", FieldType.TSheetSeconds), CreateParam("HoursInPeriod", FieldType.TSheetSeconds)); ArticleResults = ArticleDefinition.CreateParams(); }
private async Task <Article> ArticleReceived(ArticleDefinition definition) { var transformed = transformer.Transform(definition); logger.LogDebug("ArticleReceived: {0}({1})", transformed.Title, transformed.Id); if (scannedLookup.TryGetValue(transformed.Id, out _)) { logger.LogDebug("Article already processed: {0}", transformed.Id); return(null); } scannedLookup[transformed.Id] = true; try { var result = await reader.Read(transformed, tokenSource.Token).ConfigureAwait(false); scanned[transformed.Id] = result; return(result); } catch (Exception e) { logger.LogError(e, "Failed"); } return(null); }
public TaxBaseAdvanceDefinition() : base(ArticleRole.ARTICLE_TAX_BASE_ADVANCE) { ArticleSources = ArticleDefinition.CreateParams(); ArticleResults = ArticleDefinition.CreateParams( CreateParam("TaxableBasis", FieldType.TAmountDec) ); }
public AlphaCommentsReader(ILoggerFactory loggerFactory, ArticleDefinition article, ITrackedRetrieval reader) { this.article = article ?? throw new ArgumentNullException(nameof(article)); logger = loggerFactory?.CreateLogger <AlphaCommentsReader>() ?? throw new ArgumentNullException(nameof(logger)); this.reader = reader ?? throw new ArgumentNullException(nameof(reader)); }
public void GivenIHaveCreatedAnArticleDefinitionWithAnIndexForAManufacturer() { var x = _articleController.Post(new Models.Creators.ArticleDefinitionCreationRequest()); _manufacturerIndex = new ArticleIndex(Guid.NewGuid(), IndexType.Manufacturer); _articleDefinition = _articleController.Index(_articleDefinition.EntityId, _manufacturerIndex); }
public PositionScheduleDefinition() : base(ArticleRole.ARTICLE_POSITION_SCHEDULE) { ArticleSources = ArticleDefinition.CreateParams( CreateParam("ShiftLiable", FieldType.TSeconds), CreateParam("ShiftActual", FieldType.TSeconds), CreateParam("ScheduleType", FieldType.WorkScheduleType)); ArticleResults = ArticleDefinition.CreateParams(); }
public PositionTermDefinition() : base(ArticleRole.ARTICLE_POSITION_TERM) { ArticleSources = ArticleDefinition.CreateParams( CreateParam("DateFrom", FieldType.DATE), CreateParam("DateStop", FieldType.DATE), CreateParam("PositionType", FieldType.WorkPositionType)); ArticleResults = ArticleDefinition.CreateParams(); }
public InsIncomesHealthDefinition() : base(ArticleRole.ARTICLE_INS_INCOMES_HEALTH) { ArticleSources = ArticleDefinition.CreateParams(); ArticleResults = ArticleDefinition.CreateParams( CreateParam("SummarizeType", FieldType.WorkHealthTerms), CreateParam("IncomeExclude", FieldType.TAmountDec), CreateParam("IncomeRelated", FieldType.TAmountDec)); }
private void SetUp(List <Guid> testIndexes, IRepository <ArticleDefinition> repository) { var articleDefn = new ArticleDefinition(); testIndexes.ForEach(idx => articleDefn.AddIndex(new ArticleIndex(idx, It.IsAny <IndexType>()))); repository.Save(articleDefn); }
public void AddedValidPublicationRuleWithNoFailuresReturnsPublicationAddedEvent() { var ad = new ArticleDefinition(); var publicationAddedResult = ad.AddPublicationRule(new PublicationRule()); Assert.IsInstanceOfType(publicationAddedResult, typeof(PublicationRuleAddedEvent)); }
public InsDeclarationHealthDefinition() : base(ArticleRole.ARTICLE_INS_DECLARATION_HEALTH) { ArticleSources = ArticleDefinition.CreateParams( CreateParam("StatementType", FieldType.BYTE), CreateParam("SummarizeType", FieldType.WorkHealthTerms)); ArticleResults = ArticleDefinition.CreateParams( CreateParam("StatementType", FieldType.BYTE), CreateParam("SummarizeType", FieldType.WorkHealthTerms)); }
public ContractAttendItemDefinition() : base(ArticleRole.ARTICLE_CONTRACT_ATTEND_ITEM) { ArticleSources = ArticleDefinition.CreateParams( CreateParam("DayFrom", FieldType.TDay), CreateParam("DayStop", FieldType.TDay), CreateParam("PieceInDays", FieldType.AWorkDayPieceType), CreateParam("HoursInDays", FieldType.TSheetSeconds)); ArticleResults = ArticleDefinition.CreateParams(); }
public void AddedValidPublicationRuleWithThatRaisesPublicationErrorsReturnsPublicationWithFailuresEvent() { var ad = new ArticleDefinition(); var publicationAddedResult = ad.AddPublicationRule(new PublicationRule()); Assert.IsInstanceOfType(publicationAddedResult, typeof(PublicationRuleAddedEvent)); Assert.IsNotNull(((PublicationRuleAddedEvent)publicationAddedResult).EvaluationResults); }
public void InvalidSectionAddedToArticleRaisesSectionAddedEvent() { var ad = new ArticleDefinition(); var newSection = new Section(); var sectionAddedResult = ad.AddSection(newSection); Assert.IsInstanceOfType(sectionAddedResult, typeof(SectionAddFailedEvent)); }
public InsDeclarationSocialDefinition() : base(ArticleRole.ARTICLE_INS_DECLARATION_SOCIAL) { ArticleSources = ArticleDefinition.CreateParams( CreateParam("StatementType", FieldType.BYTE), CreateParam("SummarizeType", FieldType.WorkSocialTerms)); ArticleResults = ArticleDefinition.CreateParams( CreateParam("StatementType", FieldType.BYTE), CreateParam("SummarizeType", FieldType.WorkSocialTerms)); }
public void UpdateOrCreateArticle(ArticleDefinition articleDefinition) { var response = _soapClient.ProcessArticle(_goodsOwner.Name, _user.Name, _user.Password, articleDefinition); if (!response.Success) { throw CreateSdkException(response); } }
public async Task Init() { Helper = new NetworkHelper(); Article = new ArticleDefinition(); Article.Id = "4211146"; Article.Url = new Uri("https://seekingalpha.com/article/4210510-apple-price-matters"); await Helper.Container.Resolve <IAuthentication>().Authenticate(CancellationToken.None).ConfigureAwait(false); Readers = Helper.Container.Resolve <IArticleDataReader>(); }
public ContractTermDefinition() : base(ArticleRole.ARTICLE_CONTRACT_TERM) { ArticleSources = ArticleDefinition.CreateParams( CreateParam("DateFrom", FieldType.DATE), CreateParam("DateStop", FieldType.DATE), CreateParam("ContractType", FieldType.WorkEmployTerms)); ArticleResults = ArticleDefinition.CreateParams( CreateParam("PeriodDayFrom", FieldType.TDay), CreateParam("PeriodDayStop", FieldType.TDay), CreateParam("PeriodTermStatus", FieldType.BYTE)); }
public async Task ReadArticle() { var definition = new ArticleDefinition(); definition.Url = new Uri("https://www.delfi.lt/zz"); var text = await instance.ReadArticle(definition, CancellationToken.None); Assert.IsNotNull(text); Assert.GreaterOrEqual(text.Text.Length, 100); Assert.GreaterOrEqual(text.Title.Length, 100); }
public PositionMonthlyAmountDefinition() : base(ArticleRole.ARTICLE_POSITION_MONTHLY_AMOUNT) { ArticleSources = ArticleDefinition.CreateParams( CreateParam("MonthlyAmount", FieldType.TAmountDec), CreateRefer("ShiftLiable", FieldType.SHORT, ArticleRole.ARTICLE_POSITION_SCHEDULE), // Plný Úvazek CreateRefer("ShiftWorked", FieldType.SHORT, ArticleRole.ARTICLE_POSITION_SCHEDULE), // Skuteèný úvazek CreateRefer("HoursLiable", FieldType.SHORT, ArticleRole.ARTICLE_POSITION_TIMESHEET), // Hodin skuteèného úvazku CreateRefer("HoursWorked", FieldType.SHORT, ArticleRole.ARTICLE_POSITION_WORKING)); // Hodin odpracováno ArticleResults = ArticleDefinition.CreateParams( CreateParam("Payment", FieldType.TAmountDec)); }
private ArticleDefinition BuildArticleDefinitionWithRules() { var ad = new ArticleDefinition(); ad.AddPublicationRule(new ArticleMustHaveDiagramSection("Article must have a diagram section")); ad.AddPublicationRule(new ArticleSectionCountRule(2, "Article must have 6 sections")); ad.AddPublicationRule(new DiagramSectionMustOnlyContainResourceElements("Diagram must only have resource elements")); return(ad); }
public async Task ReadArticle() { var definition = new ArticleDefinition(); definition.Url = new Uri("https://seekingalpha.com/article/4210510-apple-price-matters"); var text = await instance.ReadArticle(definition, CancellationToken.None).ConfigureAwait(false); Assert.IsNotNull(text); Assert.GreaterOrEqual(text.Text.Length, 100); Assert.AreEqual("Apple: Price Matters", text.Title); }
public void AddedIndexRaisesNewIndexEvent() { //setup var ad = new ArticleDefinition(); var indexRef = Guid.NewGuid(); var index = new ArticleIndex(indexRef, IndexType.Manufacturer); var indexAddedEvent = ad.AddIndex(index); Assert.IsInstanceOfType(indexAddedEvent, typeof(IndexAddedEvent)); }
public async Task ReadArticle() { var tokenSource = new CancellationTokenSource(2000); var definition = new ArticleDefinition(); definition.Url = new Uri("https://www.delfi.lt/auto/patarimai/siulo-keliuose-statyti-naujo-tipo-matuoklius-gales-daugiau-nei-isivaizduojate.d?id=80585701"); var text = await instance.ReadArticle(definition, tokenSource.Token); Assert.IsNotNull(text); Assert.GreaterOrEqual(text.Text.Length, 100); Assert.GreaterOrEqual(text.Title.Length, 10); }
public TaxIncomesHealthDefinition() : base(ArticleRole.ARTICLE_TAX_INCOMES_HEALTH) { ArticleSources = ArticleDefinition.CreateParams(); ArticleResults = ArticleDefinition.CreateParams( CreateParam("SummarizeType", FieldType.WorkTaxingTerms), CreateParam("StatementType", FieldType.BYTE), CreateParam("ResidencyType", FieldType.BYTE), CreateParam("IncomeGeneral", FieldType.TAmountDec), CreateParam("IncomeExclude", FieldType.TAmountDec), CreateParam("IncomeTaskAgr", FieldType.TAmountDec), CreateParam("IncomePartner", FieldType.TAmountDec)); }