Hi,
Some questions:
Hi,
Thanks a lot.
Entities and DbContext: You can generate code-first entities using Visual Studio from an existing database (search web for it). Then you can modify them to derive from Entity class. Repositories: No need to create repositories since you can inject and use IRepository<TEntity> without creating a repository class (see <a class="postlink" href="http://www.aspnetboilerplate.com/Pages/Documents/EntityFramework-Integration#DocImplRepositories">http://www.aspnetboilerplate.com/Pages/ ... positories</a>).
ASP.NET Boilerplate is first designed for new application with empty databases rather than migrating existing databases or applications. ASP.NET Boilerplate is not a code generation tool. Also, in DDD, you should think carefully on Entities, DTOs and application layer. They are not things can be automatically generated (At least I think like that). Creating a repository, a DTO, CRUD application service and an entity for a database table is not DDD. Even it's possible, you will change a lot after creating. Yes, maybe we can create a tool to firstly creating these classes to help us. It may be a starting point. But there is no such a tool in this moment If you build such a tool, please share with us since a few people also asked this question before :).
Have a nice day.
Hi,
I published v0.5.8.1 to fix it. I just was not register email sender. Now, just inject IEmailSender or ISmtpEmailSender and use it. It will work if settings are correct.
Hi,
You should not try to reach HttpContext, css or js files from application services. It's presentation layer work. Just create MVC Controller or WebAPI Controller for that as usual.
Hi,
If these configurations are used on startup of the application, like connection strings, it's good to store them in the web.config (or app.config).
For rest of settings, ABP defines ISettingManager that is used to get and change values. If you are using module-zero, then use ISettingManager. But before you should define your settings. It's not documented yet, but you can see a running example: <a class="postlink" href="https://github.com/aspnetboilerplate/module-zero/tree/master/sample">https://github.com/aspnetboilerplate/mo ... ter/sample</a> See MySettingProvider for definitions and <a class="postlink" href="https://github.com/aspnetboilerplate/module-zero/blob/master/sample/ModuleZeroSampleProject.Application/Questions/QuestionAppService.cs#L40">https://github.com/aspnetboilerplate/mo ... ice.cs#L40</a> for usage.
If you are not using module-zero, you should implement setting store. Then you can inject and use ISettingManager.
Hi,
Yes, it is (<a class="postlink" href="http://www.martinfowler.com/bliki/AnemicDomainModel.html">http://www.martinfowler.com/bliki/Anemi ... Model.html</a>). But ABP does not force to anemic model. Maybe you're talking about sample projects. They are just simple samples those don't contain any significant business logic. You can implement full domain driven design using ABP. It provides a good infrastructure for that.
Yes, it's for SaaS scenarios. Thanks for the information sharing ;)
Hi,
I could not understand well. What that this module does? Is it open source? Can you share some codes.
Hi Mohamed,
There are three level of security we can provide in angular-side:
A hacker can overcome 1 and 2 by changing javascript code in the client. Nothing to do for that. But he can not call services. Thus, he can not see or change data. He see just only template of the page and it's nothing. This is the actual security.
Hi @etshei,
Thanks a lot. I hope you will use ABP much more :)
First of all, you are in the wrong way. Multi-tenancy is not for that. This should be done with Roles and you should check permissions instead of tenants. Tenancy is completely different topic. If you want to deploy project into one hosting and single database, and two or more hotel will use it, then the answer is multi-tenancy. Thus, every hotel will be it's own admin panel and users. But, that's not your case.
Define two roles: User and Admin. Define permissions to enter the pages. Then assign related permissions to roles. Then assign users to roles. Then check for permissions.
Maybe it's hard you for now since I haven't documented module-zero yet. I will document it soon when I finish fundamental parts. For now, you can check the sample application: <a class="postlink" href="https://github.com/aspnetboilerplate/module-zero/tree/master/sample">https://github.com/aspnetboilerplate/mo ... ter/sample</a> even it's angularjs, it may help you.
BTW, to get current user and tenant, inject IAbpSession (it's already injected if you derived from ApplicationService in application layer or AbpController in MVC) and get IAbpSession.UserId and IAbpSession.TenantId. Then you can inject IRepository<User> or IRepository<Tenant> and call Get(id) method.