예제 #1
0
        public GetPositionsResponse Get()
        {
            try
            {
                var response = new GetPositionsResponse
                {
                    Code    = _responseSettings.Value.SuccessfulResponseCode,
                    Message = _responseSettings.Value.SuccessfulResponseMessage,
                };
                response.Positions = _positionDataManager.Get().Select(x => new Position
                {
                    Id          = x.Id,
                    Code        = x.Code,
                    Description = x.Description
                }).ToArray();

                return(response);
            }
            catch (Exception exception)
            {
                //TODO Log error
                return(new GetPositionsResponse
                {
                    Code = _responseSettings.Value.ErrorOccuredCode,
                    Message = _responseSettings.Value.ErrorOccuredMessage
                });
            }
        }
예제 #2
0
        public void GetOpenPositions()
        {
            GetOpenPositionsRequest request = new GetOpenPositionsRequest()
            {
                AccountId = this.AccountId
            };

            GetPositionsResponse response = _api.Execute <GetPositionsResponse>(request);

            Assert.IsTrue(response.LastTransactionId > 0);
        }
예제 #3
0
        public List <Position> GetPositions(Account account)
        {
            var response   = GetPositionsResponse.GetPositions(_tokenManager.GetAuthToken(), account.Name);
            var symbolIds  = response.Positions.Select(p => p.m_symbolId);
            var symbolData = GetSymbolsById(symbolIds).ToDictionary <SymbolData, ulong>(s => s.m_symbolId);

            return(response.Positions.Select(qp => new Position
            {
                Account = account,
                Security = _securityRepo.GetOrCreate(symbolData[qp.m_symbolId].m_listingExchange, StripExchangeFromSymbol(qp.m_symbol)),
                Shares = Convert.ToDecimal(qp.m_openQuantity)
            }).ToList());
        }
예제 #4
0
        public void GetOpenPositions()
        {
            GetPositionsResponse response = _api.GetOpenPositions(this.AccountId);

            Assert.IsTrue(response.LastTransactionId > 0);
        }
예제 #5
0
        public ActionResult GetAllPositions()
        {
            try
            {
                var token = Request.Headers["Token"];
                if (!CheckToken(token)) return ApiResponse.NotSignIn;
                var guid = new Guid(token);
                using (var context = new DriverDBContext())
                {
                    var user = context.Users.SingleOrDefault(x => x.Id == guid);
                    if (user == null)
                    {
                        return ApiResponse.UserNotExist;
                    }
                    if (user.ExpirationTime < DateTime.Now)
                    {
                        return ApiResponse.Expired;
                    }
                    var begin = DateTime.Now.AddDays(-1);
                    var data =
                        context.Positions.Where(
                            x => x.UploadTime >= begin&&(!string.IsNullOrEmpty(x.Address))).ToList();
                    var positions =
                        data.Select(
                            x =>
                                new GetPositionsResponse.Position()
                                {
                                    Latitude = x.Latitude,
                                    Longitude = x.Longitude,
                                    Address = x.Address,
                                    UploadTime = x.UploadTime
                                }).ToList();

                    var result = new GetPositionsResponse()
                    {
                        Positions = positions
                    };

                    return ApiResponse.OK(JsonConvert.SerializeObject(result));
                }
            }
            catch (Exception ex)
            {
                var logger = LogManager.GetLogger(typeof(HttpRequest));
                logger.Error("------------------------api/AllPositions error-------------------------------\r\n" + ex.Message);
                return ApiResponse.UnknownError;
            }
        }