예제 #1
0
        public async Task <IActionResult> GetFromSold(int portfolioId)
        {
            int userId = Int32.Parse(this.User.FindFirstValue(ClaimTypes.NameIdentifier));

            var portfolio = await _portfolioServices.GetPortfolioByIdAsync(portfolioId);

            var orders = await _orderServices.GetOrders(portfolio.UserId, portfolioId, 0, null, null);

            if (await _ppServices.Exists(userId, portfolioId) || portfolio.UserId == userId)
            {
                return(StatusCode(200, orders));
            }
            else
            {
                orders = orders.OrderBy(x => x.Timestamp).ToList();
                orders = orders.Take(3).ToList();
                return(StatusCode(200, orders));
            }
        }
예제 #2
0
        public async Task <IActionResult> Post(int portfolioId)
        {
            int userId = Int32.Parse(this.User.FindFirstValue(ClaimTypes.NameIdentifier));

            var ppDTO = new PurchasedPortfolioDTO()
            {
                UserId      = userId,
                PortfolioId = portfolioId
            };

            if (ppDTO.PortfolioId == 0)
            {
                return(StatusCode(400, "portfolioId can not be 0"));
            }

            if (await _ppServices.Exists(ppDTO.UserId, ppDTO.PortfolioId))
            {
                return(StatusCode(400, "Entry already exists"));
            }

            var createdPurchase = await _ppServices.AddPurchasedPortfolio(ppDTO);

            return(StatusCode(200));
        }