Example #1
0
        public bool ProductExists(int prodId, int amount)
        {
            var message = new SharedProductAvailableRequest()
            {
                ProductId = prodId,
                Quantity  = amount
            };

            var response = bus.Request <SharedProductAvailableRequest, SharedProductAvailableResponse>(message);

            return(response.ProductIsAvailable);
        }
        private SharedProductAvailableResponse CheckProductAvailable(SharedProductAvailableRequest request)
        {
            // A service scope is created to get an instance of the product repository.
            // When the service scope is disposed, the product repository instance will
            // also be disposed.
            using (var scope = provider.CreateScope())
            {
                var response     = new SharedProductAvailableResponse();
                var services     = scope.ServiceProvider;
                var productRepos = services.GetService <IRepository <SharedProducts> >();

                var product = productRepos.Get(request.ProductId);
                if (product.ItemsInStock >= request.Quantity && product.Id > 0)
                {
                    response.ProductIsAvailable = true;
                }
                else
                {
                    response.ProductIsAvailable = false;
                }
                return(response);
            }
        }