예제 #1
0
    public void DisplayTransaction()
    {
        foreach (GameObject gobject in trans)
        {
            Destroy(gobject);
        }

        loading.SetActive(true);
        GetHistory.GetUserHistory(
            (response) => {
            loading.SetActive(false);

            HistoryResponse historyResponse = (HistoryResponse)response;

            foreach (HistroyModel histroy in historyResponse.history)
            {
                GenerateHistroyItem(histroy);
            }
        },
            (statusCode, error) => {
            loading.SetActive(false);
            failed.SetActive(true);

            if (statusCode == StatusCodes.CODE_VALIDATION_ERROR)
            {
                ValidationError validationError = (ValidationError)error;
            }
            else
            {
                GenericError genericError = (GenericError)error;
            }
        }
            );
    }
예제 #2
0
        public static async Task <HistoryResponse> GetHistoryResult(Merchant merchant, DateTime startdate, DateTime enddate)
        {
            string          Url             = @"https://api.privatbank.ua/p24api/rest_fiz";
            string          request         = RequestBuilder.GetHistory(merchant, startdate, enddate);
            HttpContent     content         = new StringContent(request);
            HistoryResponse historyResponse = new HistoryResponse();

            using (var client = new HttpClient())
            {
                var result = await client.PostAsync(Url, content);

                if (!result.IsSuccessStatusCode)
                {
                    return new HistoryResponse
                           {
                               Credit            = 0,
                               Debet             = 0,
                               HistoryStatements = new List <Statement>(),
                               ErrorMes          = "Requester Error"
                           }
                }
                ;

                using (result)
                {
                    string response = await result.Content.ReadAsStringAsync();

                    return(historyResponse.Build(response));
                }
            }
        }
    }
예제 #3
0
    public static void GetUserHistory(ResponseCallback callback, ResponseFallback fallback)
    {
        HttpClient httpClient = new HttpClient();

        Request request = new Request(HttpClient.Method.GET, Route.GET_HISTORY_ROUTE);

        httpClient.Request(
            request,
            (statusCode, response) => {
            HistoryResponse historyResponse = Deserialize(response);

            callback(historyResponse);
        },
            (statusCode, error) => {
            if (statusCode == StatusCodes.CODE_VALIDATION_ERROR)
            {
                ValidationError validationError = ErrorDeserilizer.DeserializeValidationErrorData(error);
                fallback(statusCode, validationError);
            }
            else
            {
                GenericError genericError = ErrorDeserilizer.DeserializeGenericErrorData(error);
                fallback(statusCode, genericError);
            }
        }
            );
    }
예제 #4
0
        private void PushResponse(ResponseMessage aResponse)
        {
            if (aResponse is HistoryResponse)
            {
                HistoryResponse        aHistResponse = (HistoryResponse)aResponse;
                List <ResponseMessage> aList         = new List <ResponseMessage>();

                if (aHistResponse.Bars.Count > 1000)
                {
                    int i = 0;

                    while (i < aHistResponse.Bars.Count)
                    {
                        HistoryResponse resp = new HistoryResponse();
                        int             n    = Math.Min(1000, aHistResponse.Bars.Count - i);

                        resp.User = aHistResponse.User;
                        resp.ID   = aHistResponse.ID;
                        resp.Bars = new List <Bar>(aHistResponse.Bars.GetRange(i, n));
                        i        += n;
                        aList.Add(resp);
                    }
                }
                else
                {
                    aList.Add(aResponse);
                }
                ((HistoryResponse)aList[aList.Count - 1]).Tail = true;
                PushResponses(aResponse.User.ID, aList);
            }
            else
            {
                PushResponses(aResponse.User.ID, new ResponseMessage[] { aResponse });
            }
        }
예제 #5
0
        public IResponse createHistoryResultsResponseGMT(List <SaleEN> pSalesList, string pToken)
        {
            TransactionsResponse response = new TransactionsResponse();
            HistoryResponse      history  = new HistoryResponse();

            history.transactions = new List <Sale>();

            foreach (var item in pSalesList)
            {
                Sale sale = new Sale();
                sale.Amount          = item.Amount;
                sale.currency        = item.Currency;
                sale.date            = item.Date; //Server date on 'date' property in response for iOS clients
                sale.FormattedAmount = item.FormattedAmount;
                sale.id             = item.ID.ToString();
                sale.msisdn         = item.Msisdn;
                sale.Operator       = item.OperatorName;
                sale.paid           = item.Paid;
                sale.Pais           = item.CountryName;
                sale.salesman       = item.PersonName;
                sale.serverDateGMT  = item.ISOServerDate;
                sale.status         = (item.Success) ? "Exitosa" : "Fallida";
                sale.transaction_id = item.TransactionID;
                history.transactions.Add(sale);
            }

            response.History = history;
            response.count   = history.transactions.Count;
            response.token   = pToken;

            return(response);
        }
예제 #6
0
        public IResponse createHistoryResultsResponse(List <SaleEN> pSalesList, string pToken)
        {
            TransactionsResponse response = new TransactionsResponse();
            HistoryResponse      history  = new HistoryResponse();

            history.transactions = new List <Sale>();

            foreach (var item in pSalesList)
            {
                Sale sale = new Sale();
                sale.Amount          = item.Amount;
                sale.currency        = item.Currency;
                sale.date            = item.Date; //Date is actually server's date. Used by Android clients, as android sets displayed dates based on TimeZone set on device
                sale.FormattedAmount = item.FormattedAmount;
                sale.id             = item.ID.ToString();
                sale.msisdn         = item.Msisdn;
                sale.Operator       = item.OperatorName;
                sale.paid           = item.Paid;
                sale.Pais           = item.CountryName;
                sale.salesman       = item.PersonName;
                sale.serverDateGMT  = item.ISOServerDate;
                sale.status         = (item.Success) ? "Exitosa" : "Fallida";
                sale.transaction_id = item.TransactionID;
                history.transactions.Add(sale);
            }

            response.History = history;
            response.count   = history.transactions.Count;
            response.token   = pToken;

            return(response);
        }
        public static HistoryResponse History(HistoryRequest request)
        {
            var res = new HistoryResponse();

            try
            {
                var ActivityPeriod = string.IsNullOrEmpty(request.ActivityPeriod) ? DateTime.Now.ToString("MMMM yyyy") : Convert.ToDateTime(request.ActivityPeriod).ToString("MMMM yyyy");
                var response       = CardActivity(request);
                res.YearToDateFees = response.yearToDateFees;
                var transactionList = response.pendingActivities.cardTransactionHistory.AsEnumerable();
                var list            = new List <Transaction>();
                if (transactionList.Count() > 0)
                {
                    list = transactionList.Select(t => new Transaction
                    {
                        Merchant    = t.transTypeDesc,
                        Time        = t.transactionDateTime.ToString(),
                        Type        = t.totalAmount < 0 ? "Debit" : "Credit",
                        Amount      = t.totalAmount.ToString(),
                        Fee         = t.totalFees.ToString(),
                        Description = t.reference,
                        TransId     = t.sequence
                    }).ToList();
                }
                res.PendingTransactions = list.ToArray();
                return(res);
            }

            catch (Exception ex)
            {
                throw new Exception("History Error");
            }
        }
예제 #8
0
        public async Task <HistoryResponse> GetHistoricalData(HistoryQuery history)
        {
            NotifyFunctionCalled();

            await Task.Delay(100);

            var result = new HistoryResponse();

            DateTimeOffset localTime = DateTime.UtcNow;

            result.Parameters = new Dictionary <int, List <ValueInTime> >
            {
                { 34, new List <ValueInTime> {
                      new ValueInTime {
                          Time = localTime.ToUnixTimeSeconds() - 120, Value = 10
                      },
                      new ValueInTime {
                          Time = localTime.ToUnixTimeSeconds(), Value = 12
                      },
                  } },
                { 35, new List <ValueInTime> {
                      new ValueInTime {
                          Time = localTime.ToUnixTimeSeconds() - 60, Value = 14
                      },
                      new ValueInTime {
                          Time = localTime.ToUnixTimeSeconds(), Value = 20
                      },
                  } }
            };

            return(result);
        }
예제 #9
0
        public string TripHistory(string CUSTOMER, string or, string dest, string Token)
        {
            string airpref = "";
            string req     = JsonConvert.SerializeObject(new HistoryRequest
            {
                CUSTOMER_ID = CUSTOMER,
                FL_FROM     = or,
                FL_TO       = dest,
                TokenID     = Token
            });

            try
            {
                WebRequest request = WebRequest.Create("http://online-corporate-traveller.amadeus.com/live/V17_2_0/webapi/api/Common/GetCustomerFlightFromTo");
                request.Method      = "POST";
                request.ContentType = "application/json";
                Stream dataStream = request.GetRequestStream();

                // getJson(date, direct, type, quantity, origin, desti);
                // JObject abc = new SearchRequest().GetJson();

                byte[] byteArray = Encoding.UTF8.GetBytes(req);
                request.ContentLength = byteArray.Length;
                dataStream.Write(byteArray, 0, byteArray.Length);
                dataStream.Close();
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                using (Stream receiveStream = Flight_Availability.GetStreamForResponse(response))
                {
                    StreamReader sr = new StreamReader(receiveStream);
                    string       responseFromServer = sr.ReadToEnd();

                    HistoryResponse hr = JsonConvert.DeserializeObject <HistoryResponse>(responseFromServer);

                    if (hr != null && hr.lstGetCustomerFlightFromTo != null)
                    {
                        var results = from a in hr.lstGetCustomerFlightFromTo
                                      group a by a.FL_NO.ToString().Substring(0, 2) into newGroup
                                      select new { fl_no = newGroup.Key, fl_no_cnt = newGroup.Count() };

                        airpref = results.ToList().OrderByDescending(e => e.fl_no_cnt).FirstOrDefault().fl_no.ToString();
                    }
                    else
                    {
                        airpref = "AI";
                    }
                    //var results = hr.lstGetCustomerFlightFromTo.GroupBy(x => x.FL_NO);
                }
                dataStream.Close();
                response.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }



            return(airpref);
        }
 private void ProcessHistoryResponse(HistoryResponse histMessage)
 {
     AppendToLog("History Message");
     foreach (var bar in histMessage.Bars)
     {
         AppendToLog(string.Format("{0} O:{1} H:{2} L:{3} C:{4} V:{5}", bar.Date.ToString(), bar.Open, bar.High, bar.Low, bar.Close, bar.Volume));
     }
 }
 private void HistoryResponseCallback(HistoryResponse message)
 {
     //            tracer.ProcessBars("HistoryResponse " + message.ID, message.Bars);
     if (HistoryResponse != null)
     {
         HistoryResponse(this, new EventArgs <HistoryResponse>(message));
     }
 }
예제 #12
0
        public async Task <StoreResponse> GetStoreById(int id, Guid accountId, int role)
        {
            var history = await _unitOfWork.Repository <History>().GetAll().Where(x => x.StoreId == id).OrderByDescending(o => o.CreateDate).FirstOrDefaultAsync();

            HistoryResponse historyResponse = null;

            if (history != null)
            {
                historyResponse = new HistoryResponse()
                {
                    Id            = history.Id,
                    AccountId     = history.AccountId,
                    Action        = history.Action,
                    CreateDate    = history.CreateDate,
                    BuildingId    = history.BuildingId,
                    StoreId       = history.StoreId,
                    AccountName   = history.Account.Fullname,
                    ReferenceName = history.Building != null ? history.Building.Name : history.Store.Name,
                    Role          = history.Account.Role,
                    Geom          = history.Store.Geom?.AsText()
                };
            }

            var rs = await _unitOfWork.Repository <Store>().GetAll().Where(x => x.Id == id).Select(s => new StoreDetailResponse
            {
                Name                = s.Name,
                Address             = s.Address,
                FloorAreaName       = s.FloorArea == null ? null : s.FloorArea.Name,
                BrandName           = s.Brand != null ? s.Brand.Name : null,
                CreateDate          = s.CreateDate,
                Geom                = s.Geom,
                Id                  = s.Id,
                FloorAreaId         = s.FloorAreaId,
                BrandId             = s.BrandId,
                ImageUrl            = s.ImageUrl,
                Type                = s.Brand.Segment.Name,
                Status              = s.Status,
                ReferenceId         = s.ReferenceId,
                AbilityToServe      = s.AbilityToServe,
                TimeSlot            = s.TimeSlot,
                History             = historyResponse,
                StoreStreetSegments = new List <StoreStreetSegmentResponse>(s.StoreStreetSegments.Select(m => new StoreStreetSegmentResponse {
                    StoreId = m.StoreId, StreetSegmentId = m.StreetSegmentId
                }))
            }).FirstOrDefaultAsync();

            if (rs.Geom != null)
            {
                rs.SystemzoneId = await GetSystemzoneIdByStoreIntersect(rs.Geom);
            }
            if (role == 2)
            {
                var systemZone = await _unitOfWork.Repository <SystemZone>().GetAll().Where(x => x.AccountId == accountId).ToListAsync();

                rs.IsEditable = systemZone.Any() && systemZone.Any(c => c.Geom.Intersects(rs.Geom)) && (rs.Status == (int?)Status.Surveyed || rs.Status == (int?)Status.NeedSurvey);
            }
            return(rs);
        }
예제 #13
0
        private static HistoryResponse Mapper(SqlDataReader reader)
        {
            HistoryResponse br = new HistoryResponse();

            br.Id          = reader.GetInt32("Id");
            br.Date        = reader.GetDateTime("Date");
            br.Title       = reader.GetString("Title");
            br.Description = reader.GetString("Description");
            return(br);
        }
예제 #14
0
        public static string GetHistory(Merchant merchant, DateTime startdate, DateTime enddate)
        {
            HistoryResponse response   = Requester.GetHistoryResult(merchant, startdate, enddate).Result;
            string          debet      = response.Debet.ToString("C2", culture);
            string          credit     = response.Credit.ToString("C2", culture);
            string          statements = SortStatements(response.HistoryStatements);

            string history = $"Поступления = {credit} 💰 , траты = {debet} 💳"
                             + Environment.NewLine + statements + Environment.NewLine + response.ErrorMes;

            return(history);
        }
예제 #15
0
        private void btnHistory_Click(object sender, RoutedEventArgs e)
        {
            HistoryResponse response = BittrexApi.GetOrdersHistory("btc-trx");

            if (response.success)
            {
                coinsgrd.ItemsSource = response.result;
            }
            else
            {
                MessageBox.Show(response.message);
            }
        }
예제 #16
0
        public HistoryResponse Create(HistoryCreateRequest req)
        {
            int             id   = _history.Create(req);
            HistoryResponse resp = new HistoryResponse();

            resp.Id          = id;
            resp.Date        = req.Date;
            resp.Title       = req.Title;
            resp.Description = req.Description;
            resp.CreatedAt   = DateTime.Now;
            resp.UpdatedAt   = DateTime.Now;
            return(resp);
        }
예제 #17
0
    private static HistoryResponse Deserialize(object response)
    {
        var responseJson = (string)response;

        var data = fsJsonParser.Parse(responseJson);

        object deserialized = null;

        serializer.TryDeserialize(data, typeof(HistoryResponse), ref deserialized);

        HistoryResponse serializedData = deserialized as HistoryResponse;

        return(serializedData);
    }
예제 #18
0
        /// <summary>
        /// 获取修订列表内容
        /// </summary>
        /// <param name="bookId"></param>
        /// <returns></returns>
        public static string getHistory(string bookId)
        {
            string result        = string.Empty;
            string historyResult = HttpWorker.HttpGet(Global.HistoryApi, "bookId=" + bookId);

            if (historyResult == "error")
            {
                return(result);
            }
            HistoryResponse history = TranslationWorker.ConvertStringToEntity <HistoryResponse>(historyResult);

            result = string.Join(Environment.NewLine, history.data.list.Select(l => l.version));
            return(result);
        }
        private void HistoryProcess(MessageReceivedEventArgs message)
        {
            var historyReq = _serializerService.Deserialize <HistoryReq>(message.Message);

            List <MessageNotification> historyMessages = _messageArchivizer.Read(historyReq.Login,
                                                                                 ConfigurationService.ArchiveFileName);


            var historyResponse = new HistoryResponse
            {
                Messages = historyMessages
            };

            QueueServerService.SendData(message.TopicSender, ConfigurationService.ExchangeName, historyResponse);
        }
예제 #20
0
        public async Task <IActionResult> GetAsync([FromQuery] string userId, [FromQuery] LocalDate lastDate)
        {
            var firstDate = lastDate.PlusDays(-60);

            var allRequests = await this.requestRepository.GetRequests(firstDate, lastDate);

            var reservations = await this.reservationRepository.GetReservations(firstDate, lastDate);

            var captions = new DateInterval(firstDate, lastDate)
                           .Where(this.dateCalculator.IsWorkingDay)
                           .ToDictionary(d => d, d => GetCaption(d, userId, allRequests, reservations));

            var allUsersInterruptionDates = allRequests
                                            .Where(r => r.Status.IsInterrupted())
                                            .Select(r => r.Date)
                                            .Distinct()
                                            .ToArray();

            var history = CreateCalendar(captions);

            var contestedRequests = allRequests.Where(r =>
                                                      r.UserId == userId &&
                                                      allUsersInterruptionDates.Contains(r.Date) &&
                                                      !UserHasReservation(r, reservations))
                                    .ToArray();

            var allocatedContestedRequestsCount = contestedRequests.Count(
                r => r.Status == RequestStatus.Allocated);

            var totalContestedRequestsCount = contestedRequests.Count(r => r.Status.IsRequested());

            var allocationRatio = totalContestedRequestsCount == 0
                ? 0
                : (decimal)allocatedContestedRequestsCount / totalContestedRequestsCount;

            var response = new HistoryResponse(
                history,
                allocatedContestedRequestsCount: allocatedContestedRequestsCount,
                totalContestedRequestsCount: totalContestedRequestsCount,
                allocationRatio: allocationRatio);

            return(this.Ok(response));
        }
예제 #21
0
        private void GetDayHistoryCallback(GetHistoryCtx aCtx, List <Bar> aBars)
        {
            try
            {
                List <Bar> aList2 = new List <Bar>();

                aBars.ForEach(o =>
                {
                    WriteToLog_Info(String.Format("DateTime: {0}", o.Date.ToString("yy-MM-dd")), null);
                    o.Date = TimeZoneInfo.ConvertTimeToUtc(o.Date, aCtx.DataFeed.TimeZoneInfo);
                });
                aBars = aBars.OrderBy(o => o.Date).ToList();
                // response contains bars for a previous day
                if (aBars.Count > 0)
                {
                    DateTime aUTCFrom;
                    DateTime aUTCTo;

                    aUTCFrom = aBars[0].Date;
                    aUTCTo   = TimeZoneInfo.ConvertTimeToUtc(aCtx.ToF);
                }
                aCtx.Bars.AddRange(aList2.OrderByDescending(o => o.Date));

                // send response
                HistoryResponse aResponse = new HistoryResponse();

                aResponse.Bars = CalculateBars(aCtx, aCtx.Bars);
                aResponse.ID   = aCtx.Request.Selection.Id;
                aResponse.User = aCtx.Request.User;
                PushResponse(aResponse);
            }
            catch (Exception e)
            {
                WriteToLog("GetDayHistoryCallback", e);
                try
                {
                    aCtx.Request.User.SendError(new ApplicationException(String.Format("Historical request (ID='{0}')", aCtx.Request.Selection.Id)));
                }
                catch
                {
                }
            }
        }
예제 #22
0
        private void Get1MinHistoryCallback(GetHistoryCtx aCtx, List <Bar> aBars)
        {
            HistoryResponse aResponse = new HistoryResponse();

            var tZone = aCtx.DataFeed.TimeZoneInfo;

            /*foreach (var b in aBars)
             * {
             *  b.Date = TimeZoneInfo.ConvertTimeToUtc(b.Date, tZone);
             * }*/

            aResponse.Bars = aBars;
            aResponse.ID   = aCtx.Request.Selection.Id;
            aResponse.User = aCtx.Request.User;
            if (aCtx.Request.Selection.GenerateChartImage)
            {
                aResponse.ChartImageData = OHLCPainter.GenerateChartAsJsonString(aBars);
            }
            PushResponse(aResponse);
        }
예제 #23
0
        public HistoryResponse GetRecordById(int recordId)
        {
            HistoryResponse resp = new HistoryResponse();

            using (SqlConnection conn = new SqlConnection(ConnString))
            {
                using (SqlCommand cmd = new SqlCommand("TechHistory_SelectById", conn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@Id", recordId);
                    conn.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    if (reader.Read())
                    {
                        resp = Mapper(reader);
                    }
                    conn.Close();
                }
            }
            return(resp);
        }
예제 #24
0
        public List <HistoryResponse> GetAll()
        {
            List <HistoryResponse> resp = new List <HistoryResponse>();

            using (SqlConnection conn = new SqlConnection(ConnString))
            {
                using (SqlCommand cmd = new SqlCommand("TechHistory_SelectAll", conn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    conn.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        HistoryResponse br = Mapper(reader);
                        resp.Add(br);
                    }
                    conn.Close();
                }
            }
            return(resp);
        }
예제 #25
0
 void IWCFServiceCallback.MessageOut(ResponseMessage message)
 {
     if (message is LoginResponse)
     {
     }
     else if (message is DataFeedListResponse)
     {
         _DataFeeds = ((DataFeedListResponse)message).DataFeeds;
         InitDataFeedControl();
     }
     else if (message is NewTickResponse)
     {
         NewTickResponse tickMessage = (NewTickResponse)message;
         foreach (var tick in tickMessage.Tick)
         {
             txtLog.AppendText(string.Format("{0}:{1} - Price:{2}  Volume:{3}", tick.Symbol.DataFeed, tick.Symbol.Symbol, tick.Price, tick.Volume) + Environment.NewLine);
         }
         ScrollToEnd();
     }
     else if (message is HistoryResponse)
     {
         HistoryResponse histMessage = (HistoryResponse)message;
         txtLog.Text += "History Message" + Environment.NewLine;
         foreach (var bar in histMessage.Bars)
         {
             txtLog.AppendText(string.Format("{0} O:{1} H:{2} L:{3} C:{4} V:{5}", bar.Date.ToString(), bar.Open, bar.High, bar.Low, bar.Close, bar.Volume) + Environment.NewLine);
         }
         ScrollToEnd();
     }
     else if (message is HeartbeatResponse)
     {
     }
     else if (message is ErrorInfo)
     {
     }
     else
     {
     }
 }
예제 #26
0
        public override async Task RunHistory(Empty request, IServerStreamWriter <HistoryResponse> responseStream, ServerCallContext context)
        {
            var monarches = await File.ReadAllLinesAsync("Monarchs-of-England.txt");

            var processedMonarches = new List <string>();

            for (int i = 0; i < monarches.Length; i++)
            {
                await Task.Delay(TimeSpan.FromSeconds(0.2));

                processedMonarches.Add(monarches[i]);

                var progress = (i + 1) / (double)monarches.Length;

                await responseStream.WriteAsync(new HistoryResponse { Progress = Convert.ToInt32(progress * 100) });
            }

            var historyResponse = new HistoryResponse();

            historyResponse.Result = new HistoryResult();
            historyResponse.Result.Items.AddRange(processedMonarches);

            await responseStream.WriteAsync(historyResponse);
        }
예제 #27
0
        public HistoryResponse GetRecordById(int id)
        {
            HistoryResponse res = _history.GetRecordById(id);

            return(res);
        }
예제 #28
0
        public IActionResult CreateHistory([FromBody] HistoryCreateRequest req)
        {
            HistoryResponse resp = _historyRepository.Create(req);

            return(CreatedAtAction("GetHistoryById", new { historyId = resp.Id }, resp));
        }
 void IWCFServiceCallback.MessageOut(ResponseMessage message)
 {
     if (message is LoginResponse)
     {
     }
     else if (message is DataFeedListResponse)
     {
         _DataFeeds = ((DataFeedListResponse)message).DataFeeds;
         //InitDataFeedControl();
     }
     else if (message is NewTickResponse)
     {
         NewTickResponse tickMessage = (NewTickResponse)message;
         List <Quote>    QuoteList   = new List <Quote>();
         foreach (var tick in tickMessage.Tick)
         {
             Console.WriteLine(string.Format("{0}:{1} - Price:{2}  Volume:{3}", tick.Symbol.DataFeed, tick.Symbol.Symbol, tick.Price, tick.Volume));
             Quote quote = new Quote();
             quote.Symbol.Name = tick.Symbol.Symbol;
             quote.Timestamp   = DataProvider.GetCurrentTimestamp(tick.Date);
             quote.Price       = tick.Price;
             //lock (newQuote)
             //{
             //    //newTicks.Add(tick);
             //    newQuote.Add(quote);
             //}
             lock (lastQuotes)
             {
                 Quote tempquote;
                 if (!lastQuotes.TryGetValue(tick.Symbol.Symbol, out tempquote))
                 {
                     lastQuotes.Add(tick.Symbol.Symbol, quote);
                 }
                 else
                 {
                     if (tempquote.Timestamp < quote.Timestamp)
                     {
                         lastQuotes[tick.Symbol.Symbol] = quote;
                     }
                 }
             }
             QuoteList.Add(quote);
         }
         if (OnNewQuoteResponse != null && QuoteList != null)
         {
             OnNewQuoteResponse(QuoteList);
         }
     }
     else if (message is HistoryResponse)
     {
         HistoryResponse histMessage = (HistoryResponse)message;
         Console.WriteLine("History Message" + Environment.NewLine);
         foreach (var bar in histMessage.Bars)
         {
             Console.WriteLine(string.Format("{0} O:{1} H:{2} L:{3} C:{4} V:{5}", bar.Date.ToString(), bar.Open, bar.High, bar.Low, bar.Close, bar.Volume) + Environment.NewLine);
         }
         //if (OnHistoryResponse != null && histMessage != null)
         //{
         //    OnHistoryResponse(histMessage);
         //}
         //ScrollToEnd();
     }
     else if (message is HeartbeatResponse)
     {
     }
     else if (message is ErrorInfo)
     {
     }
     else
     {
     }
 }
예제 #30
0
 public HistoryEventArgs(HistoryResponse _response)
 {
     Response = _response;
 }