Guest User

Untitled

a guest
Jan 18th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. var entities = new NortradeEntities();
  2.  
  3. var config = new CsvConfig {ContainsHeaders = true, Separator = ';'};
  4.  
  5. var doc = new CsvDoc(@"c:\Temp\Nortrade\News\adm_news.csv", true, config, true);
  6. var keywordsDoc = new CsvDoc(@"c:\Temp\Nortrade\News\adm_news_keyword.csv", true, config, true);
  7. var companiesDoc = new CsvDoc(@"c:\Temp\Nortrade\News\adm_news_company.csv", true, config, true);
  8. var sectorsDoc = new CsvDoc(@"c:\Temp\Nortrade\News\adm_news_sector.csv", true, config, true);
  9.  
  10. for (int i = start; i < end; i++)
  11. {
  12. var id = doc.Get<int>(i, "id");
  13. string header = doc.Get<string>(i, "header").Trim();
  14. var datecreated = doc.Get<DateTime>(i, "datecreated");
  15. string internalcomments = doc.Get<string>(i, "internalcomments").Trim();
  16. string metadescription = doc.Get<string>(i, "metadescription").Trim();
  17. string frontpagetext = doc.Get<string>(i, "frontpagetext").Trim();
  18.  
  19. const string path = @"c:\Temp\Nortrade\News\adm_news_contentid_{0}.txt";
  20. var fileInfo = new FileInfo(string.Format(path, id));
  21.  
  22. string mainBody = null;
  23.  
  24. if (fileInfo.Exists)
  25. {
  26. Stream stream = fileInfo.OpenRead();
  27. var buffer = new byte[stream.Length];
  28. stream.Read(buffer, 0, buffer.Length);
  29.  
  30. byte[] bytes = Encoding.Convert(Encoding.GetEncoding("ISO-8859-1"), Encoding.UTF8, buffer);
  31. mainBody = Encoding.UTF8.GetString(bytes);
  32. }
  33.  
  34. List<string> keywords = keywordsDoc.Data.Where(k => Convert.ToInt32(k["newsid"]) == id)
  35. .Select(k => k["keyword"].ToString().Trim()).ToList();
  36.  
  37. var post = new Post
  38. {
  39. Description = string.IsNullOrEmpty(metadescription) ? null : metadescription,
  40. FrontpageSmallText = string.IsNullOrEmpty(frontpagetext) ? null : frontpagetext,
  41. InternalComment = string.IsNullOrEmpty(internalcomments) ? null : internalcomments,
  42. MainBody = string.IsNullOrEmpty(mainBody) ? null : mainBody,
  43. PageName = string.IsNullOrEmpty(header) ? "News" : header,
  44. StartPublish = datecreated,
  45. Keywords = keywords.Count > 0 ? string.Join(", ", keywords) : null
  46. };
  47.  
  48. List<string> dummyCompanies = companiesDoc.Data.Where(c => Convert.ToInt32(c["newsid"]) == id)
  49. .Select(c => c["orgnr"].ToString().Trim()).ToList();
  50.  
  51. foreach (string dummyCompany in dummyCompanies)
  52. {
  53. int organizationNumber;
  54.  
  55. if (int.TryParse(dummyCompany, out organizationNumber))
  56. {
  57. Company company = entities.Companies.FirstOrDefault(c => c.OrganizationNumber == organizationNumber);
  58.  
  59. if (company != null)
  60. {
  61. post.Companies.Add(company.CompanyId);
  62. }
  63. }
  64. }
  65.  
  66. List<OrderedDictionary> dummySectors = sectorsDoc.Data.Where(k => Convert.ToInt32(k["newsid"]) == id).ToList();
  67.  
  68. foreach (OrderedDictionary dummySector in dummySectors)
  69. {
  70. int sectorid = Convert.ToInt32(dummySector["sectorid"]);
  71.  
  72. List<Sector> sectors = entities.Sectors.Where(s => s.Type == sectorid).ToList();
  73.  
  74. foreach (Sector sector in sectors)
  75. {
  76. post.TradeSectors.Add(sector.SectorId);
  77. }
  78. }
  79.  
  80. Post.CreateNews(post);
Add Comment
Please, Sign In to add comment