using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Threading.Tasks; namespace Tiobon.Core.Domain { public interface IBaseCRUDVM where TModel : class { IEnumerable Get(); TModel Get(Expression> express = null); TModel GetById(object id); Task GetByIdAsync(object id); void DoAdd(TModel model); Task DoAddAsync(TModel model); void DoDelete(object id); Task DoDeleteAsync(Guid id, Guid? updateById = null); void DoRealDelete(object id); Task DoRealDeleteAsync(object id); void DoUpdate(TModel model); Task DoUpdateAsync(TModel model); Task GetAsync(Expression> express); } }