コード例 #1
0
 public FileDataServer(IFileDataServer fileDataServer, StatusProcessing statusProcessing,
                       IEnumerable <IFileDataSourceServer> filesDataSourceServer, IEnumerable <IErrorCommon> fileErrors)
     : this(fileDataServer.NonNull().FilePathServer, fileDataServer.NonNull().FilePathClient,
            fileDataServer.NonNull().ColorPrintType, statusProcessing,
            fileDataServer.NonNull().AttemptingConvertCount, filesDataSourceServer, fileErrors)
 {
 }
コード例 #2
0
 protected FileDataShortResponseBase(string filePath, StatusProcessing statusProcessing,
                                     IList <ErrorCommonResponse> fileErrors)
 {
     FilePath         = filePath;
     StatusProcessing = statusProcessing;
     FileErrors       = fileErrors;
 }
コード例 #3
0
        /// <summary>
        /// Преобразовать статус в наименование
        /// </summary>
        public static string StatusProcessingToString(StatusProcessing statusProcessing)
        {
            var statusProcessingString = String.Empty;

            StatusProcessingString?.TryGetValue(statusProcessing, out statusProcessingString);

            return(statusProcessingString);
        }
コード例 #4
0
 public HistoryFileDataResponse(string filePath, StatusProcessing statusProcessing, ColorPrintType colorPrintType,
                                IList <HistoryFileDataSourceResponse> historyFileDataSources, int errorCount)
 {
     FilePath         = filePath;
     StatusProcessing = statusProcessing;
     ColorPrintType   = colorPrintType;
     HistoryFileDataSourceResponsesList = historyFileDataSources;
     ErrorCount = errorCount;
 }
コード例 #5
0
 public HistoryFileDataClient(string filePath, StatusProcessing statusProcessing, ColorPrintType colorPrintType,
                              IEnumerable <IHistoryFileDataSource> historyFileDataSources, int errorCount)
 {
     FilePath               = filePath;
     StatusProcessing       = statusProcessing;
     ColorPrintType         = colorPrintType;
     HistoryFileDataSources = historyFileDataSources.ToList();
     ErrorCount             = errorCount;
 }
コード例 #6
0
 protected FileDataRequestBase(string filePath, ColorPrintType colorPrintType, StatusProcessing statusProcessing,
                               byte[] fileDataSource, string fileExtensionAdditional, byte[] fileDataSourceAdditional)
 {
     FilePath                 = filePath;
     ColorPrintType           = colorPrintType;
     StatusProcessing         = statusProcessing;
     FileDataSource           = fileDataSource;
     FileExtensionAdditional  = fileExtensionAdditional;
     FileDataSourceAdditional = fileDataSourceAdditional;
 }
コード例 #7
0
 public FileDataEntity(string filePath, ColorPrintType colorPrintType, StatusProcessing statusProcessing,
                       IList <FileDataSourceEntity> fileDataSourceServerEntities, IList <ErrorComponent> fileErrors,
                       IList <byte> fileDataSource, string fileExtensionAdditional, IList <byte> fileDataSourceAdditional)
 {
     FilePath                     = filePath;
     ColorPrintType               = colorPrintType;
     StatusProcessing             = statusProcessing;
     FileDataSourceServerEntities = fileDataSourceServerEntities;
     FileErrors                   = fileErrors;
     FileDataSource               = fileDataSource;
     FileExtensionAdditional      = fileExtensionAdditional;
     FileDataSourceAdditional     = fileDataSourceAdditional;
 }
コード例 #8
0
        public FileDataServer(string filePathServer, string filePathClient, ColorPrintType colorPrintType,
                              StatusProcessing statusProcessing, int attemptingConvertCount,
                              IEnumerable <IFileDataSourceServer> filesDataSourceServer,
                              IEnumerable <IErrorCommon> fileErrors)
            : base(filePathServer, filePathClient)
        {
            ColorPrintType         = colorPrintType;
            StatusProcessing       = statusProcessing;
            AttemptingConvertCount = attemptingConvertCount;

            FileErrors            = fileErrors?.ToList().AsReadOnly() ?? throw new ArgumentNullException(nameof(fileErrors));
            FilesDataSourceServer = filesDataSourceServer?.ToList().AsReadOnly() ?? throw new ArgumentNullException(nameof(filesDataSourceServer));
        }
コード例 #9
0
 public FileDataRequestServer(string filePath, ColorPrintType colorPrintType, StatusProcessing statusProcessing,
                              byte[] fileDataSource, string fileExtensionAdditional, byte[] fileDataSourceAdditional)
     : base(filePath, colorPrintType, statusProcessing, fileDataSource, fileExtensionAdditional, fileDataSourceAdditional)
 {
 }
コード例 #10
0
 public FileDataResponseServer(string filePath, StatusProcessing statusProcessing, IList <ErrorCommonResponse> fileErrors,
                               IList <FileDataSourceResponseServer> filesDataSource)
     : base(filePath, statusProcessing, fileErrors, filesDataSource)
 {
 }
コード例 #11
0
 public FileDataShortResponseClient(string filePath, StatusProcessing statusProcessing,
                                    IList <ErrorCommonResponse> fileErrors)
     : base(filePath, statusProcessing, fileErrors)
 {
 }
コード例 #12
0
 public FileDataServer(IFileDataServer fileDataServer, StatusProcessing statusProcessing, IEnumerable <IErrorCommon> fileErrors)
     : this(fileDataServer, statusProcessing, fileDataServer.NonNull().FilesDataSourceServer, fileErrors)
 {
 }
コード例 #13
0
 public FileDataServer(IFileDataServer fileDataServer, StatusProcessing statusProcessing, IErrorCommon fileErrors)
     : this(fileDataServer, statusProcessing, new List <IErrorCommon> {
     fileErrors
 })
 {
 }
コード例 #14
0
 /// <summary>
 /// Получить статус с измененным состоянием
 /// </summary>
 public FileStatus GetWithStatusProcessing(StatusProcessing statusProcessing) =>
 new FileStatus(FilePath, statusProcessing, Errors);
コード例 #15
0
 public FileStatus(string filePath, StatusProcessing statusProcessing, IEnumerable <IErrorCommon> errors)
 {
     FilePath         = filePath ?? throw new ArgumentNullException(nameof(filePath));
     StatusProcessing = statusProcessing;
     Errors           = errors?.ToList().AsReadOnly() ?? throw new ArgumentNullException(nameof(errors));;
 }
コード例 #16
0
 public FileStatus(string filePath, StatusProcessing statusProcessing, IErrorCommon error)
     : this(filePath, statusProcessing, new List <IErrorCommon>() { error })
 {
 }
コード例 #17
0
 public FileDataServer(string filePathServer, string filePathClient, ColorPrintType colorPrintType, StatusProcessing statusProcessing,
                       IEnumerable <IErrorCommon> fileErrors)
     : this(filePathServer, filePathClient, colorPrintType, statusProcessing, ATTEMPTING_DEFAULT_COUNT,
            Enumerable.Empty <IFileDataSourceServer>(), fileErrors)
 {
 }
コード例 #18
0
 protected FileDataResponseBase(string filePath, StatusProcessing statusProcessing,
                                IList <ErrorCommonResponse> fileErrors, IList <TFileDataSourceResponse> filesDataSource)
     : base(filePath, statusProcessing, fileErrors)
 {
     FilesDataSource = filesDataSource;
 }
コード例 #19
0
        private void ProcessBlog(string linkBlog,
                                 DataInput Data,
                                 List <BlogInfo> InfoMoreBlogs)
        {
            BlogInfo InfoBlog = new BlogInfo();

            InfoBlog.InfoSingeBlogs = new List <ArticleInfo>();
            InfoBlog.hrefBlogs      = linkBlog;

            HtmlWeb      web     = new HtmlWeb();
            int          check   = 0;
            HtmlDocument htmlDoc = null;

            while (check >= 0)
            {
                try
                {
                    htmlDoc = web.Load(linkBlog);
                    check   = -1;
                }
                catch
                {
                    check++;
                    if (check >= 4)
                    {
                        ErrorOccured?.Invoke(this, String.Format(_unableConnect, linkBlog));
                        return;
                    }
                }
            }
            HtmlNodeCollection nodes = htmlDoc.DocumentNode.SelectNodes(_title);

            List <string> links = new List <string>();

            if (nodes == null)
            {
                return;
            }

            int pagesCount = 0;

            if (Data.searchDepth == -1)
            {
                Data.searchDepth = Int32.MaxValue;
            }
            while (nodes != null && pagesCount < Data.searchDepth)
            {
                foreach (HtmlNode node in nodes)
                {
                    links.Add(node.Attributes[_atrib].Value);
                }

                foreach (var element in ProcessArticleLinks(links))
                {
                    InfoBlog.InfoSingeBlogs.Add(element);
                }

                links.Clear();
                nodes = null;
                var nextPage = htmlDoc.DocumentNode.SelectSingleNode(_next_page);

                if (nextPage == null || nextPage.Attributes[_atrib] == null)
                {
                    break;
                }
                check = 0;
                while (check >= 0)
                {
                    try
                    {
                        htmlDoc = web.Load(_start_page + nextPage.Attributes[_atrib].Value);
                        check   = -1;
                    }
                    catch
                    {
                        check++;
                        if (check >= 4)
                        {
                            ErrorOccured?.Invoke(this, String.Format(_unableConnect, nextPage.Attributes[_atrib].Value));
                            break;
                        }
                    }
                }
                nodes = htmlDoc.DocumentNode.SelectNodes(_title);
                pagesCount++;
            }
            InfoMoreBlogs.Add(InfoBlog);
            StatusProcessing?.Invoke(this, String.Format("The unit successfully processed : {0}", linkBlog));
            return;
            //////
        }