Ejemplo n.º 1
0
        private void DownFileQueue(cGatherUrlItem item, DataTable tempData)
        {
            List <TaskColumnItem> taskList = m_GatherTaskManage.ColumnItemList.Where(q => q.DataFileType != EnumGloabParas.EnumDataFileType.Text).ToList();

            foreach (DataRow dr in tempData.Rows)
            {
                foreach (TaskColumnItem column in taskList)
                {
                    #region  载文件
                    string value = dr[column.DataTextType.Value].ToString();
                    string url   = this.GetNextUrl(value, item.Url);
                    if (m_GatherTaskManage.DownFileQueue)
                    {
                        if (!m_GatherTaskManage.ContainsDownFileUrl(url))
                        {
                            m_GatherTaskManage.runFileUrls[m_GatherTaskManage.ThreadPos].Enqueue(new cGatherUrlBaseItem()
                            {
                                Url = url,
                            });
                            if (e_TotalCount != null)
                            {
                                e_TotalCount(new cGatherCompletedEventArgs()
                                {
                                    ErrorCount = 0,
                                    TotalCount = 1,
                                    TrueCount  = 0,
                                });
                            }
                        }
                    }
                    else
                    {
                        //直接下载文件
                        if (e_TotalCount != null)
                        {
                            e_TotalCount(new cGatherCompletedEventArgs()
                            {
                                ErrorCount    = 0,
                                GaterherState = EnumGloabParas.EnumThreadState.Run,
                                TotalCount    = 1,
                                TrueCount     = 0,
                            });
                        }
                        this.DownFileQueue(url);
                    }
                    #endregion
                }
            }
        }