Jul 26, 2015

Fluent Validation for .NET

Now a days Validation are require thing for website building and prevent from anonymous attacker.

FuentValidation are recommended by many expert to use on existing and new website development stuff because its easy to used I mean its plug and play feature.

Personally I have experienced FuentValidation with NopCommerce, Web API, MVC and Asp.net applications.

How we get start with FluentValidation? Its very simple like other NuGet packages.

Install FluentValidation using Visual Studio Package Manger.


Install-Package FluentValidation

Please visit following link for more demo and document. so please go through demo and document so you will be get more idea how FluentValidation works.

https://github.com/JeremySkinner/FluentValidation

If you have any question about FluentValidation please write me. I will be very happy to write back to you.


How to add new table in NopCommerce

Hey guys I am back after a long time near about 2 year. And hope my previous blogs help's to anyway to my friends.

So I am going to starting with NopCommerce for how to add new table. This is the common question for newbie of NopCommerce.

Basically here sharing my experience with you guys that will help to other.

Step by step explanation for how to add new table on NopCommerce.

Going to explain based on the NopCommerce source code.  So first open source code on visual studio then follow the below steps (Also refer any existing classes/table).

1. Create the Entity class related to table name (e.g. Enity.cs)
      Path : Solution\Libraries\Nop.Core\Domain\Entity.cs

2. Create a Mapping class which bind class to Database table (e.g. EntityMap.cs)
      Path : Solution\Libraries\Nop.Data\Mapping\EntityMap.cs

3. Create a Model class for MVC (i.e. for Admin or Web) (e.g EntityModel.cs)
      Path : Solution\Presentation\Nop.Web\Models\EntityModel.cs (for Web)
      Path : Solution\Presentation\Nop.Admin\Models\EntityModel.cs (for Admin)

4. Create a validator for model (e.g. EntityValidator.cs)
      Path : Solution\Presentation\Nop.Web\Validators\EntityValidator.cs (for Web)
      Path : Solution\Presentation\Nop.Admin\Validators\EntityValidator.cs (for Admin)

5. Create A Mapping Configuration On AutoMapperStartupTask.cs for Entity and Model
      Path : Solution\Presentation\Nop.Admin\Infrastructure

       Mapping Model to Entity and Entity to Model

        Mapper.CreateMap<MyTestMyTestModel>()
        .ForMember(dest => dest.Name, mo => mo.Ignore())
        .ForMember(dest => dest.MyTestId, mo => mo.Ignore());
 
        Mapper.CreateMap<MyTestModelMyTest>()
        .ForMember(dest => dest.Name, mo => mo.Ignore())
        .ForMember(dest => dest.MyTestId, mo => mo.Ignore());


6. Apply Mapping between Model and Entity on MappingExtensions.cs
      Path : Solution\Presentation\Nop.Web\Extensions\(for Web)
      Path : Solution\Presentation\Nop.Admin\Extensions\(for Admin)

7. Create a service class and service interface (e.g EntityService.cs , IEntityService.cs)
     Path : Solution\Libraries\Nop.Services\IEntityService.cs
     Path : Solution\Libraries\Nop.Services\EntityService.cs

8. Final step to create Controller and View for given Model.

Hope you get basic idea how to create/add new table on NopCommerce system.