public PostExtract(DBExtract dbExtract) { _DBExtract = dbExtract; }
static void Main(string[] args) { Console.OutputEncoding = Encoding.Unicode; // Режим на Debug int isDebug = 0; // Id на източник int sourceId = 0; // Id на публикация за публикуване int publishPostId = 0; // Url: Публикация string urlPost = ""; // Файл: Публикация string filePost = ""; foreach (string arg in args) { int argIndex = arg.IndexOf(':'); string argKey = arg.Substring(0, argIndex); string argValue = arg.Substring(argIndex + 1, arg.Length - argIndex - 1); switch (argKey) { case "/d": // Режим на Debug isDebug = TryParse.ToInt32(argValue); break; case "/s": // Id на източник sourceId = TryParse.ToInt32(argValue); break; case "/up": // Адрес на публикация urlPost = TryParse.ToString(argValue); break; case "/fp": // Път на публикация filePost = TryParse.ToString(argValue); break; case "/ppi": // Id на публикация за публикуване publishPostId = TryParse.ToInt32(argValue); break; } } // Изпълнява се само за sourceId if (sourceId > 0) { try { using (DBExtract dbExtract = new DBExtract()) { PExtractTemplate peTemplate = dbExtract.GetPETemplate(sourceId); if (peTemplate == null) { Console.WriteLine("Source '{0}' not found", sourceId); } else { using (PostExtract pExtract = new PostExtract(dbExtract)) { pExtract.IsDebug = isDebug; // Изпълнява се само за публикации на файла if (!String.IsNullOrWhiteSpace(filePost)) { pExtract.ExecutePost(filePost, peTemplate); } // Изпълнява се само за публикации от адреса else if (!String.IsNullOrWhiteSpace(urlPost)) { pExtract.ExecutePost(new Uri(urlPost), peTemplate); } // за всички публикации от източника else { pExtract.Execute(peTemplate); } } if ((isDebug == 0) || (isDebug >= 5)) { dbExtract.TransferNewPost(); } if (isDebug == 0) { dbExtract.EmptyNewPost(); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } } // За всички sources else if (sourceId == -1) { try { using (DBExtract dbExtract = new DBExtract()) { List<PExtractTemplate> peTemplates = dbExtract.GetPETemplates(); foreach (PExtractTemplate peTemplate in peTemplates) { using (PostExtract pExtract = new PostExtract(dbExtract)) { pExtract.IsDebug = isDebug; pExtract.Execute(peTemplate); } if (isDebug == 0) { dbExtract.TransferNewPost(); dbExtract.EmptyNewPost(); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } } // Изпълнява се само за publishPostId if (publishPostId > 0) { try { using (DBExtract dbExtract = new DBExtract()) { using (PostPublish pPublish = new PostPublish(dbExtract)) { pPublish.IsDebug = isDebug; pPublish.PublishPost(publishPostId); } } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } } Console.WriteLine("Complete"); if (isDebug > 0) { Console.ReadKey(); } }