Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add new tables to NOPCommerce v2.4

I am new to NopCommerce v2.4 and wondering where do I write my code (by creating new model in admin or nop.web section)

like image 939
user1299582 Avatar asked Mar 29 '12 01:03

user1299582


1 Answers

I spent plenty of time for delving into this problem' depths. I can summarize the solution as follows:

  1. Create The Entity Class (e.g Entity.cs)

    Path : Nop/Core/Domain/Entity.cs

  2. Create The Mapping Class (e.g EntityMap.cs)

    Path : Nop/Data/Mapping/EntityMap.cs

  3. Create a Model for MVC (e.g EntityModel.cs)

    Path : Nop/Admin/Models/EntityModel.cs OR Nop/Web/Models/EntityModel.cs

  4. Create a validator for model (e.g EntityValidator.cs)

    Path : Nop/Admin/Validators/EntityValidator.cs OR Nop/Web/Validators/EntityValidator.cs

  5. Create A Mapping Configuration On AutoMapperStartupTask.cs for Entity and Model

    Path : Nop/Admin/Infrastructure OR Nop/Web/Infrastructure

  6. Apply Mapping between Model and Entity on MappingExtensions.cs

    Path : Nop/Admin OR Nop/Web

  7. Create a service class and service interface (e.g EntityService.cs , IEntityService.cs)

    Path : Nop/Services/EntityService.cs AND Nop/Services/IEntityService.cs

  8. Register service for dependency injection

    Path : Nop/Web/Framework/DependencyRegistrar.cs

  9. Finally Create Controller and View for given model

as Nop Commerce uses the very first release of MVC3, database migration is not supported and you must make changes to database tables by hand. Because MVC code-first must drop and recreate your database for reflecting changes to your database.

If you want to get to more detail in any step, let me know - I can describe each step in detail. Hope this helps.

like image 100
Behnam Esmaili Avatar answered Oct 14 '22 06:10

Behnam Esmaili