private static void AddMinutesToGrid(List <IRecord> minutes, MinuteRequest request)
        {
            string symbol = request.Symbol;


            foreach (IRecord rec in minutes)
            {
                if (cancelRequest)
                {
                    break;
                }

                var minute = (IMinute)rec;

                var record = minute as IIntradayRecord;
                var sym    = record != null ? record.Symbol : symbol;
                var bar    = new MinuteBar
                {
                    Close    = (decimal)(minute.Close * Data.PriceMultiplier),
                    High     = (decimal)(minute.High * Data.PriceMultiplier),
                    Interval = request.Interval,
                    Low      = (decimal)(minute.Low * Data.PriceMultiplier),
                    Open     = (decimal)(minute.Open * Data.PriceMultiplier),
                    Symbol   = sym,
                    Volume   = minute.Volume,
                    Time     = minute.Timestamp
                };


                Data.MinuteBars.Add(bar);
            }
        }
        private static Request AssembleRequest(string symbol, int minutes, int maxrecords)
        {
            Request request = null;

            //if (minutes == 5)
            //{
            //    maxrecords = 100;
            //}
            request = new MinuteRequest();

            if (string.IsNullOrEmpty(Server))
            {
                // Find out who the server is through the Connection object
                Connection.Username = Core.Username;
                Connection.Password = Core.Password;

                Connection.RefreshUserInfo();
            }
            else
            {
                request.Username = Core.Username;
                request.Password = Core.Password;
                request.Server   = Server;
            }

            request.Symbol = symbol;
            ((MinuteRequest)request).Interval = (short)minutes;

            request.End = DateTime.Now.AddHours(-7).AddMinutes(-minutes);


            request.DownloadFormat = (DownloadFormat)Enum.Parse(typeof(DownloadFormat), Fileformat);

            request.ServerBufferSize = 0;
            request.GZip             = Gzip;
            request.Deflate          = Compression;

            request.MaxRecords = maxrecords;


            request.SortOrder =
                (SortOrder)Enum.Parse(
                    typeof(SortOrder), "Ascending");

            request.Properties["normalizetimestamps"] = true;

            if (Async)
            {
                var batchSize = 0;
                request.BatchSize = batchSize;
                if (request.BatchSize > 0)
                {
                    request.BatchUnits =
                        (BatchUnits)Enum.Parse(typeof(BatchUnits), "Minutes");
                }
            }

            return(request);
        }