예제 #1
0
        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);
        }
예제 #2
0
        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);
        }