Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var entities = new NortradeEntities();
- var config = new CsvConfig {ContainsHeaders = true, Separator = ';'};
- var doc = new CsvDoc(@"c:\Temp\Nortrade\News\adm_news.csv", true, config, true);
- var keywordsDoc = new CsvDoc(@"c:\Temp\Nortrade\News\adm_news_keyword.csv", true, config, true);
- var companiesDoc = new CsvDoc(@"c:\Temp\Nortrade\News\adm_news_company.csv", true, config, true);
- var sectorsDoc = new CsvDoc(@"c:\Temp\Nortrade\News\adm_news_sector.csv", true, config, true);
- for (int i = start; i < end; i++)
- {
- var id = doc.Get<int>(i, "id");
- string header = doc.Get<string>(i, "header").Trim();
- var datecreated = doc.Get<DateTime>(i, "datecreated");
- string internalcomments = doc.Get<string>(i, "internalcomments").Trim();
- string metadescription = doc.Get<string>(i, "metadescription").Trim();
- string frontpagetext = doc.Get<string>(i, "frontpagetext").Trim();
- const string path = @"c:\Temp\Nortrade\News\adm_news_contentid_{0}.txt";
- var fileInfo = new FileInfo(string.Format(path, id));
- string mainBody = null;
- if (fileInfo.Exists)
- {
- Stream stream = fileInfo.OpenRead();
- var buffer = new byte[stream.Length];
- stream.Read(buffer, 0, buffer.Length);
- byte[] bytes = Encoding.Convert(Encoding.GetEncoding("ISO-8859-1"), Encoding.UTF8, buffer);
- mainBody = Encoding.UTF8.GetString(bytes);
- }
- List<string> keywords = keywordsDoc.Data.Where(k => Convert.ToInt32(k["newsid"]) == id)
- .Select(k => k["keyword"].ToString().Trim()).ToList();
- var post = new Post
- {
- Description = string.IsNullOrEmpty(metadescription) ? null : metadescription,
- FrontpageSmallText = string.IsNullOrEmpty(frontpagetext) ? null : frontpagetext,
- InternalComment = string.IsNullOrEmpty(internalcomments) ? null : internalcomments,
- MainBody = string.IsNullOrEmpty(mainBody) ? null : mainBody,
- PageName = string.IsNullOrEmpty(header) ? "News" : header,
- StartPublish = datecreated,
- Keywords = keywords.Count > 0 ? string.Join(", ", keywords) : null
- };
- List<string> dummyCompanies = companiesDoc.Data.Where(c => Convert.ToInt32(c["newsid"]) == id)
- .Select(c => c["orgnr"].ToString().Trim()).ToList();
- foreach (string dummyCompany in dummyCompanies)
- {
- int organizationNumber;
- if (int.TryParse(dummyCompany, out organizationNumber))
- {
- Company company = entities.Companies.FirstOrDefault(c => c.OrganizationNumber == organizationNumber);
- if (company != null)
- {
- post.Companies.Add(company.CompanyId);
- }
- }
- }
- List<OrderedDictionary> dummySectors = sectorsDoc.Data.Where(k => Convert.ToInt32(k["newsid"]) == id).ToList();
- foreach (OrderedDictionary dummySector in dummySectors)
- {
- int sectorid = Convert.ToInt32(dummySector["sectorid"]);
- List<Sector> sectors = entities.Sectors.Where(s => s.Type == sectorid).ToList();
- foreach (Sector sector in sectors)
- {
- post.TradeSectors.Add(sector.SectorId);
- }
- }
- Post.CreateNews(post);
Add Comment
Please, Sign In to add comment