Skip to content
EasyLOB edited this page Sep 11, 2019 · 22 revisions

EasyLOB 2 Wiki is available at EasyLOB 2 Wiki

EasyLOB 1 Wiki is available at EasyLOB 1 Wiki

News and Blogs are available at EasyLOB Web Site

Contents

  1. EasyLOB 3
  2. Changes
  3. New Features
  4. GitHub Repositories

EasyLOB 3

EasyLOB 3 is the new version of EasyLOB.
Most of the changes are "internal", looking for technology update, performance and stability.
Unfornunatelly the code is not 100% compatible with EasyLOB-2 and manual migration ( mostly, using Regular Expressions ) is necessary.

Changes

  • Presentation Layer

    • Inspired by CQRS, DTOs is not used anymore for MVC, just Data Models and View Models
    • EasyLOB CSS was optimized and 100% moved to Data and View Profile ( .cshtml files do not need any direct customization for CSS )
    • EasyLOB JavaScript code was optimized
    • Dependency Injection was completely moved to DIHelper, allowing change the DI Container Library ( currently only Unity )
  • Data Layer

    • DataModel: Data Profile defined by Data Annotations and OnSetupProfile method
    • ViewModel: View Profile defined by OnSetupProfile method

New Features

  • AutoMapper

    • Migrated to AutoMapper Library, to convert Data Models, DTOs and View Models
  • DTOs

    • Inspired by CQRS, DTOs is not used ( but are still available if desired ) anymore for MVC, just Data Models and View Models
// Data

public abstract class ZViewBase<TEntityView, TEntity> : IZViewBase<TEntityView, TEntity>, IValidatableObject, IZValidatableObject
    where TEntityView : class, IZViewBase<TEntityView, TEntity>
    where TEntity : class, IZDataBase

public static partial class ZViewHelper<TEntityView, TEntity>
    where TEntityView : class, IZViewBase<TEntityView, TEntity>
    where TEntity : class, IZDataBase

public abstract class ZViewBase<TEntityView, TEntityDTO, TEntity> : IZViewBase<TEntityView, TEntityDTO, TEntity>, IValidatableObject, IZValidatableObject
    where TEntityView : class, IZViewBase<TEntityView, TEntityDTO, TEntity>
    where TEntityDTO : class, IZDTOBase<TEntityDTO, TEntity>
    where TEntity : class, IZDataBase

public static partial class ZViewHelper<TEntityView, TEntityDTO, TEntity>
    where TEntityView : class, IZViewBase<TEntityView, TEntityDTO, TEntity>
    where TEntityDTO : class, IZDTOBase<TEntityDTO, TEntity>
    where TEntity : class, IZDataBase

// Application

public class MyLOBGenericApplication<TEntity>
    : GenericApplication<TEntity>, IMyLOBGenericApplication<TEntity>
    where TEntity : class, IZDataBase

public class MyLOBGenericApplicationDTO<TEntityDTO, TEntity>
    : GenericApplicationDTO<TEntityDTO, TEntity>, IMyLOBGenericApplicationDTO<TEntityDTO, TEntity>
    where TEntityDTO : class, IZDTOBase<TEntityDTO, TEntity>
    where TEntity : class, IZDataBase

// Presentation

public class BaseApiControllerApplication<TEntity> : BaseApiController<TEntity>
    where TEntity : class, IZDataBase

public class BaseApiControllerApplicationDTO<TEntityDTO, TEntity> : BaseApiController<TEntity>
    where TEntityDTO : class, IZDTOBase<TEntityDTO, TEntity>
    where TEntity : class, IZDataBase
  • Environment

    • Created Environment.Desktop and Environment.Web Class Libraries
  • NuGet

    • NuGet Package using Entity Framework in Persistence Layer:

      EasyLOB 3 NuGet

  • NuGet DEMO Projects

    • Created MyLOB-NuGet-3 and Northwind-NuGet-3 DEMO Project with EasyLOB NuGet Package
  • Syncfusion NuGet

    • Moved to Syncfusion NuGet package at NuGet

GitHub Repositories

Clone this wiki locally