/// <summary> /// Writes the specified <see cref="BulkEntity"/> to the file. /// </summary> /// <param name="entity">The bulk entity to write to the file.</param> /// <remarks> /// Bulk entities that are derived from <see cref="SingleRecordBulkEntity"/> will be written to a single row in the file. /// Bulk entities that are derived from <see cref="MultiRecordBulkEntity"/> will be written to multiple rows in the file. /// </remarks> public void WriteEntity(BulkEntity entity) { entity.WriteToStream(_bulkObjectWriter, false); }
/// <summary> /// Writes the specified <see cref="BulkEntity"/> to the file. /// </summary> /// <param name="entity">The bulk entity to write to the file.</param> /// <param name="excludeReadonlyData">Whether read only fields should be ignored.</param> /// <remarks> /// Bulk entities that are derived from <see cref="SingleRecordBulkEntity"/> will be written to a single row in the file. /// Bulk entities that are derived from <see cref="MultiRecordBulkEntity"/> will be written to multiple rows in the file. /// </remarks> public void WriteEntity(BulkEntity entity, bool excludeReadonlyData) { entity.WriteToStream(_bulkObjectWriter, excludeReadonlyData); }
public List <RBOEntity> RBO(string _defaultDate) { List <RBOEntity> objRBOEntityList = new List <RBOEntity>(); string _masterDatapathBasic = ConfigurationManager.AppSettings["MasterDatapathBasic"]; string _masterDatapathDMA = ConfigurationManager.AppSettings["MasterDatapathDMA"]; BulkData obj = new BulkData(); OBJtoXML xmltoObj = new OBJtoXML(); BulkEntity datafromXML = new BulkEntity(); datafromXML.BasicData = new List <CompanyDetails>(); int RBOcount = 173; string[] txtFiles = Directory.GetFiles(_masterDatapathBasic, "*.txt*", SearchOption.AllDirectories).OrderByDescending(d => new FileInfo(d).LastWriteTime).ToArray(); List <string> filesList = FilterDates(txtFiles.ToList(), _defaultDate); foreach (string currentFile in filesList) { if (checkIsValidFileForRBO(currentFile)) { datafromXML.BasicData.AddRange((List <CompanyDetails>)xmltoObj.CreateObject(datafromXML.BasicData, currentFile, false)); if (RBOcount == datafromXML.BasicData.Count) { break; } else { datafromXML.BasicData = new List <CompanyDetails>(); } } } //test to read data datafromXML.DMAData = new List <Rank>(); var txtDMAFiles = Directory.EnumerateFiles(_masterDatapathDMA, "*.txt").OrderByDescending(d => new FileInfo(d).LastWriteTime).ToArray(); foreach (string currentFile in txtDMAFiles) { if (checkIsValidFileForRBO(currentFile)) { datafromXML.DMAData.AddRange((List <Rank>)xmltoObj.CreateObject(datafromXML.DMAData, currentFile, false)); break; } } RBOEntity objEntity; foreach (var basicData in datafromXML.BasicData.Where(x => x.Code != null)) { objEntity = new RBOEntity(); objEntity.Code = basicData.Code; objEntity.LTPValue = basicData.lastPrice; objEntity.LTPDate = basicData.BasicSavedTimeStamp; objEntity.low52 = basicData.low52; objEntity.high52 = basicData.high52; objEntity.TotalVolume = basicData.TotalVolume; objEntity.CurrentPrevdayVolumePercentage = basicData.CurrentPrevdayVolumePercentage; objEntity.BOPercentage = Math.Round(((Convert.ToDecimal(objEntity.LTPValue) * 100) / Convert.ToDecimal(objEntity.high52)), 2).ToString(); var dmaData = datafromXML.DMAData.Where(x => x.SourceName == basicData.Code).ToList(); decimal rboValue = 0.0M; decimal ltpValue = 0.0M; int count = 0; foreach (var itemDma in dmaData) { if (itemDma.Day != "LTP") { rboValue = rboValue + Convert.ToDecimal(itemDma.Value); count++; } else { ltpValue = Convert.ToDecimal(itemDma.Value); } } decimal rboAvgValue = rboValue / count; decimal rboPercentage = ((ltpValue - rboAvgValue) * 100) / ltpValue; objEntity.RangeBoundPercentage = Math.Round(rboPercentage, 2).ToString(); objRBOEntityList.Add(objEntity); } return(objRBOEntityList); }
// Returns either the multiline entity itself or its child objects private IEnumerable<BulkEntity> ExtractChildEntitiesIfNeeded(BulkEntity entity) { var multilineEntity = entity as MultiRecordBulkEntity; // If the entity is a multiline entity and it has all child objects (delete all row was present), just return it if (multilineEntity == null || multilineEntity.AllChildrenArePresent) { yield return entity; } else { // If not all child objects are present (there was no delete all row and we only have part of the multiline entity), return child object individually foreach (var child in (multilineEntity.ChildEntities.SelectMany(ExtractChildEntitiesIfNeeded))) { yield return child; } } }
public string ProcessRequest(string id) { string message = "Sucussfully loaded data for "; string _nseUrlIo = ConfigurationManager.AppSettings["NseUrlIO"].Replace("&", "&"); string _nseUrlBasic = ConfigurationManager.AppSettings["NseUrlBasic"].Replace("&", "&"); string _nifty50 = ConfigurationManager.AppSettings["nifty50"].Replace("&", "&"); string _allFO = ConfigurationManager.AppSettings["AllFO"].Replace("&", "&"); string _indexOnly = ConfigurationManager.AppSettings["IndexOnly"].Replace("&", "&"); string _banknifty = ConfigurationManager.AppSettings["Banknifty"].Replace("&", "&"); string _expiryDate = ConfigurationManager.AppSettings["ExpiryDate"]; string _masterDMAExcelSource = ConfigurationManager.AppSettings["MasterDMAExcelSource"]; string _TodayCSVFile = ConfigurationManager.AppSettings["TodayCSVFile"]; string _masterDatapathOI = ConfigurationManager.AppSettings["MasterDatapathOI"]; string _masterDatapathBasic = ConfigurationManager.AppSettings["MasterDatapathBasic"]; string _masterDatapathDMA = ConfigurationManager.AppSettings["MasterDatapathDMA"]; BulkEntity objData = new BulkEntity(); Dma objDma = new Dma(); OBJtoXML xmltoObj = new OBJtoXML(); try { string _list = ""; if (id.Contains("IndexOnly")) { _list = _indexOnly; message = message + " IndexOnly,"; } else if (id.Contains("Banknifty")) { _list = _banknifty; message = message + " Banknifty,"; } else if (id.Contains("nifty50")) { _list = _nifty50; message = message + " nifty50,"; } else { _list = _allFO; message = message + " All listed items.,"; } foreach (string item in id.Split(',')) { if (item == "BasicData") { objData.BasicData = BasicData.ColletData(_nseUrlBasic, _list); message = message + " BasicData,"; xmltoObj.CreateXML(objData.BasicData, _masterDatapathBasic, "BasicData", false); List <KeyValue> objLtpPrices = GenerateLastPrices(objData.BasicData); objData.DMAData = objDma.GetDmaData(_masterDMAExcelSource, objLtpPrices, ""); message = message + " DMA,"; xmltoObj.CreateXML(objData.DMAData, _masterDatapathDMA, "DMAData", false); } if (item == "DMA") { //DMA moved to Basic data refresh, when you click referesh request for the //basic data then system refresh DMA data also //So, no need to saparate request for the DMA. //Presently signing off the DMA refresh option based on the data.csv file objData.DMAData = objDma.GetDmaData(_masterDMAExcelSource, _TodayCSVFile, ""); message = message + " DMA,"; xmltoObj.CreateXML(objData.DMAData, _masterDatapathDMA, "DMAData", false); } if (item == "OI") { IOData objOI = new IOData(); objData.OIData = objOI.LoadOIData(_nseUrlIo, _expiryDate, _list); message = message + " OI,"; xmltoObj.CreateXML(objData.OIData, _masterDatapathOI, "OIData", false); } } } catch (Exception ex) { message = ex.Message; } return(message); }
public List <CompanyDetails> GetBasicData(List <Weightage> weightageData, string companyCode, string path, string _defaultDate) { List <CompanyDetails> returnData = new List <CompanyDetails>(); if (companyCode == "Discounting") { BulkData obj = new BulkData(); // BulkEntity data = obj.AnalyzerData("BHARTIARTL"); ////test to read data OBJtoXML xmltoObj = new OBJtoXML(); BulkEntity datafromXML = new BulkEntity(); datafromXML.BasicData = new List <CompanyDetails>(); string[] txtFiles = Directory.GetFiles(path, "*.txt*", SearchOption.AllDirectories).OrderByDescending(d => new FileInfo(d).LastWriteTime).ToArray(); //var txtFiles = Directory.EnumerateFiles("D:\\MasterData\\Basic\\", " *.txt").OrderByDescending(x => x); List <string> filesList = FilterDates(txtFiles.ToList(), _defaultDate); foreach (string currentFile in filesList) { datafromXML.BasicData.AddRange((List <CompanyDetails>)xmltoObj.CreateObject(datafromXML.BasicData, currentFile, false)); break; } List <CompanyDetails> queryData = new List <CompanyDetails>(); returnData = datafromXML.BasicData.OrderBy(x => x.BasicSavedTimeStamp).ToList(); } else if (companyCode == "All") { BulkData obj = new BulkData(); // BulkEntity data = obj.AnalyzerData("BHARTIARTL"); ////test to read data OBJtoXML xmltoObj = new OBJtoXML(); BulkEntity datafromXML = new BulkEntity(); datafromXML.BasicData = new List <CompanyDetails>(); string[] txtFiles = Directory.GetFiles(path, "*.txt*", SearchOption.AllDirectories).OrderByDescending(d => new FileInfo(d).LastWriteTime).ToArray(); //var txtFiles = Directory.EnumerateFiles("D:\\MasterData\\Basic\\", " *.txt").OrderByDescending(x => x); List <string> filesList = FilterDates(txtFiles.ToList(), _defaultDate); foreach (string currentFile in filesList) { datafromXML.BasicData.AddRange((List <CompanyDetails>)xmltoObj.CreateObject(datafromXML.BasicData, currentFile, false)); } List <CompanyDetails> queryData = new List <CompanyDetails>(); queryData = datafromXML.BasicData.OrderBy(x => x.BasicSavedTimeStamp).ToList(); returnData = CalcFastMoversForAll(companyCode, queryData.Where(x => x.TotalVolume != null && x.totalBuyQuantity != "1" && x.totalSellQuantity != "1").ToList()); } else if (companyCode.Split(',')[0].ToUpper() == "BANKNIFTY") { BulkData obj = new BulkData(); OBJtoXML xmltoObj = new OBJtoXML(); BulkEntity datafromXML = new BulkEntity(); datafromXML.BasicData = new List <CompanyDetails>(); string[] txtFiles = Directory.GetFiles(path, "*.txt*", SearchOption.AllDirectories).OrderByDescending(d => new FileInfo(d).LastWriteTime).ToArray(); List <string> filesList = FilterDates(txtFiles.ToList(), _defaultDate); foreach (string currentFile in filesList) { datafromXML.BasicData.AddRange((List <CompanyDetails>)xmltoObj.CreateObject(datafromXML.BasicData, currentFile, false)); } List <CompanyDetails> queryData = new List <CompanyDetails>(); queryData = datafromXML.BasicData.OrderBy(x => x.BasicSavedTimeStamp).ToList(); returnData = CalcFastMoversForBankNifty(weightageData, companyCode, queryData.Where(x => x.TotalVolume != null && x.totalBuyQuantity != "1" && x.totalSellQuantity != "1").ToList()); } else { BulkData obj = new BulkData(); // BulkEntity data = obj.AnalyzerData("BHARTIARTL"); ////test to read data OBJtoXML xmltoObj = new OBJtoXML(); BulkEntity datafromXML = new BulkEntity(); datafromXML.BasicData = new List <CompanyDetails>(); string[] txtFiles = Directory.GetFiles(path, "*.txt*", SearchOption.AllDirectories).OrderByDescending(d => new FileInfo(d).LastWriteTime).ToArray(); List <string> filesList = FilterDates(txtFiles.ToList(), _defaultDate); foreach (string currentFile in filesList) { datafromXML.BasicData.AddRange((List <CompanyDetails>)xmltoObj.CreateObject(datafromXML.BasicData, currentFile, false)); } List <CompanyDetails> queryData = new List <CompanyDetails>(); queryData = datafromXML.BasicData.OrderBy(x => x.BasicSavedTimeStamp).ToList(); returnData = CalcFastMoversBasedOnCode(queryData.Where(x => x.TotalVolume != null && x.totalBuyQuantity != "1" && x.totalSellQuantity != "1" && x.Code == companyCode).ToList()); } return(returnData); }
public static string LoadBasicData(string id) { string message = "Sucussfully loaded data for "; string _nseUrlIo = ConfigurationManager.AppSettings["NseUrlIO"].Replace("&", "&"); string _nseUrlBasic = ConfigurationManager.AppSettings["NseUrlBasic"].Replace("&", "&"); string _nifty50 = ConfigurationManager.AppSettings["nifty50"].Replace("&", "&"); string _allFO = ConfigurationManager.AppSettings["AllFO"].Replace("&", "&"); string _indexOnly = ConfigurationManager.AppSettings["IndexOnly"].Replace("&", "&"); string _banknifty = ConfigurationManager.AppSettings["Banknifty"].Replace("&", "&"); string _expiryDate = ConfigurationManager.AppSettings["ExpiryDate"]; string _masterDMAExcelSource = ConfigurationManager.AppSettings["MasterDMAExcelSource"]; string _TodayCSVFile = ConfigurationManager.AppSettings["TodayCSVFile"]; string _masterDatapathOI = ConfigurationManager.AppSettings["MasterDatapathOI"]; string _masterDatapathBasic = ConfigurationManager.AppSettings["MasterDatapathBasic"]; string _masterDatapathDMA = ConfigurationManager.AppSettings["MasterDatapathDMA"]; BulkEntity objData = new BulkEntity(); Dma objDma = new Dma(); OBJtoXML xmltoObj = new OBJtoXML(); try { string _list = ""; if (id.Contains("IndexOnly")) { _list = _indexOnly; message = message + " IndexOnly,"; } else if (id.Contains("Banknifty")) { _list = _banknifty; message = message + " Banknifty,"; } else if (id.Contains("nifty50")) { _list = _nifty50; message = message + " nifty50,"; } else { _list = _allFO; message = message + " All listed items.,"; } foreach (string item in id.Split(',')) { if (item == "BasicData") { objData.BasicData = BasicData.ColletData(_nseUrlBasic, _list); message = message + " BasicData,"; xmltoObj.CreateXML(objData.BasicData, _masterDatapathBasic, "basicdata", true); //Need to implement this one when master data been ready //List<KeyValue> objLtpPrices = GenerateLastPrices(objData.BasicData); //objData.DMAData = objDma.GetDmaData(_masterDMAExcelSource, objLtpPrices, ""); //message = message + " DMA,"; //xmltoObj.CreateXML(objData.DMAData, _masterDatapathDMA, "dmadata", true); } if (item == "OI") { IOData objOI = new IOData(); objData.OIData = objOI.LoadOIData(_nseUrlIo, _expiryDate, _list); message = message + " OI,"; xmltoObj.CreateXML(objData.OIData, _masterDatapathOI, "openinterest", true); } } } catch (Exception ex) { message = ex.Message; } return(message); }