2022-10-02 09:50:42 -07:00

49 lines
1.5 KiB
C#

using Church.Net.DAL.EF;
using Church.Net.Utility;
using System.Collections.Generic;
using System.Threading.Tasks;
using System;
namespace WebAPI.Logics.Interface
{
public interface ICrudLogic<T>
{
T First(Func<T, bool> filter = null);
T GetById(string Id);
IEnumerable<T> GetAll(Func<T, bool> filter = null);
//IEnumerable<T> GetAllById(IEnumerable<string> Ids);
int Create(T entity);
Task<int> CreateAsync(T entity);
//string CreateReturnId(T entity);
int CreateOrUpdate(T entity, out string id);
int CreateOrUpdateAll(IEnumerable<T> entities);
int Update(T entity);
int CreateDone(T entity);
int UpdateDone(T entity);
int UpdateRange(IEnumerable<T> entities);
int Delete(T obj);
int Delete(Func<T, bool> filter = null);
bool CheckExist(T obj);
}
public interface ICombinedKeyCrudLogic<T>
{
T First(Func<T, bool> filter = null);
T GetById(IEnumerable<string> combinedKeyIds);
IEnumerable<T> GetAll(Func<T, bool> filter = null);
int Create(T entity);
Task<int> CreateAsync(T entity);
int CreateOrUpdate(T entity);
int Update(T entity);
void CreateDone(T entity);
void UpdateDone(T entity);
int UpdateRange(IEnumerable<T> entities);
int Delete(T obj);
int Delete(IEnumerable<string> combinedKeyIds);
int Delete(Func<T, bool> filter);
bool CheckExist(T obj);
}
}