2

AngularJS と Entity Framework を使用して、ASP .NET Boilerplate Framework でアプリケーションを実行しています。

長い間、私はこのチュートリアルを行っていました ( http://www.codeproject.com/Articles/791740/Using-AngularJs-ASP-NET-MVC-Web-API-and-EntityFram#ArticleBuildWebApiServices )

そして、コントローラーの登録に関しては、WebApiModule を介して起動の兆候が見られません (コントローラー コンストラクターにブレークポイントを設定しましたが、応答しません)。私の目標は、角度コントローラーを備えたすべての製品を入手することです。

これは私の WebApiModule コードです:

{
    [DependsOn(typeof(AbpWebApiModule))]
    public class ShopWebApiModule : AbpModule
    {
        public override void Initialize()
        {
            IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());

            DynamicApiControllerBuilder
                .ForAll<IApplicationService>(Assembly.GetAssembly(typeof(ShopApplicationModule)), "shopsystem")
                .Build();
        }
    }
}

これは私の IProductAppServiceCode です:

{
    public interface IProductAppService:IApplicationService
    {
        GetProductsOutput GetProducts(GetProductsInput input);
        //void UpdateProduct(UpdateProductInput input);
        //void CreateProduct(CreateProductInput input);
    }
}

これは私の ProductAppServiceCode です:

{
    public class ProductAppService : ApplicationService, IProductAppService
    {
        private readonly IProductRepository _productRepository;

        public ProductAppService(IProductRepository productRepository)
        {
            _productRepository = productRepository;
        }

        public GetProductsOutput GetProducts(GetProductsInput input)
        {
            var products = _productRepository.GetKind(input.BookKind);
            return new GetProductsOutput
            {
                Products = Mapper.Map<List<ProductDto>>(products)
            };
        }


    }
}

これは私のAngular Controllerコードです:

(function () {
    var app = angular.module('app');

    var controllerId = 'shop.views.product.list';
    app.controller(controllerId, [
        '$scope', 'abp.services.shopsystem.product',
        function ($scope, productService) {
            var vm = this;


            vm.products = [];

            $scope.productType = 0;
            vm.refreshProducts();
            $scope.$watch('selectedProductType', function (value) {
                vm.refreshTasks();
            });

            vm.refreshProducts = function () {
                abp.ui.setBusy( //Set whole page busy until getTasks complete
                    null,
                    productService.getProducts({ //Call application service method directly from javascript
                    }).success(function (data) {
                        vm.tasks = data.tasks;
                    })
                );
            };

        }
    ]);
})();

私はこのフレームワークの初心者にすぎません。助けていただければ幸いです。

さらに情報を提供する必要がある場合は、それを言ってください。

4

1 に答える 1