private async Task <AnnualReportXMLData> GetAnnualReportData(ElasticAnnualReportModelDTO report) { var data = await GetAnnualReportDataXml(report); if (data == null) { return(null); } var xdoc = XDocument.Parse(data); var elements = xdoc?.Root?.Elements(); if (elements == null || !elements.Any()) { return(null); } var equityVal = elements.FirstOrDefault(c => c.Name.LocalName.Equals("Equity"))?.Value; var profitLossVal = elements.FirstOrDefault(c => c.Name.LocalName.Equals("ProfitLoss"))?.Value; var currentAssetsVal = elements.FirstOrDefault(c => c.Name.LocalName.Equals("CurrentAssets"))?.Value; var assetsVal = elements.FirstOrDefault(c => c.Name.LocalName.Equals("Assets"))?.Value; var grossProfitLossVal = elements.FirstOrDefault(c => c.Name.LocalName.Equals("GrossProfitLoss"))?.Value; var dto = new AnnualReportXMLData() { RegistrationNumber = report.cvrNummer.ToString(), Equity = !string.IsNullOrWhiteSpace(equityVal) ? decimal.Parse(equityVal) : (decimal?)null, Assets = !string.IsNullOrWhiteSpace(assetsVal) ? decimal.Parse(assetsVal) : (decimal?)null, CurrentAssets = !string.IsNullOrWhiteSpace(currentAssetsVal) ? decimal.Parse(currentAssetsVal) : (decimal?)null, ProfitLoss = !string.IsNullOrWhiteSpace(profitLossVal) ? decimal.Parse(profitLossVal) : (decimal?)null, GrossProfitLoss = !string.IsNullOrWhiteSpace(grossProfitLossVal) ? decimal.Parse(grossProfitLossVal) : (decimal?)null }; return(dto); }
private Company GetCompany(ElasticCompanyModelDTO company, RequestType requestType, AnnualReportXMLData annualReport) { Company result = null; if (requestType == RequestType.Extended) { result = this.companyFactory.CreateExtendedCompany(company, annualReport); } else { result = this.companyFactory.GetBaseCompany(company); } return(result); }