Beispiel #1
0
        private static void CompressRom_new(Stream rom, DmaData dmadata, List <int> exclusions, Stream sw)
        {
            BinaryReader br     = new BinaryReader(rom);
            MemoryStream outRom = new MemoryStream(0x200_0000);

            List <FileRecord> newDmaTable = new List <FileRecord>();

            Console.WriteLine();

            int cur = 0;

            for (int i = 0; i < dmadata.Table.Count; i++)
            {
                FileRecord record = dmadata.Table[i];
                if (record.VRom.End == 0)
                {
                    var r = new FileRecord(new FileAddress(), new FileAddress());
                    newDmaTable.Add(r);
                    break;
                }

                br.BaseStream.Position = record.Rom.Start;

                byte[]      data = br.ReadBytes(record.VRom.Size);
                int         dstsize;
                FileAddress physical;
                if (!exclusions.Contains(i))
                {
                    dstsize  = Yaz.Encode(data, data.Length, outRom);
                    dstsize  = Align.To16(dstsize);
                    physical = new FileAddress(cur, cur + dstsize);
                }
                else
                {
                    dstsize = data.Length;
                    dstsize = Align.To16(dstsize);

                    outRom.Write(data, 0, data.Length);
                    physical = new FileAddress(cur, 0);
                    exclusions.Remove(i);
                }
                var newRec = new FileRecord(record.VRom, physical);
                newDmaTable.Add(newRec);

                cur            += dstsize;
                outRom.Position = cur;
            }
            br.Close();
            WriteFileTable(outRom, dmadata.Address.VRom, newDmaTable);
            CRC.Write(outRom);
            outRom.Position = 0;
            outRom.CopyTo(sw);
        }
Beispiel #2
0
        public static void CompressRom(Stream rom, RomVersion version, List <int> exclusions, Stream sw)
        {
            DmaData dmadata = new DmaData(rom, version);

            CompressRom_new(rom, dmadata, exclusions, sw);
        }
Beispiel #3
0
        private DmaData GetAllFile(string filePath, string ltp, string closedPrice, int day)
        {
            List <KeyData> objList = new List <KeyData>();
            DmaData        objDMA  = new DmaData();

            string[] allLines = File.ReadAllLines(filePath);

            //string[] allLines = File.ReadAllLines(@"C:\Users\TadivakaV\Downloads\01-07-2016-TO-30-06-2017DRREDDYALLN.csv");

            var query = from line in allLines
                        let data = line.Split(',')
                                   select new
            {
                Symbol              = data[0],
                Series              = data[1],
                Date                = data[2],
                PrevClose           = data[3],
                OpenPrice           = data[4],
                Highrice            = data[5],
                LowPrice            = data[6],
                LastPrice           = data[7],
                ClosePrice          = data[8],
                AveragePrice        = data[9],
                TotalTradedQuantity = data[10],
                Turnover            = data[11],
                NoOfTrades          = data[12],
                DeliverableQty      = data[13],
                DlyQttoTradedQty    = data[14]
            };
            KeyData newObj = null;
            int     count  = 0;

            try
            {
                foreach (var s in query)
                {
                    try
                    {
                        if (count > 0 && s.Series.ToString().Replace("\"", "").Trim() == "EQ")
                        {
                            newObj            = new KeyData();
                            newObj.SourceName = s.Symbol.ToString().Replace("\"", "").Trim();
                            string   iDate = s.Date.ToString().Replace("\"", "").Trim();
                            DateTime oDate = DateTime.Parse(iDate);
                            newObj.Date        = oDate;
                            newObj.ClosedPrice = s.ClosePrice.ToString().Replace("\"", "").Trim();
                            objList.Add(newObj);
                        }
                        count++;
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
            catch (Exception ex)
            {
            }
            objList = objList.OrderByDescending(o => o.Date).ToList();

            if (ltp == "MASTERDATAREFRESH")
            {
                ltp            = objList[day - 1].ClosedPrice;
                objDMA.LTPDate = objList[day - 1].Date;
                objList.RemoveRange(0, day);
            }
            else
            {
                DateTime time1       = DateTime.Now;
                string   currentDate = time1.Day + "-" + time1.Month + "-" + time1.Year;
                string   searchDate1 = time1.ToString().Replace("\"", "").Trim();
                DateTime oDate       = DateTime.Parse(searchDate1);
                objDMA.LTPDate = oDate;
            }

            KeyData keyData = new KeyData();

            keyData.ClosedPrice = (closedPrice == "0.00") ? ltp : closedPrice;
            objList.Insert(0, keyData);

            objDMA.FiveDMA       = CalcAvg(objList, 5).ToString();
            objDMA.TenDMA        = CalcAvg(objList, 10).ToString();
            objDMA.TwentyDMA     = CalcAvg(objList, 20).ToString();
            objDMA.ThirtyDMA     = CalcAvg(objList, 30).ToString();
            objDMA.FiftyDMA      = CalcAvg(objList, 50).ToString();
            objDMA.HundredDMA    = CalcAvg(objList, 150).ToString(); //HundredDMA actually its 150 day moving average
            objDMA.TwoHundredDMA = CalcAvg(objList, 200).ToString();
            objDMA.SourceName    = objList[1].SourceName;
            objDMA.LTP           = ltp;
            objDMA.ClosedPrice   = closedPrice;
            objDMA.FileName      = filePath;
            return(objDMA);
        }