Example #1
0
        static async Task Main(string[] args)
        {
            await CrawlerAction.BasicInfoCrawlerAsync("0050");

            await CrawlerAction.BasicInfoCrawlerAsync("0056");

            await CrawlerAction.BasicInfoCrawlerAsync("2330");

            await CrawlerAction.BasicInfoCrawlerAsync("2338");
        }
Example #2
0
        public string ImportFinanceialReport(Guid dataModelingId, Tenant tenant, CrawlerAction action, string guidSerial = "")
        {
            if (dataModelingId == null || dataModelingId == Guid.Empty)
            {
                throw new ArgumentException("dataModelingId");
            }
            if (tenant == null)
            {
                throw new ArgumentNullException("tenant");
            }
            var taskId = !string.IsNullOrEmpty(guidSerial) ? new Guid(guidSerial) : Guid.NewGuid();

            using DataContext context = new DataContext(tenant.ConnectionStrings.Master);
            var dataModeling = context.DataModeling.Find(dataModelingId);
            var dataSource   = context.DataSource.Find(dataModeling.DsId);

            string message;

            if (dataSource != null)
            {
                RepairSchema(taskId, dataSource, tenant);
                ClearIndustryData(taskId, dataSource, tenant);
                message = ImportFinanceialReportToDataTable(taskId, context, dataModeling, dataSource, tenant);

                if (action == CrawlerAction.UpdateForTenant)
                {
                    dataSource.Hashcode   = HashUtil.CreateHashcode();
                    dataSource.UpdateDate = DateTime.Now;
                    dataSource.EndDate    = dataSource.UpdateDate.ToString("yyyy-MM-dd HH:mm:ss");
                }

                context.SaveChanges();
            }
            else
            {
                message = $"DataModeling.DsId ({dataModeling.DsId}) 未找到工作表記錄";
                _logger.LogWarning($"taskId={taskId}, {message}");
            }
            return(message);
        }