private void ExcelDataToList() { try { var dsdata = ReadExcel(InputFile); #region FirstData CNSEExtractData = new NSEData(); CNSEExtractData.Time = dsdata.Rows[3][0].ToString(); CNSEExtractData.OI1 = dsdata.Rows[3][1].ToString(); CNSEExtractData.COI1 = dsdata.Rows[3][2].ToString(); CNSEExtractData.VOL1 = dsdata.Rows[3][3].ToString(); CNSEExtractData.IV1 = dsdata.Rows[3][4].ToString(); CNSEExtractData.LPT1 = dsdata.Rows[3][5].ToString(); CNSEExtractData.NetC1 = dsdata.Rows[3][6].ToString(); CNSEExtractData.BIDQty1 = dsdata.Rows[3][7].ToString(); CNSEExtractData.BIDPrice1 = dsdata.Rows[3][8].ToString(); CNSEExtractData.Askqty1 = dsdata.Rows[3][9].ToString(); CNSEExtractData.ASKPrice1 = dsdata.Rows[3][10].ToString(); CNSEExtractData.StockPrice1 = dsdata.Rows[3][11].ToString(); CNSEExtractData.StockPrice2 = dsdata.Rows[3][12].ToString(); CNSEExtractData.BIDQty2 = dsdata.Rows[3][13].ToString(); CNSEExtractData.BIDPrice2 = dsdata.Rows[3][14].ToString(); CNSEExtractData.Askqty2 = dsdata.Rows[3][15].ToString(); CNSEExtractData.ASKPrice2 = dsdata.Rows[3][16].ToString(); CNSEExtractData.NetC2 = dsdata.Rows[3][17].ToString(); CNSEExtractData.LPT2 = dsdata.Rows[3][18].ToString(); CNSEExtractData.IV2 = dsdata.Rows[3][19].ToString(); CNSEExtractData.VOL2 = dsdata.Rows[3][20].ToString(); CNSEExtractData.COI2 = dsdata.Rows[3][21].ToString(); CNSEExtractData.OI2 = dsdata.Rows[3][22].ToString(); CNSEExtractData.NIFTY = dsdata.Rows[3][23].ToString(); CNSEExtractData.CLPTDecay = dsdata.Rows[3][24].ToString(); CNSEExtractData.CIVCHANG = dsdata.Rows[3][25].ToString(); CNSEExtractData.PLPTDecay = dsdata.Rows[3][26].ToString(); CNSEExtractData.PIVCHANG = dsdata.Rows[3][27].ToString(); CNSEExtractData.ACALL = dsdata.Rows[3][28].ToString(); CNSEExtractData.APUT = dsdata.Rows[3][29].ToString(); NSEDataList1.Add(CNSEExtractData); #endregion #region SecoundData PNSEExtractData = new NSEData(); PNSEExtractData.Time = dsdata.Rows[4][0].ToString(); PNSEExtractData.OI1 = dsdata.Rows[4][1].ToString(); PNSEExtractData.COI1 = dsdata.Rows[4][2].ToString(); PNSEExtractData.VOL1 = dsdata.Rows[4][3].ToString(); PNSEExtractData.IV1 = dsdata.Rows[4][4].ToString(); PNSEExtractData.LPT1 = dsdata.Rows[4][5].ToString(); PNSEExtractData.NetC1 = dsdata.Rows[4][6].ToString(); PNSEExtractData.BIDQty1 = dsdata.Rows[4][7].ToString(); PNSEExtractData.BIDPrice1 = dsdata.Rows[4][8].ToString(); PNSEExtractData.Askqty1 = dsdata.Rows[4][9].ToString(); PNSEExtractData.ASKPrice1 = dsdata.Rows[4][10].ToString(); PNSEExtractData.StockPrice1 = dsdata.Rows[4][11].ToString(); PNSEExtractData.StockPrice2 = dsdata.Rows[4][12].ToString(); PNSEExtractData.BIDQty2 = dsdata.Rows[4][13].ToString(); PNSEExtractData.BIDPrice2 = dsdata.Rows[4][14].ToString(); PNSEExtractData.Askqty2 = dsdata.Rows[4][15].ToString(); PNSEExtractData.ASKPrice2 = dsdata.Rows[4][16].ToString(); PNSEExtractData.NetC2 = dsdata.Rows[4][17].ToString(); PNSEExtractData.LPT2 = dsdata.Rows[4][18].ToString(); PNSEExtractData.IV2 = dsdata.Rows[4][19].ToString(); PNSEExtractData.VOL2 = dsdata.Rows[4][20].ToString(); PNSEExtractData.COI2 = dsdata.Rows[4][21].ToString(); PNSEExtractData.OI2 = dsdata.Rows[4][22].ToString(); PNSEExtractData.NIFTY = dsdata.Rows[4][23].ToString(); PNSEExtractData.CLPTDecay = dsdata.Rows[4][24].ToString(); PNSEExtractData.CIVCHANG = dsdata.Rows[4][25].ToString(); PNSEExtractData.PLPTDecay = dsdata.Rows[4][26].ToString(); PNSEExtractData.PIVCHANG = dsdata.Rows[4][27].ToString(); PNSEExtractData.ACALL = dsdata.Rows[4][28].ToString(); PNSEExtractData.APUT = dsdata.Rows[4][29].ToString(); NSEDataList2.Add(PNSEExtractData); #endregion } catch (Exception ex) { } finally { CNSEExtractData = null; PNSEExtractData = null; } }
public void ProcessDataFetchProcess() { try { LabelLog("Fetch process started " + DateTime.Now.ToString()); #region DataDownloadRegion DownloadNSEData(); #endregion CNSEExtractData = new NSEData(); PNSEExtractData = new NSEData(); valuestatus = new Status(); h1 = null; h1 = new HtmlAgilityPack.HtmlDocument(); h1.LoadHtml(DownloadedString); Nifty = string.Empty; NiftyTime = string.Empty; var Maindiv = h1.DocumentNode.SelectSingleNode("//div[@id='wrapper_btm']"); h2 = null; h2 = new HtmlAgilityPack.HtmlDocument(); h2.LoadHtml(Maindiv.InnerHtml.ToString()); var niftydata = h2.DocumentNode.SelectNodes("//table"); h3 = null; h3 = new HtmlAgilityPack.HtmlDocument(); h3.LoadHtml(niftydata[0].InnerHtml.ToString()); CNSEExtractData.NIFTY = h3.DocumentNode.SelectNodes("//span")[0].InnerText.ToString().Replace("Underlying Index:", "").Replace("NIFTY", "").Trim().ToString().Replace(" ", ""); CNSEExtractData.Time = h3.DocumentNode.SelectNodes("//span")[1].InnerText.ToString().Replace("As on ", "").Trim().ToString(); PNSEExtractData.NIFTY = CNSEExtractData.NIFTY; PNSEExtractData.Time = CNSEExtractData.Time; h2 = null; h2 = new HtmlAgilityPack.HtmlDocument(); h2.LoadHtml(h1.DocumentNode.SelectSingleNode("//table[@id='octable']").InnerHtml.ToString()); var trdata = h2.DocumentNode.SelectNodes("//tr"); for (int i = 2; i < trdata.Count(); i++) { h4 = null; h4 = new HtmlAgilityPack.HtmlDocument(); h4.LoadHtml(trdata[i].InnerHtml.ToString()); var td = h4.DocumentNode.SelectNodes("//td"); if (cs1 + ".00" == td[11].InnerText.ToString().Trim()) { valuestatus.cs1 = true; CNSEExtractData.OI1 = td[1].InnerText.ToString().Trim(); CNSEExtractData.COI1 = td[2].InnerText.ToString().Trim(); CNSEExtractData.VOL1 = td[3].InnerText.ToString().Trim(); CNSEExtractData.IV1 = td[4].InnerText.ToString().Trim(); CNSEExtractData.LPT1 = td[5].InnerText.ToString().Trim(); CNSEExtractData.NetC1 = td[6].InnerText.ToString().Trim(); CNSEExtractData.BIDQty1 = td[7].InnerText.ToString().Trim(); CNSEExtractData.BIDPrice1 = td[8].InnerText.ToString().Trim(); CNSEExtractData.Askqty1 = td[9].InnerText.ToString().Trim(); CNSEExtractData.ASKPrice1 = td[10].InnerText.ToString().Trim(); CNSEExtractData.StockPrice1 = cs1; //CNSEExtractData } else if (ps1 + ".00" == td[11].InnerText.ToString().Trim()) { valuestatus.ps1 = true; CNSEExtractData.BIDQty2 = td[12].InnerText.ToString().Trim(); CNSEExtractData.BIDPrice2 = td[13].InnerText.ToString().Trim(); CNSEExtractData.Askqty2 = td[14].InnerText.ToString().Trim(); CNSEExtractData.ASKPrice2 = td[15].InnerText.ToString().Trim(); CNSEExtractData.NetC2 = td[16].InnerText.ToString().Trim(); CNSEExtractData.LPT2 = td[17].InnerText.ToString().Trim(); CNSEExtractData.IV2 = td[18].InnerText.ToString().Trim(); CNSEExtractData.VOL2 = td[19].InnerText.ToString().Trim(); CNSEExtractData.COI2 = td[20].InnerText.ToString().Trim(); CNSEExtractData.OI2 = td[21].InnerText.ToString().Trim(); CNSEExtractData.StockPrice2 = ps1; //CNSEExtractData } else if (cs2 + ".00" == td[11].InnerText.ToString().Trim()) { valuestatus.cs2 = true; //PNSEExtractData PNSEExtractData.OI1 = td[1].InnerText.ToString().Trim(); PNSEExtractData.COI1 = td[2].InnerText.ToString().Trim(); PNSEExtractData.VOL1 = td[3].InnerText.ToString().Trim(); PNSEExtractData.IV1 = td[4].InnerText.ToString().Trim(); PNSEExtractData.LPT1 = td[5].InnerText.ToString().Trim(); PNSEExtractData.NetC1 = td[6].InnerText.ToString().Trim(); PNSEExtractData.BIDQty1 = td[7].InnerText.ToString().Trim(); PNSEExtractData.BIDPrice1 = td[8].InnerText.ToString().Trim(); PNSEExtractData.Askqty1 = td[9].InnerText.ToString().Trim(); PNSEExtractData.ASKPrice1 = td[10].InnerText.ToString().Trim(); PNSEExtractData.StockPrice1 = cs2; } else if (ps2 + ".00" == td[11].InnerText.ToString().Trim()) { valuestatus.ps2 = true; //PNSEExtractData PNSEExtractData.BIDQty2 = td[12].InnerText.ToString().Trim(); PNSEExtractData.BIDPrice2 = td[13].InnerText.ToString().Trim(); PNSEExtractData.Askqty2 = td[14].InnerText.ToString().Trim(); PNSEExtractData.ASKPrice2 = td[15].InnerText.ToString().Trim(); PNSEExtractData.NetC2 = td[16].InnerText.ToString().Trim(); PNSEExtractData.LPT2 = td[17].InnerText.ToString().Trim(); PNSEExtractData.IV2 = td[18].InnerText.ToString().Trim(); PNSEExtractData.VOL2 = td[19].InnerText.ToString().Trim(); PNSEExtractData.COI2 = td[20].InnerText.ToString().Trim(); PNSEExtractData.OI2 = td[21].InnerText.ToString().Trim(); PNSEExtractData.StockPrice2 = ps2; } if (valuestatus.cs1 && valuestatus.cs2 && valuestatus.ps1 && valuestatus.ps2) { break; } } Tcount = NSEDataList1.Count(); if (NSEDataList1.Count() > 2) { //CNSEExtractData try { int.TryParse(NSEDataList1[Tcount - 1].LPT1, out pval1); int.TryParse(CNSEExtractData.LPT1, out pval2); CNSEExtractData.CLPTDecay = (pval2 - pval1).ToString(); } catch { } try { int.TryParse(NSEDataList1[Tcount - 1].IV1, out pval1); int.TryParse(CNSEExtractData.IV1, out pval2); CNSEExtractData.CIVCHANG = ((pval2 - pval1) / pval2).ToString() + "%"; } catch { } try { int.TryParse(NSEDataList1[Tcount - 1].LPT2, out pval1); int.TryParse(CNSEExtractData.LPT2, out pval2); CNSEExtractData.PLPTDecay = (pval2 - pval1).ToString(); } catch { } try { int.TryParse(NSEDataList1[Tcount - 1].IV2, out pval1); int.TryParse(CNSEExtractData.IV2, out pval2); CNSEExtractData.CIVCHANG = ((pval2 - pval1) / pval2).ToString() + "%"; } catch { } } NSEDataList1.Add(CNSEExtractData); Tcount = NSEDataList2.Count(); if (NSEDataList2.Count() > 2) { try { int.TryParse(NSEDataList2[Tcount - 1].LPT1, out pval1); int.TryParse(PNSEExtractData.LPT1, out pval2); PNSEExtractData.CLPTDecay = (pval2 - pval1).ToString(); } catch { } try { int.TryParse(NSEDataList2[Tcount - 1].IV1, out pval1); int.TryParse(PNSEExtractData.IV1, out pval2); PNSEExtractData.CIVCHANG = ((pval2 - pval1) / pval2).ToString() + "%"; } catch { } try { int.TryParse(NSEDataList2[Tcount - 1].LPT2, out pval1); int.TryParse(PNSEExtractData.LPT2, out pval2); PNSEExtractData.PLPTDecay = (pval2 - pval1).ToString(); } catch { } try { int.TryParse(NSEDataList2[Tcount - 1].IV2, out pval1); int.TryParse(PNSEExtractData.IV2, out pval2); PNSEExtractData.CIVCHANG = ((pval2 - pval1) / pval2).ToString() + "%"; } catch { } //PNSEExtractData } NSEDataList2.Add(PNSEExtractData); CreateOutputAsync(); LabelLog("Fetch process stopped " + DateTime.Now.ToString()); } catch (Exception ex) { } finally { DownloadedString = string.Empty; h1 = null; h2 = null; h3 = null; h4 = null; PNSEExtractData = null; CNSEExtractData = null; } }