static public void Main() { // Configure API key authorization: api_key Configuration.Default.AddApiKey("x-api-key", ExampleConstants.AWS_API_KEY); var stockx = new StockXApi(); stockx.Configuration.BasePath = ExampleConstants.STOCKX_ENDPOINT; var login = new LoginRequest(ExampleConstants.STOCKX_USERNAME, ExampleConstants.STOCKX_PASSWORD); try { // Login and fetch the jwt header for authentication use in the request ApiResponse <LoginResponse> result = stockx.LoginWithHttpInfo(login); var jwt = result.Headers[ExampleConstants.JWT_HEADER]; stockx.Configuration.DefaultHeader["jwt-authorization"] = jwt; // Find a product with search var search = stockx.Search("Jordan Retro Black Cat"); // Lookup the product's data by its search id var firstResultStyle = search.Hits[0].StyleId; var productInfo = stockx.LookupProduct(firstResultStyle, "11"); // Get the market data (highest bids, lowest asks, etc) about the product var id = productInfo.Data[0].Id; var productUuid = productInfo.Data[0].Attributes.ProductUuid; var marketData = stockx.GetProductMarketData(id, productUuid); // Get the highest bid and increment it var highestBid = marketData.Market.HighestBid; highestBid++; // Create a portfolio item request with a higher bid var item = new PortfolioRequestPortfolioItem(); item.Amount = highestBid.ToString(); item.SkuUuid = "bae25b67-a721-4f57-ad5a-79973c7d0a5c"; item.MatchedWithDate = "2018-12-12T05:00:00+0000"; item.ExpiresAt = "2018-12-12T12:39:07+00:00"; var request = new PortfolioRequest(); request.PortfolioItem = item; request.Customer = result.Data.Customer; request.Timezone = "America/Detroit"; // Submit the bid var bidResp = stockx.NewPortfolioBid(request); Console.WriteLine(bidResp); } catch (Exception e) { Console.WriteLine(e.ToString()); Console.WriteLine("Exception when creating new highest bid: " + e.Message); } }
public async Task AddStock(PortfolioRequest payload) { var request = new HttpRequestMessage(HttpMethod.Post, $"/api/Portfolio/Stock"); request.Content = JsonContent.Create(payload); using var response = await _httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead); }
private async Task <CoinsVM> GenerateCoinsVM(PortfolioRequest request) { return(new CoinsVM((await GetCoinsBasedOnPortfolioId(request)).ToCoinDisplay(request.Currency)) { DisplayCurrency = request.Currency, ViewOtherUser = request.ViewOtherUser }); }
public async Task AddStock(PortfolioRequest request) { var dbItem = _mapper.Map <PortfolioEntity>(request); dbItem.StockId = Guid.NewGuid(); dbItem.Created = DateTimeOffset.Now; await _stocksRepository.AddStockItem(dbItem); }
public PortfolioResponse PortfolioInquiry(PortfolioRequest request) { PortfolioResponse response = new PortfolioResponse(); string requestMessage = request.Serialize(); MQAdapter mqAdapter = new MQAdapter(_adapter); string responseMessage = mqAdapter.SendMQRequestSync(requestMessage); response.DeSerialize(responseMessage); return(response); }
public async Task <PartialViewResult> GetAllCoinsFromPortfolio(PortfolioRequest request) { if (!CurrentUser.HasPortfolio(request.PortfolioID)) { return(GeneratePartialViewError(Lang.PortfolioNotFound)); } CoinsVM vm = await GenerateCoinsVM(request); return(PartialView("_FullCoins", vm)); }
private async Task <List <CryptoCoin> > GetCoinsBasedOnPortfolioId(PortfolioRequest request) { // Only let ViewPortfolio viewers allow getting that user's coins. Portfolio(public) would have been validated by this point. if (!request.ViewOtherUser && !CurrentUser.HasPortfolio(request.PortfolioID)) { return(new List <CryptoCoin>()); } List <CryptoCoin> coins = await CryptoLogic.GetAllUserCoinsByPortfolioIdAsync(request.PortfolioID); return(await UpdateCoinsCurrentPrice(coins, request.UseCombinedDisplay, request.Currency)); }
static public void Main() { // Configure API key authorization: api_key Configuration.Default.AddApiKey("x-api-key", ExampleConstants.AWS_API_KEY); var stockx = new StockXApi(); stockx.Configuration.BasePath = ExampleConstants.STOCKX_ENDPOINT; var login = new LoginRequest(ExampleConstants.STOCKX_USERNAME, ExampleConstants.STOCKX_PASSWORD); try { // Login and fetch the jwt header for authentication use in the request ApiResponse <LoginResponse> result = stockx.LoginWithHttpInfo(login); var jwt = result.Headers[ExampleConstants.JWT_HEADER]; stockx.Configuration.DefaultHeader["jwt-authorization"] = jwt; var item = new PortfolioRequestPortfolioItem(); item.Amount = "25"; item.SkuUuid = "bae25b67-a721-4f57-ad5a-79973c7d0a5c"; item.MatchedWithDate = "2018-12-12T05:00:00+0000"; item.ExpiresAt = "2018-12-12T12:39:07+00:00"; var request = new PortfolioRequest(); request.PortfolioItem = item; request.Customer = result.Data.Customer; request.Timezone = "America/Detroit"; // Create a new portfolio bid var bidResp = stockx.NewPortfolioBid(request); // Print the result of the bid call Console.WriteLine(bidResp); } catch (Exception e) { Console.WriteLine(e.ToString()); Console.WriteLine("Exception when calling StockXApi.NewPortfolioBid: " + e.Message); } }
protected virtual IActionResult Portfolio(PortfolioRequest portfolioRequest) { if (portfolioRequest == null || portfolioRequest.Distribution == null) { return(BadRequest()); } Auctus.DomainObjects.Portfolio.Portfolio portfolio; try { portfolio = PortfolioServices.CreatePortfolio(GetUser(), portfolioRequest.AdvisorId, portfolioRequest.Price, portfolioRequest.Name, portfolioRequest.Description, portfolioRequest.ProjectionValue, portfolioRequest.OptimisticProjection, portfolioRequest.PessimisticProjection, portfolioRequest.Distribution.ToDictionary(c => c.AssetId, c => c.Percentage)); } catch (ArgumentException ex) { return(BadRequest(new { error = ex.Message })); } return(Ok(new { id = portfolio.Id })); }
public IHttpActionResult PortfolioInquiry(string customerNo, string country, string currency) { DateTime startTime = DateTime.Now; string environment = System.Configuration.ConfigurationManager.AppSettings["Environment." + country]; EquationAdapter adapter = new EquationAdapter(); Dictionary <string, string> dictionary = this.AccountTypes(country); PortfolioRequest request = new PortfolioRequest(); request.TransactionHeader = new TransactionHeader(country, environment, "1", 1); request.CustomerNo = customerNo; request.Currency = currency; request.MarketSegment = "00"; request.ServicePackage = "00"; PortfolioResponse response = adapter.PortfolioInquiry(request); response.ResponseTime = DateTime.Now.Subtract(startTime).TotalMilliseconds; if (response.ResponseCode == Constants.Equation_Success) { foreach (Account account in response.Accounts) { if (dictionary.ContainsKey(account.Type)) { account.Description = dictionary[account.Type].ToString(); } else { account.Description = account.Type; } } return(Json(response)); } else { throw new HttpRequestException(response.ResponseDescription); } }
private async Task <PortfolioVM> GeneratePortfolioVM(PortfolioRequest request) { PortfolioVM vm = new PortfolioVM { ViewOtherUser = request.ViewOtherUser, ViewUser = request.ViewUser, Portfolios = request.ViewOtherUser ? request.ViewUser?.Portfolios : CurrentUser.Portfolios }; if (request.ViewOtherUser && request.ViewUser != null) { vm.SelectedPortfolio = request.PortfolioID = request.ViewUser.SelectedPortfolioID; vm.CoinsVM = await GenerateCoinsVM(request); } else if (CurrentUser.IsValidUser() || CurrentUser.IsDemoUser()) { request.PortfolioID = vm.Portfolios.FirstOrDefault(x => x.IsDefault)?.PortfolioId ?? vm.Portfolios.First().PortfolioId; vm.CoinsVM = await GenerateCoinsVM(request); } return(vm); }
public async Task <PartialViewResult> LoadPortfolioViewMode(PortfolioRequest request, string username, string portfolioName, bool coinsOnly = false) { if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(portfolioName)) { return(null); } request.ViewUser = new ViewUser { Username = username, PortfolioName = portfolioName, }; request.ViewUser.PortfolioName = Utilities.FormatPortfolioName(request.ViewUser.PortfolioName); request.ViewOtherUser = true; ResultsPair <ViewUser> viewUserResult = AuthorizationLogic.AuthorizeViewUser(request.ViewUser.Username, request.ViewUser.PortfolioName); if (!viewUserResult.Result.IsSuccess) { return(GeneratePartialViewError(viewUserResult.Result.Message)); } request.ViewUser = viewUserResult.Value; if (coinsOnly) { request.PortfolioID = request.ViewUser.SelectedPortfolioID; CoinsVM coinsVM = await GenerateCoinsVM(request); return(PartialView("_FullCoins", coinsVM)); } PortfolioVM vm = await GeneratePortfolioVM(request); return(PartialView("_Portfolio", vm)); }
public async Task <IActionResult> Stock(PortfolioRequest request) { await _portfolioProvider.AddStock(request); return(Ok()); }
public new IActionResult Portfolio([FromBody] PortfolioRequest portfolioRequest) { return(base.Portfolio(portfolioRequest)); }