Пример #1
0
        public async Task <ActionResult <OrderItem> > PostOrderItem(OrderItem order)
        {
            if (order == null)
            {
                throw new System.ArgumentNullException(nameof(order));
            }

            var cartItem = await _context.CartItems.FindAsync(order.CartItem.CartId);

            if (cartItem == null)
            {
                return(NotFound());
            }

            // Validate user
            var userId   = cartItem.UserId;
            var userName = cartItem.UserName;
            var password = cartItem.Password;

            // If validation fails, return bad request
            if (!CommonOperations.ValidateUser(userId, userName, password))
            {
                return(BadRequest());
            }

            order.CartItem = cartItem;
            order.Status   = "inprogress";

            _context.OrderItems.Add(order);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetOrderItem), new { id = order.OrderId }, order));
        }
Пример #2
0
        public async Task <ActionResult <CartItem> > PostCartItem(CartItem cart)
        {
            if (cart == null)
            {
                throw new System.ArgumentNullException(nameof(cart));
            }
            else if (cart.BookItems == null)
            {
                throw new System.ArgumentNullException(nameof(cart.BookItems));
            }

            // Validate user
            var userId   = cart.UserId;
            var userName = cart.UserName;
            var password = cart.Password;

            // If validation fails, return bad request
            if (!CommonOperations.ValidateUser(userId, userName, password))
            {
                return(BadRequest());
            }

            // Retrieving all books from cart
            ICollection <BookItem> books = await CommonOperations.ExtractBooks(cart, _context);

            cart.BookItems = books;

            // Setting the initial status
            cart.Status = "open";

            _context.CartItems.Add(cart);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetCartItem), new { id = cart.CartId }, cart));
        }
Пример #3
0
        public async Task <ActionResult <BookItem> > PostBookItem(BookItem book)
        {
            if (book == null)
            {
                throw new System.ArgumentNullException(nameof(book));
            }

            _context.BookItems.Add(book);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetBookItem), new { id = book.BookId }, book));
        }
Пример #4
0
        public async Task <ActionResult <ReviewItem> > PostReviewItem(ReviewItem review)
        {
            if (review == null)
            {
                throw new System.ArgumentNullException(nameof(review));
            }

            var bookItem = await _context.BookItems.FindAsync(review.BookItem.BookId);

            if (bookItem == null)
            {
                return(NotFound());
            }

            review.BookItem = bookItem;

            _context.ReviewItems.Add(review);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetReviewItem), new { id = review.ReviewId }, review));
        }
Пример #5
0
        public async Task <ActionResult <DeliveryItem> > PostDeliveryItem(DeliveryItem delivery)
        {
            if (delivery == null)
            {
                throw new System.ArgumentNullException(nameof(delivery));
            }
            else if (delivery.OrderItems == null)
            {
                throw new System.ArgumentNullException(nameof(delivery.OrderItems));
            }

            // Retrieving all orders from delivery
            ICollection <OrderItem> orders = await CommonOperations.ExtractOrders(delivery, _context);

            delivery.OrderItems = orders;

            delivery.Status = "created";

            _context.DeliveryItems.Add(delivery);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetDeliveryItem), new { id = delivery.DeliveryId }, delivery));
        }