Skip to content
EasyLOB edited this page Sep 13, 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

    • 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 and NLog ) in Persistence Layer:

      EasyLOB 3 NuGet

MyLOB.Shell
    EasyLOB
    EasyLOB.AuditTrail
    EasyLOB.Environment.Desktop
    EasyLOB.Extensions.Edm
    EasyLOB.Extensions.Mail
    EasyLOB.Security
MyLOB.Mvc
    EasyLOB
    EasyLOB.AuditTrail
    EasyLOB.Environment.Web
    EasyLOB.Extensions.Edm
    EasyLOB.Extensions.Ini
    EasyLOB.Extensions.Mail
    EasyLOB.Security
MyLOB.WebApi
    EasyLOB
    EasyLOB.AuditTrail
    EasyLOB.Environment.Web
    EasyLOB.Extensions.Edm
    EasyLOB.Extensions.Mail
    EasyLOB.Security
MyLOB.Application
    EasyLOB
    EasyLOB.AuditTrail
    EasyLOB.Extensions.Mail
    EasyLOB.Security
MyLOB.PersistenceEntityFramework
    EasyLOB       
MyLOB.Data
    EasyLOB
MyLOB    
    EasyLOB
  • 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