private List <BestPricesViewModel> ExtractData(string stringWebpage) { List <BestPricesViewModel> result = new List <BestPricesViewModel>(); string[] stringTableRows = stringWebpage.Split(new string[] { "<tr>" }, StringSplitOptions.None); foreach (string stringTableRow in stringTableRows.Skip(2)) { try { BestPricesViewModel BestPrice = new BestPricesViewModel(); string[] stringCountryCode = stringTableRow.Split(new string[] { "banderas/", ".png" }, StringSplitOptions.None); BestPrice.CountryCode = int.Parse(stringCountryCode[1]); //string[] stringCountry = stringTableRow.Split(new string[] { "alt='", "' title" }, StringSplitOptions.None); //BestPrice.Country = stringCountry[1]; string[] stringDiv = stringTableRow.Split(new string[] { "<div>", "</div>", " cc" }, StringSplitOptions.None); BestPrice.Price = double.Parse(stringDiv[15]); BestPrice.Unit = int.Parse(stringDiv[4].Split(new string[] { "(" }, StringSplitOptions.None).First()); string[] stringNumber = stringDiv[4].Split(new string[] { "(", ")" }, StringSplitOptions.None); //int intOffersCount; if (stringNumber.Count() > 1) { BestPrice.OffersCount = int.Parse(stringNumber[1]); } else { BestPrice.OffersCount = 1; } CountryEntity CountryEntity = new DomainClasses.Entities.CountryEntity(); BestPrice.Country = CountryEntity.Countries.First(r => r.Id == BestPrice.CountryCode).NamePersian; //string stringFileStreamPath = "http://erepublikanalyzer.com/" + stringTableCot[5]; //using (System.IO.FileStream FileStream = new System.IO.FileStream(stringFileStreamPath,System.IO.FileMode.Open,System.IO.FileAccess.Read)) //{ // FileStream.Read(JobMarket.CountryFlag,0,System.Convert.ToInt32(FileStream.Length)); // FileStream.Close(); //} result.Add(BestPrice); } catch (Exception ex) { string test = ex.Message; } } return(result); }
private List <JobMarketViewModel> ExtractData(string stringWebpage) { List <JobMarketViewModel> result = new List <JobMarketViewModel>(); string[] stringTableRowSeprators = new string[] { "<tr>" }; string[] stringTableRows = stringWebpage.Split(stringTableRowSeprators, StringSplitOptions.None); foreach (string stringTableRow in stringTableRows.Skip(2)) { JobMarketViewModel JobMarket = new JobMarketViewModel(); string[] stringTableDivSeprators = new string[] { "<div>" }; string[] stringTableDiv = stringTableRow.Split(stringTableDivSeprators, StringSplitOptions.None); JobMarket.Employer = stringTableDiv[1].Split(new string[] { "</div>" }, StringSplitOptions.None).FirstOrDefault().Trim(); JobMarket.Salary = double.Parse(stringTableDiv[2].Split(new char[] { ' ' }).FirstOrDefault().Trim()); JobMarket.NetSalary = double.Parse(stringTableDiv[3].Split(new char[] { ' ' }).FirstOrDefault().Trim()); char[] stringTableCotSeprators = new char[] { '\'' }; string[] stringTableCot = stringTableRow.Split(stringTableCotSeprators, StringSplitOptions.None); JobMarket.CountryCode = int.Parse(stringTableCot[1].Split(new char[] { '/' }).Last()); //JobMarket.Country = stringTableCot[5]; CountryEntity CountryEntity = new DomainClasses.Entities.CountryEntity(); JobMarket.Country = CountryEntity.Countries.First(r => r.Id == JobMarket.CountryCode).NamePersian; //string stringFileStreamPath = "http://erepublikanalyzer.com/" + stringTableCot[5]; //using (System.IO.FileStream FileStream = new System.IO.FileStream(stringFileStreamPath,System.IO.FileMode.Open,System.IO.FileAccess.Read)) //{ // FileStream.Read(JobMarket.CountryFlag,0,System.Convert.ToInt32(FileStream.Length)); // FileStream.Close(); //} result.Add(JobMarket); } //JobMarketViewModel JobMarketTest = new JobMarketViewModel() { Country = "Iran", Employer = "Test", Link = "test", Salary = 49.00, NetSalary = 45.00 }; //result.Add(JobMarketTest); return(result); }